Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add AlpayC/mcp-migration-check --skill mcp-migrationgit clone --depth 1 https://github.com/AlpayC/mcp-migration-checkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alpayc/mcp-migration-check/mcp-migration)<a href="https://agentmods.dev/skills/alpayc/mcp-migration-check/mcp-migration"><img src="https://agentmods.dev/badge/skills/alpayc/mcp-migration-check/mcp-migration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alpayc/mcp-migration-check/mcp-migration"><img src="https://agentmods.dev/badge/skills/alpayc/mcp-migration-check/mcp-migration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00162 | $0.02685 |
| Opus 5 | $0.00081 | $0.01342 |
| Sonnet 5 | $0.00032 | $0.00537 |
| Haiku 4.5 | $0.00016 | $0.00268 |
Grade A, and why
mcp-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 207 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MCP 2026-07-28 migration
The 2026-07-28 revision is a refactor, not a version bump. Six things this checker looks for break existing servers:
- The transport is stateless. The
initialize/notifications/initializedhandshake and theMcp-Session-Idheader are gone from this revision. Every request carries its own protocol version and client capabilities in_meta. This does not mean deleting the handshake. A server "wishing to support both legacy clients … and modern clients MAY implement both behaviors" and picks its semantics from how each request opens — so the goal is to add the modern path, and retire the legacy one on the schedule your own clients dictate. Removing it for compliance breaks every v1 client for no gain. - OAuth 2.1 is formalized for remote servers: a protected MCP server acts as an OAuth 2.1 resource server and MUST implement RFC 9728 protected-resource metadata.
logging,sampling, androotsare deprecated — still functional, with a twelve-month minimum window, but new implementations should not adopt them.- The TypeScript SDK moved to v2 under new package names.
@modelcontextprotocol/sdkis the v1 line and stops at 1.30.0. v2 ships as@modelcontextprotocol/server+@modelcontextprotocol/client(plus/coreand an/express,/fastifyor/honoadapter). - The Python SDK moved to v2 under the same package name. The official
PyPI package remains
mcp, whilemcp.server.fastmcp.FastMCPbecomesmcp.server.MCPServer. A<2constraint or the old import is a v1 signal.
The revision changed more than the checker covers: server/discover is now
mandatory, all results carry a required resultType, the GET stream and
resources/subscribe are replaced by subscriptions/listen, ping and
logging/setLevel are gone, SSE resumability is removed, and Mcp-Method /
Mcp-Name headers are required. A clean checker run is not a migration.
Read the changelog
before declaring a server done.
Do not tell anyone to upgrade @modelcontextprotocol/sdk to ^2. That
package has never published a 2.x — the migration is to the new package names
above. There is an official codemod, and it is a separate package:
npx @modelcontextprotocol/codemod@latest v1-to-v2 .
That codemod is TypeScript-only. Do not reach for it, or for a package rename, when the project is Go — which is the next thing on this list.
- The Go SDK moved by a minor, on the same module path.
github.com/modelcontextprotocol/go-sdkspeaks 2026-07-28 from v1.7.0; v1.6.1 is the last release on 2025-11-25. There is nogo-sdk/v2— the module proxy 404s it — so never advise an import-path change or a 2.x.github.com/mark3labs/mcp-gocrossed at its own v1.0.0. And for the official SDK the upgrade is only half of it: the streamable HTTP transport serves the revision only withStreamableHTTPOptions.Stateless = true. Left unset, clients negotiate down to 2025-11-25. A stdio server needs no such flag.
C# moved differently again — a 2.x major of the ModelContextProtocol
packages. Check the actual package before advising a version.
Work in this order: diagnose, triage, remediate, re-verify. The diagnosis step is scripted so it gives the same answer every time — resist the urge to skip it and eyeball the code, because the rule ids it emits are what the remediation guidance keys off.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +19 lines 5e95efa95fc2
- 9d ago First seen · 188 lines · 162 tokens per session scan A 95efa36bcb1c
mcp-migration is a skill published in the GitHub repository AlpayC/mcp-migration-check (5 stars, last pushed yesterday), licensed MIT. It adds 162 tokens to every session and 2,685 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
scanner-pmcc
Scan stocks for Poor Man's Covered Call (PMCC) suitability. Analyzes LEAPS and short call options for delta, liquidity, spread, IV, yield, trend direction, and earnings proximity. Use when user asks about PMCC candidates, diagonal spreads, or LEAPS strategies.
ib-collar
Generate tactical collar strategy reports for protecting PMCC positions through earnings or high-risk events. Requires TWS or IB Gateway running locally.
ib-portfolio-action-report
Generate a comprehensive portfolio action report with earnings dates and risk assessment. Use when user asks for portfolio review, action items, earnings risk, or position management across IB accounts. Requires TWS or IB Gateway running locally.
ib-trades-history
Fetch trade executions from Interactive Brokers filtered by account, date range, or symbol. Supports live API (7 days history) and FlexReport (full history). Use when user asks about their trades, executions, or transaction history. Requires TWS or IB Gateway running locally.
report-stock
Generate comprehensive stock analysis report (PDF or markdown) with trend, PMCC, and fundamental analysis.
ib-report-delta-adjusted-notional-exposure
Report delta-adjusted notional exposure across all IBKR accounts. Calculates option deltas using Black-Scholes and reports long/short exposure by account and underlying. Use when user asks about delta exposure, portfolio risk, or directional exposure.