Skip to content

spec(mcp): define fresh server argument ownership - #98

Merged
gesh merged 2 commits into
mainfrom
posthog/mcp-fresh-server-ownership-spec
Oct 8, 2026
Merged

gesh merged 2 commits into
mainfrom
posthog/mcp-fresh-server-ownership-spec

Conversation

@gesh

@gesh gesh commented Oct 5, 2026

Copy link
Copy Markdown
Member

Summary

  • Define call-time argument ownership for fresh low-level MCP servers.
  • Add a strict-schema acceptance scenario.

Why

A fresh server can receive tools/call without serving tools/list. Strict tools still need the SDK to remove its injected arguments.

Reference implementation: PostHog/posthog-js#5165

Tests

  • openspec validate --specs --strict
  • git diff --check

Created with PostHog Desktop

Generated-By: PostHog Desktop
Task-Id: db1a8a08-fe03-43b6-9e49-705e8b1f375e

@dustinbyrne dustinbyrne left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The fresh-instance ownership requirement and strict-schema scenario address the low-level gap while preserving tool-owned arguments and unknown-ownership fallback. The canonical specification and archived change are synchronized.

AI-assisted review.


@sdk:server @mcp_fresh_lowlevel_ownership_capable
Scenario: A fresh low-level server resolves injected argument ownership
Given automatic instrumentation creates a fresh low-level server for "tools/call"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

question: Should this scenario say a resolver is configured? Without one, both SDKs leave the arguments in place. In the spec text, "returns the schema ... the host advertises" could also say "before SDK injection".

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Fixed, thanks!

Generated-By: PostHog Desktop
Task-Id: db1a8a08-fe03-43b6-9e49-705e8b1f375e
@gesh
gesh merged commit ae96398 into main Oct 8, 2026
10 checks passed
@gesh
gesh deleted the posthog/mcp-fresh-server-ownership-spec branch October 8, 2026 13:53
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