A self-hostable media pipeline and MCP server for managing images and videos with transformation, transcoding, and metadata extraction capabilities
StreamKit MCP has 5 tools with basic naming and descriptions, but critical gaps in schema visibility, parameter documentation, and error handling. Tool names follow verb_noun convention (get_*, list_) which is good. However, the source code provided is incomplete, actual tool implementations in streamkit_mcp/tools/*.py are truncated or missing. Only media_tools.py shows a partial schema for get_media_links with 6 parameters (asset_id, width, height, format, quality, crop), all with descriptions. The other 4 tools' input schemas are not visible in the provided code. Tool descriptions are present but brief (34 - 194 chars, within baseline range). No output schemas are documented. Error handling is not evident. Parameter validation rules, enums, and constraints are absent. The code snippet cuts off mid-implementation ('build_media_lin'), preventing full assessment of actual tool behavior.
Return one public asset with playback metadata and recent jobs.
Return canonical player, manifest, thumbnail, and transform URLs for a public asset.
Summarize the StreamKit deployment and what this MCP server exposes.
Return the newest jobs for a public asset.
Return the newest public assets tracked by StreamKit.
Input schemas not visible for 4 of 5 tools (list_recent_assets, get_asset_details, list_asset_jobs, get_server_summary). Only get_media_links shows a partial schema. Cannot verify parameter types, descriptions, or constraints.
No output schemas documented for any tool. LLMs cannot infer what fields to expect or plan downstream tool calls. Baseline: 100% of A+ tools have documented return types.
No error handling guidance visible. Tools do not indicate what to do on failure (retry, ask user, fatal). Baseline: error responses must tell the LLM what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
list_recent_assets and list_asset_jobs lack pagination parameters (limit is present but no offset/cursor or total_count in response). Large result sets will blow context window.
Source code truncated mid-implementation (streamkit_mcp/tools/media_tools.py ends at 'build_media_lin'). Cannot verify actual tool behavior, validation, or error handling. Tool definitions may be inferred rather than directly visible.