Skip to content

Conversation

@kvz
Copy link
Member

@kvz kvz commented Feb 10, 2026

This PR fixes and hardens the new MCP server card endpoint.

Changes

  • Align /.well-known/mcp/server-card.json payload with the current draft server-card shape (SEP-1649):
    • authentication.schemes is now a string array
    • capabilities.tools is now an object ({ listChanged: false })
    • tools now includes title + inputSchema
    • authentication.required is inferred from whether the server is configured with authKey + authSecret
  • Add coverage:
    • HTTP handler e2e tests for GET/HEAD/OPTIONS
    • Express router unit test
  • Add CORS + caching headers (Cache-Control, X-Content-Type-Options) to the server-card response.

Release

  • Includes a patch changeset for @transloadit/mcp-server.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 027fcf9415

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

endpoint,
},
authentication: {
required: !hasCredentials,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Report authentication as required when mcpToken is set

authentication.required is currently computed only from authKey/authSecret, but request authentication is actually enforced by mcpToken in createMcpRequestHandler (packages/mcp-server/src/http-request-handler.ts). In typical self-hosted setups that provide both Transloadit credentials and TRANSLOADIT_MCP_TOKEN, this emits required: false while /mcp still returns 401 without a bearer token, so discovery clients that trust the card will attempt unauthenticated connections and fail.

Useful? React with 👍 / 👎.

@kvz kvz merged commit e11f29f into main Feb 10, 2026
14 checks passed
@kvz kvz deleted the fix/mcp-server-card branch February 10, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant