- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
90 lines
11 KiB
Markdown
Executable File
90 lines
11 KiB
Markdown
Executable File
# MCP 2026-07-28 capability report
|
|
|
|
Last researched: 2026-08-27
|
|
|
|
This repository targets the current Model Context Protocol revision, `2026-07-28`, through the stable TypeScript SDK v2 packages. The same server factory continues to serve legacy MCP clients (`2024-10-07` through `2025-11-25`) so existing Premiere integrations do not need a flag-day upgrade.
|
|
|
|
## Implemented protocol surface
|
|
|
|
| Capability | Status | Repository behavior |
|
|
| --- | --- | --- |
|
|
| Stateless protocol core | Implemented | HTTP uses `createMcpHandler`; every modern request receives a fresh MCP server instance and can land on any process instance. |
|
|
| `server/discover` | Implemented | HTTP and stdio use the v2 serving entries and advertise `2026-07-28`; modern clients can probe before selecting an era. |
|
|
| Per-request `_meta` envelope | Implemented | Validated and exposed by the SDK on modern calls; no hidden MCP session state is required. |
|
|
| Dual-era serving | Implemented | One factory serves modern and legacy clients over both Streamable HTTP and stdio. For a stdio client that cannot complete `server/discover`, the explicit `PREMIERE_MCP_PROTOCOL_MODE=legacy` fallback serves the legacy initialization handshake only. |
|
|
| `MCP-Protocol-Version`, `Mcp-Method`, and `Mcp-Name` routing headers | Implemented | The modern HTTP entry validates required headers and agreement with the JSON-RPC body before dispatch. |
|
|
| `Mcp-Param-*` schema headers | Available | The v2 entry validates parameters declared with `x-mcp-header`; no current Premiere tool duplicates an argument into a routing header. |
|
|
| Cacheable list/read results | Implemented | `tools/list` is private for 30 seconds; `prompts/list` is public for 5 minutes; `resources/list` is private for 1 minute; live `resources/read` results are private and uncached. |
|
|
| Deterministic tool, prompt, and resource lists | Implemented | Registries are built in stable catalog order and v2 emits the modern cache fields. |
|
|
| `subscriptions/listen` | Implemented by serving entries | Modern change streams are handled by the v2 HTTP/stdio entries. The current registries are static during a process lifetime, so they do not emit application-driven list changes. |
|
|
| Multi Round-Trip Requests (MRTR) | SDK-ready | The server can return `input_required`, including elicitation, sampling, or roots requests. Current Premiere workflows use explicit preview/apply tools and do not yet require an interactive mid-call round trip. |
|
|
| Required result discriminators | Implemented by serving entries | SDK v2 emits `resultType: "complete"` for ordinary modern-era results and preserves the legacy codec for older clients. |
|
|
| Extension capability framework | Implemented | Discovery advertises `io.github.leancoderkavy/premiere-pro` with the protocol revision, transports, dual-era posture, and CEP/UXP bridge backends. |
|
|
| Cancellation | Implemented by serving entries | Modern HTTP cancellation closes the request response stream; stdio and legacy clients retain their era-appropriate cancellation behavior. Premiere host calls remain cooperatively cancellable only where the Adobe API exposes a safe cancellation point. |
|
|
| Progress notifications | Protocol-supported, not currently emitted | The serving entries accept request-scoped progress tokens. Existing Premiere tools return bounded final receipts and do not claim granular progress that the CEP/UXP host cannot prove. |
|
|
| OpenTelemetry trace context | Transport pass-through | SDK v2 preserves the standard `traceparent`, `tracestate`, and `baggage` `_meta` keys. Application telemetry remains privacy-bounded and does not record tool arguments, results, media names, or paths. |
|
|
| JSON Schema 2020-12 inputs and outputs | Implemented | Tool inputs use typed Zod schemas and every registered tool declares a validated output schema with structured content. No custom `x-mcp-header` parameters are currently required. |
|
|
| Structured tool results | Implemented | Every tool declares one output schema and returns stable `structuredContent` plus human-readable content; frame capture can also return an image block. |
|
|
| Tool annotations | Implemented | Read-only, destructive, idempotent, open-world, and title hints are derived per tool. |
|
|
| Resources | Implemented | Four static guidance resources and ten bounded, path-redacted live Premiere context resources are registered. |
|
|
| Prompts | Implemented | Eleven safety-oriented Premiere workflow prompts are registered with typed arguments. |
|
|
| Tool discovery controls | Implemented | Capability profiles remove unauthorized tools from `tools/list`; optional workflow packs reduce context without expanding authority. |
|
|
| Cursor pagination | Supported, not currently needed | The SDK accepts cursor-bearing list requests. The current bounded registries fit in one deterministic page and therefore return no `nextCursor`. |
|
|
| Resource templates | Not currently exposed | All current resources have stable, bounded URIs. A template would create no repository-fit benefit until an authorized parameterized resource family exists. |
|
|
| Completions | Not currently exposed | Current prompt arguments are free-form goals/constraints and resources are fixed URIs, so the server does not advertise low-value or path-leaking suggestions. |
|
|
| Resource subscriptions and list-change events | Available, currently quiescent | `subscriptions/listen` is served, but the registered catalogs are immutable for a process lifetime and live Premiere resources are read on demand. No false change events are emitted. |
|
|
| Embedded resources and resource links | Supported result types, selectively unused | The result codec supports them. Local Premiere artifacts are not converted into links until a contained, authorization-scoped artifact registry can guarantee access and expiry. |
|
|
| Text, image, audio, and binary content blocks | Partially used | Text and structured content are standard; verified frame capture may return image content. The server does not synthesize audio or expose arbitrary local binary blobs. |
|
|
|
|
## Deliberate boundaries
|
|
|
|
| Surface | Status | Reason |
|
|
| --- | --- | --- |
|
|
| Tasks extension (`io.modelcontextprotocol/tasks`) | Not implemented | Current bridge calls are bounded request/response operations. Advertising durable tasks without durable, authorization-scoped storage, TTL cleanup, cancellation, and result recovery would be misleading. |
|
|
| OAuth resource-server authorization | Implemented for trusted operators, externally provisioned | HTTP validates signed access tokens by exact issuer, canonical audience, lifetime, allowlisted subject, and scope and publishes RFC 9728 protected-resource metadata. A separately configured authorization server owns login, consent, token issuance, and MCP client registration; this repository does not issue tokens or route public users to their own desktops. |
|
|
| OAuth Client ID Metadata Documents | Authorization-server responsibility | The resource server advertises its configured authorization server. That external service must support the registration mechanism required by the connecting MCP clients; this repository does not claim to operate CIMD or client registration. |
|
|
| Enterprise Managed Authorization | Not implemented | No enterprise identity-policy provider is configured in this repository. |
|
|
| MCP Apps | Not implemented | Premiere UI is delivered through CEP/UXP, not an MCP App resource. |
|
|
| Skills over MCP | Experimental, not advertised | The repository ships client-specific local skills, but the Skills over MCP working group is still defining interoperable discovery and distribution. Local skill packaging is not claimed as protocol support. |
|
|
| Sampling, roots, and protocol logging capabilities | Not advertised | These legacy server/client capabilities are deprecated in `2026-07-28`. The server avoids introducing new dependencies on them; MRTR is the supported path if a future workflow needs client input. |
|
|
| Dynamic Client Registration | Not implemented | DCR is deprecated in the current protocol revision. |
|
|
| Server Card / `.well-known` discovery | Experimental roadmap item | The Server Card working group has not finalized a stable metadata contract. The existing MCP Registry manifest remains the public machine-readable discovery surface. |
|
|
|
|
## Complete 2026-07-28 change checklist
|
|
|
|
The release-specific implementation audit covers every normative change category in
|
|
the official changelog:
|
|
|
|
- **State and lifecycle:** no modern handshake, no protocol sessions, no
|
|
`Mcp-Session-Id`, per-request version/capability metadata, and `server/discover`.
|
|
- **Transport:** Streamable HTTP POST responses, no modern GET/SSE control channel,
|
|
no modern SSE resume IDs, validated `Mcp-Method`/`Mcp-Name`, and optional
|
|
`Mcp-Param-*` support through schema declarations.
|
|
- **Results and interactivity:** required result discriminators, MRTR-capable codecs,
|
|
request-scoped progress/cancellation, and `subscriptions/listen`.
|
|
- **Discovery and schemas:** deterministic lists, `ttlMs`/`cacheScope`, cursor-ready
|
|
list operations, JSON Schema 2020-12 inputs/outputs, annotations, and structured
|
|
content.
|
|
- **Extensions:** a declared Premiere extension plus explicit non-advertisement of
|
|
Tasks, MCP Apps, enterprise authorization, and experimental Skills/Server Card
|
|
surfaces that the product does not safely implement.
|
|
- **Authorization and deprecations:** HTTP supports either controlled operator-token
|
|
authentication or fail-closed OAuth resource-server validation and RFC 9728
|
|
discovery; login, consent, token issuance, and CIMD remain the configured external
|
|
authorization server's responsibility; new Roots, Sampling, Logging, DCR, or HTTP+SSE dependencies are not
|
|
introduced.
|
|
|
|
## Product capability surface
|
|
|
|
The MCP protocol upgrade does not manufacture new Adobe host APIs. The product surface remains the registered catalog reported by `get_capabilities`, with authority, backend, minimum Premiere version, support status, and verification boundary for every tool. CEP/ExtendScript is the production bridge; UXP remains capability-aware preview coverage where documented. Contract tests do not replace licensed-Premiere host evidence.
|
|
|
|
Call `get_capabilities` to retrieve the current machine-readable MCP protocol posture, cache policy, active tool packs, complete registered-tool report, bridge coverage, authority profile, and host-verification requirements.
|
|
|
|
## Authoritative research sources
|
|
|
|
- [MCP 2026-07-28 release](https://blog.modelcontextprotocol.io/posts/2026-07-28/)
|
|
- [MCP 2026-07-28 specification](https://modelcontextprotocol.io/specification/2026-07-28)
|
|
- [MCP 2026-07-28 changelog](https://modelcontextprotocol.io/specification/2026-07-28/changelog)
|
|
- [Official TypeScript SDK v2](https://github.com/modelcontextprotocol/typescript-sdk)
|
|
- [TypeScript SDK protocol-era guide](https://github.com/modelcontextprotocol/typescript-sdk/blob/main/docs/protocol-versions.md)
|