Skip to content

Conversation

mariankrotil
Copy link
Contributor

@mariankrotil mariankrotil commented Sep 2, 2025

Add

PR title

Add ServerRuntimeConfig + runtime headers, expose transport in /info, require runtime_config in create_server

PR description (short)

  • Introduce ServerRuntimeConfig with transport and version metadata; pass it through ServerState.
  • Add request headers to all Keboola API calls via SessionStateMiddleware:
User-Agent: Keboola MCP Server/{version} app_env={env}
MCP-Server-Transport: {stdio|sse|streamable-http|http-compat}
MCP-Server-Versions: keboola-mcp-server/{x} mcp/{y} fastmcp/{z}
  • /info now returns serverTransport and library versions.
  • CLI constructs and passes runtime_config based on --transport.
  • BREAKING (library API): create_server(config, *, runtime_config, ...) now requires runtime_config.
  • Bump version to 1.20.4; tests updated.
  • Visibility: internal (not user-facing UI behavior).

release notes

  • Update README.md to cover branch support and transport instruction. Refactored into two section - Remote and Local Setup.
  • Introduced ServerRuntimeConfig and propagated runtime metadata (transport and versions).
  • All outgoing Keboola API calls include MCP-Server-Transport and MCP-Server-Versions headers; User-Agent retained.
  • /info endpoint includes serverTransport and library versions.
  • BREAKING for library consumers: create_server requires runtime_config.
  • Version bumped to 1.20.4.
  • Visibility: internal; end users won’t notice changes.

plans for customer communication

  • No end-user communication needed.
  • Notify integrators/library consumers about the create_server signature change and new headers; update README/examples.

impact analysis

  • Worst case(local code): third-party code calling create_server(config) without runtime_config fails to start.
  • Potential issue: environment without package metadata could affect version resolution; headers fall back to UA default but should be validated in target environment.

change type

Feature (with a breaking change for the local create_server).

justification

  • Standardizes runtime metadata, improves observability/diagnostics across transports, and enables consistent client identification.

deployment plan

  • Merge PR; tag main as v1.20.4.

rollback plan

  • Revert PR; retag previous release. v1.20.3

post release support plan

  • Verify mcp.keboola.com/ returns expected serverTransport and versions.
  • Smoke test stdio, SSE, and streamable-http transports.
  • Confirm presence of new headers in outgoing requests in logs/mock tests.
  • Update docs/snippets for create_server usage.
  • Check also events whether include serverTransport info.
User-Agent: Keboola MCP Server/{version} app_env={env}
MCP-Server-Transport: {stdio|sse|streamable-http|http-compat}
MCP-Server-Versions: keboola-mcp-server/{x} mcp/{y} fastmcp/{z}

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.

3 participants