ci: add MCP interface diff workflow for Everything server#3260
ci: add MCP interface diff workflow for Everything server#3260SamMorrowDrums wants to merge 4 commits into
Conversation
Adds a GitHub Actions workflow that tracks public interface changes to the Everything MCP server using mcp-server-diff. Features: - Runs on PRs and pushes affecting src/everything/ - Auto-compares against merge-base (PRs) or previous state (pushes) - Manual workflow_dispatch for comparing any two refs - Generates diff reports showing tool, resource, prompt, and capability changes This helps catch unintended interface changes and provides clear visibility into how the reference server evolves over time. Related: modelcontextprotocol/inspector#1034
Composite actions don't support working-directory at step level. Use full paths in commands instead.
|
@cliffhall what do you think I'd need to do, or who do you think I'd need to ping to get this over the line (or get a definitive no)? As mentioned offer is open to:
https://discord.com/channels/1358869848138059966/1466125436932198483/1466211900160348394 |
|
@claude review |
|
Claude finished @cliffhall's task in 1m 9s —— View job PR Review:
|
Summary
Adds a GitHub Actions workflow that tracks public interface changes to the Everything MCP server. This provides clear visibility into how the reference implementation evolves over time—useful for SDK compliance validation, catching unintended regressions, and reviewing PRs that modify the server interface.
Motivation
The Everything server is the reference implementation that exercises all MCP protocol features. Changes to its public interface (tools, resources, prompts, capabilities) often signal:
Currently there's no automated way to see these changes at a glance. This workflow surfaces them directly in the GitHub Actions summary.
Related discussion: modelcontextprotocol/inspector#1034 - Interest in using mcp-server-diff for SDK compliance testing with the Everything server.
What the workflow does
src/everything/workflow_dispatchfor comparing any two refs (commits, tags, branches)Example output
Here's a real diff between commit
737ce98and the current HEAD of the Everything server:This clearly shows the new Tasks capability and the
simulate-research-querytool that were added.Real-world example
See the MCP diff action in use on github/github-mcp-server - this workflow run shows interface changes from the "Generate server instructions in Inventory" PR.
Workflow features
contents: readonly)Testing
The workflow uses SamMorrowDrums/mcp-server-diff which is also available as a CLI: