Max Isbey
8900f2527c
Add mcp-codemod, an automated v1 to v2 migration tool
...
A new `mcp-codemod` workspace package (`uvx mcp-codemod v1-to-v2 ./src`)
that rewrites every v1 -> v2 change whose meaning is unambiguous from the
file alone, and inserts a `# mcp-codemod:` comment above every site it
recognized but would not guess at. Built on libCST.
Names are resolved through each file's imports, never matched as text, so
an aliased import or an unrelated symbol that shares a name with an SDK
one is never touched. The camelCase to snake_case rename is restricted to
the field names v1's `mcp.types` actually declared. Anything whose correct
rewrite depends on information that is not in the file -- the lowlevel
decorator to `on_*` relocation, the transport keywords on the `MCPServer`
constructor -- is left exactly as written and marked instead, so the
remaining work is one grep. Re-running on the output is a no-op.
The mapping tables are pinned against the installed v2 package by ratchet
tests so they cannot silently drift: every rename target must resolve,
every removed API must be provably absent, and no flagged constructor
keyword may survive on `MCPServer.__init__`. Measured against the example
files that exist on both `v1.x` and `main` (whose diff is the hand-written
migration), the codemod fully reproduces 13 of the 51 with a real
migration diff, improves 35 more, and makes none worse.
Also adds an "Automated migration" section to docs/migration.md, a mention
of the tool in README.v2.md, and the package to the publish workflow's
build step (the PyPI project and its trusted publisher must exist before a
release is tagged with this in it).
2026-07-01 12:08:22 +00:00
Den Delimarsky
985652491a
Add Cloudflare Pages docs preview with /preview-docs slash command ( #3028 )
2026-06-30 16:47:21 +01:00
Max
0b200ef03b
Surface skipped conformance scenarios as baselined known failures ( #3030 )
2026-06-30 13:07:05 +01:00
Max
f2e63c979a
Promote the v2 README to README.md ahead of the first v2 beta ( #3014 )
2026-06-29 12:01:54 +01:00
Max
3caa445c6c
Pin conformance harness by commit SHA (ed314a73) instead of PR number ( #3000 )
2026-06-26 17:01:42 +02:00
Marcelo Trylesinski
5b2713d40c
Mirror x-mcp-header tool arguments into Mcp-Param-* request headers (SEP-2243) ( #2990 )
2026-06-26 14:36:56 +02:00
Max
3a8da8c0c3
Fix docs/release follow-ups from the mcp-types package split ( #2977 )
2026-06-26 13:16:09 +02:00
Max
411a6d3980
Rebuild the docs around tested examples; shrink README.v2.md to a pitch ( #2978 )
2026-06-26 12:49:19 +02:00
Max
4caa41f6d5
Add story-style examples suite (27 stories + harness + CI) ( #2957 )
2026-06-26 12:02:27 +02:00
Marcelo Trylesinski
e9cd1692b0
Remove comment-on-release workflow ( #2985 )
2026-06-26 09:00:51 +00:00
Max
587340279e
Conformance burn-down: server-side InputRequiredResult, Mcp-Method/Name validation, x-mcp-header filter (14 scenarios → green) ( #2974 )
CI / checks (push) Failing after 0s
CI / all-green (push) Has been cancelled
2026-06-26 09:51:59 +02:00
Marcelo Trylesinski
0ee7f1b293
Split protocol types into a standalone mcp-types package ( #2973 )
2026-06-25 19:18:38 +02:00
Max
f5fe42f5a4
ci(conformance): bump harness to 0.2.0-alpha.5 preview ( #2927 )
2026-06-20 16:54:50 +01:00
Marcelo Trylesinski
0fa03ec69f
Add uv ecosystem to dependabot and drop weekly lockfile workflow ( #2919 )
2026-06-20 15:13:17 +01:00
Max
9e6d00318c
ci(conformance): add 2026-07-28 carried-forward leg + bump harness to 0.2.0-alpha.4 ( #2911 )
2026-06-19 14:48:21 +01:00
Max
65be5a7147
Protocol types for 2026-07-28: superset monolith, committed per-version packages, and wire-method maps ( #2849 )
2026-06-16 17:40:14 +01:00
dependabot[bot]
2693fb95ae
chore(deps): bump the github-actions group across 1 directory with 9 updates ( #2636 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-06-16 09:45:21 +01:00
Max
255650dcd1
ci(conformance): run server --suite draft and baseline the 2026-07-28 scenarios ( #2878 )
2026-06-15 16:45:29 +01:00
Max
a3689ab493
ci(conformance): pin harness to 0.2.0-alpha.3 with expected-failures baseline ( #2877 )
2026-06-15 15:40:42 +01:00
Max
1e21814ed5
Update the v2 status banner and pin spawned environments to the running SDK version ( #2834 )
CI / checks (push) Failing after 0s
CI / all-green (push) Has been cancelled
2026-06-11 09:41:19 +01:00
Max
e196857bc9
Prepare release machinery for v2 pre-releases ( #2831 )
2026-06-11 09:03:27 +01:00
Max
5d826490b6
[v2] Dispatcher/ServerRunner receive-path swap — replaces BaseSession ( #2710 )
2026-06-09 12:58:47 +01:00
Marcelo Trylesinski
e8e6484278
ci: add zizmor for GitHub Actions security analysis ( #2648 )
2026-05-20 17:06:57 +02:00
Max
f4753440da
ci: deploy docs to py.sdk.modelcontextprotocol.io via Pages artifact (v1 at /, v2 at /v2/) ( #2634 )
2026-05-18 15:28:13 +01:00
Max Isbey
fb2276b95f
ci: remove claude-code-review workflow ( #2359 )
2026-03-27 14:02:41 +00:00
Felix Weinberger
7ba4fb881d
ci: skip claude.yml when comment is '@claude review' ( #2337 )
2026-03-24 20:36:36 +00:00
Max Isbey
7ba41dcfae
fix: make local coverage runs reliable ( #2236 )
2026-03-06 17:24:18 +00:00
Max Isbey
62575edabd
ci: sign weekly lockfile commits as github-actions[bot] ( #2148 )
2026-02-26 15:36:46 +00:00
Jonathan Hefner
0fe16dd5fd
fix: silence mkdocs social plugin warnings in strict mode ( #2109 )
2026-02-19 23:12:51 +01:00
Max Isbey
43d709c976
ci: pin all GitHub Actions to commit SHAs ( #2088 )
2026-02-18 19:42:00 +00:00
Max Isbey
29a14ab9e5
fix: skip readme-v1-frozen in CI and add diff-based README.md check ( #2048 )
2026-02-13 10:30:30 +00:00
Felix Weinberger
239d682b6f
fix: pass conformance auth scenarios, add RFC 8707 resource validation ( #2010 )
2026-02-09 11:41:03 +00:00
Marcelo Trylesinski
4598ad9361
ci: disable conformance tests ( #2007 )
2026-02-07 14:12:19 +01:00
dependabot[bot]
6f8b791faf
chore(deps): bump the github-actions group with 5 updates ( #1981 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-01 17:37:01 +01:00
Max Isbey
2137c8fbdb
fix: revert README to v1.x documentation on main ( #1971 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-01-29 20:03:01 +00:00
Max Isbey
b38716e5e3
ci: skip Claude code review for Dependabot PRs ( #1963 )
2026-01-27 13:04:36 +00:00
Max Isbey
4a2d83a0cb
ci: skip claude code review for fork PRs ( #1952 )
2026-01-24 19:22:24 +00:00
Max Isbey
a7ddfdae07
ci: add strict-no-cover to detect unnecessary coverage pragmas ( #1897 )
2026-01-23 21:00:20 +01:00
Max Isbey
5301298225
Add claude GitHub action ( #1922 )
2026-01-22 18:43:42 +00:00
Max Isbey
213cf993ca
Add conformance testing CI pipeline ( #1915 )
2026-01-21 16:04:35 +00:00
Marcelo Trylesinski
bcb07c2b25
refactor: flatten the methods in Client ( #1914 )
2026-01-20 13:12:07 +01:00
Marcelo Trylesinski
2b4c7ebc61
ci: add alls-green action for single required check ( #1882 )
2026-01-16 12:14:50 +01:00
Max Isbey
2cf7784a48
ci: replace highest resolution with locked in test matrix ( #1869 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-01-16 11:09:25 +01:00
dependabot[bot]
b63776b14f
chore(deps): bump the github-actions group with 7 updates ( #1878 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-16 10:00:49 +01:00
Max Isbey
c9e98e53a7
ci: pin all GitHub Actions to commit SHAs ( #1875 )
2026-01-16 08:52:42 +00:00
Max Isbey
fc5cb6ab48
ci: add weekly lockfile update workflow ( #1874 )
2026-01-16 09:47:06 +01:00
Max Isbey
72a8631f0a
fix(ci): use bash shell for pytest step to ensure consistent error handling ( #1868 )
2026-01-15 17:32:22 +01:00
Marcelo Trylesinski
3ffe142e9a
Support Python 3.14 ( #1834 )
2026-01-07 16:28:23 +00:00
Yugan
4807eb5a80
Add workflow to comment on PRs when released ( #1772 )
2025-12-19 11:17:13 +00:00
Max Isbey
ef96a31671
ci: add v1.x branch to main-checks workflow ( #1802 )
Main branch checks / checks (push) Failing after 0s
2025-12-18 16:59:30 +00:00