Asynthetic について
Asyntheticは、ライブラリのバージョン間で生じた破壊的変更を調べるコーディングエージェント向けMCPサーバーです。引用付きの移行マップと互換性チェックを提供し、回答を生成するのではなく検証済みデータを返します。
主な機能
- 01整理済みのバージョン移行マップ
- 02引用付きの破壊的変更と修正
- 03検証レベルと実測メモ
- 04SemVer範囲の解決
- 05依存バージョンの互換性チェック
- 06不明な結果の明示
活用シーン
- 01フレームワークやライブラリの更新計画
- 02削除されたAPIの代替方法の確認
- 03依存バージョンの互換性確認
MCP 対応
AsyntheticはMCPクライアントに、移行・破壊的変更・依存互換性・利用可能なマップの照会ツールを公開します。ホスト型HTTPとローカルstdioに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://asynthetic.up.railway.app/mcpclaude mcp add --transport http asyntheticai-asynthetic https://asynthetic.up.railway.app/mcp{"mcpServers":{"asyntheticai-asynthetic":{"type":"http","url":"https://asynthetic.up.railway.app/mcp"}}}Cursor で開く{"servers":{"asyntheticai-asynthetic":{"type":"http","url":"https://asynthetic.up.railway.app/mcp"}}}VS Code で開く{"mcpServers":{"asyntheticai-asynthetic":{"type":"http","url":"https://asynthetic.up.railway.app/mcp"}}}{"mcpServers":{"asyntheticai-asynthetic":{"serverUrl":"https://asynthetic.up.railway.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://asynthetic.up.railway.app/mcphttps://asynthetic.up.railway.app/sseツール
詳細
Asynthetic
AI コーディングエージェントのための信頼できる事実。
エージェントの知識は、ある日付で止まっています。Asynthetic は、それ以降に何が変わったのかを正確に伝えます。ライブラリのバージョン間におけるすべての破壊的変更を、出典を示し、テストしたうえで提供します。
claude mcp add --transport http asynthetic https://asynthetic.up.railway.app/mcp
// agent asks: get_migration("ai", "^4.0.0", "^5.0.0")
{
"found": true,
"verification_level": "medium",
"migration": {
"breaking_changes": [
{
"title": "maxTokens renamed to maxOutputTokens",
"before_code": "generateText({ model, maxTokens: 1024, prompt })",
"after_code": "generateText({ model, maxOutputTokens: 1024, prompt })",
"source_url": "https://ai-sdk.dev/docs/migration-guides/migration-guide-5-0"
}
// …22 more, every one cited
]
}
}
モデルは毎月進化します。それでも、知識はある日付で止まったままです。
すべてのコーディングエージェントには、知識の最終日付があります。しかし、エージェントがコードを書くライブラリは、その日付以降も変化し続けます。
そのため、エージェントは学習データから学んだとおりにコードを書きます。AI SDK 5 に maxTokens を指定する(削除済み)、Next.js 15 に同期的な params を指定する(現在は Promise)、もはやエクスポートされていないパッケージから LangChainAdapter をインポートする。コードは正しそうに見えます。エージェントも自信満々です。ところがビルドが失敗します。さらに悪い場合は、失敗せずにバグがリリースされます。
最新のドキュメントを取得するツールを使えば、エージェントは「今日の」API の仕様を知ることができます。しかし、それで問題の半分を解決したにすぎません。アップグレードに必要なのは差分です。何が変わったのか、何に置き換わったのか、何が気づかれないまま挙動を変えるのか。「最新のドキュメント」だけでは、これらすべてを把握できません。
Asynthetic は、その欠けていた半分を補います。アップグレードについて尋ねると、厳選された移行マップを返します。順序付けられた破壊的変更、変更前後のコード、非推奨化のスケジュール、ピアバージョンの要件、そしてすべての主張の出典が含まれます。生成ではなく検索によって提供するため、同じ質問には、毎回同じ検証済みの回答が返ります。
Before / after
Asynthetic を使わない場合 — エージェントは記憶を頼りに、あなたの AI SDK アプリを「アップグレード」します。請求処理のために result.usage を残します(現在は最終ステップのみが知らないうちにカウントされます)。temperature を未指定のままにします(v5 では暗黙の 0 が削除され、出力が非決定的になります)。モデルが学習された当時は v4 の構文が正しかったため、名前を何も変更しません。
Asynthetic を使う場合 — 1 回のツール呼び出しで、そのバージョン範囲に該当する 23 件すべての破壊的変更が返されます。上記の 3 件も含まれ、それぞれ修正方法と公式の出典が付いています。エージェントは事実に基づいて変更を適用します。回帰をデバッグする代わりに、差分をレビューできます。
それがこのプロダクトの価値です。記憶しているだけのエージェントと、正確に知っているエージェントの違いです。
マップがエージェントに提供するもの
| 移行マップ | バージョン範囲ごとに厳選されたアップグレード情報:2 つの公開中のマップ(next 14→15、ai 4→5)にわたる 40 件の破壊的変更 |
| 出典 | すべてのマップに公式の出典が記載され、last_verified の日付が付いています。LLM がマップを生成することはありません。 |
| 検証レベル | すべての回答で信頼度を自己報告します。high(実際のビルドで実証テスト済み)、medium、low のいずれかです。これは導出されるもので、自己申告ではありません。 |
| 現場の知見 | 実際の挙動がドキュメントと異なる場合、マップにその旨を記載します。たとえば、Webpack では @next/font の削除が強制されますが、Turbopack では実際には強制されません。また、Next 15 の React 19「要件」はビルド時に強制されません。こうした知見は、説明を読むのではなく、アップグレードを実行して得られたものです。 |
| SemVer の解決 | 範囲を指定して質問できます(^14.2.0 → ^15.0.0)。解決方法は常に明示されます。 |
| ピア依存関係のチェック | 静的な互換性の回答を得られます(next@15 + [email protected] → false。根拠となる出典付き)。 |
| 見つからない場合も正直に回答 | データがない場合は found: false と、推測しないよう明示する指示を返します。もっともらしい捏造は決して行いません。 |
next 14→15 のマップは、Asynthetic で初めて verification_level: high となりました。14.2.35 と 15.5.20 を使い、Turbopack と Webpack、開発環境と本番環境の両方で、すべての項目を実際のビルドでテストしています。
インストール
ホスト版(インストール不要):
claude mcp add --transport http asynthetic https://asynthetic.up.railway.app/mcp
ローカル版(オフライン、データを同梱):
claude mcp add asynthetic -- npx -y asynthetic
Cursor、Claude Code、Windsurf、自作のエージェントなど、どの MCP クライアントでも使えます。
{ "mcpServers": { "asynthetic": { "url": "https://asynthetic.up.railway.app/mcp" } } }
あとは何かをアップグレードするだけです。エージェントは編集を始める前に get_migration を呼び出します。
ツール
| ツール | 回答する内容 |
|---|---|
get_migration(package, from, to) | 「これらのバージョン間で何が壊れますか? それぞれどう修正すればよいですか?」 |
get_breaking_changes(package, version) | 「このバージョンでは何が壊れますか?」 |
check_peer_compatibility(a, va, b, vb) | 「これら2つのバージョンは一緒に動作しますか?」— 引用付きの true / false / unknown |
list_available_maps() | 「Asynthetic は何を把握していますか?」 |
レスポンスの完全な形式、トランスポート(Streamable HTTP + stdio + legacy SSE)、セルフホストについては、以下のドキュメントをご覧ください。
信頼できる理由
Asynthetic の設立時の原則は、誤ったマップを使うくらいなら、マップがないほうがよいというものです。すべてはこの原則に基づいています。
- 公式の変更履歴、移行ガイド、リリース情報のみを厳選して収録し、各項目に URL を添えています。
verifiedステータスは編集上の判断ではなく、実証によって獲得するものです。固定したバージョンで、実際のプロジェクトを使い、両方のバンドラーで開発環境と本番環境を検証します。このプロセスでは、ドキュメントの誤りが定期的に見つかり、その調査結果もマップに反映されます。- 信頼度は機械可読です(
verification_level、source_count、プレリリースに関する警告)。そのため、エージェントは盲目的に信頼するのではなく、回答の信頼度を評価できます。 - 不明であることも、正当な回答のひとつです。サーバーは不明な点をエージェントに伝え、情報を捏造しないよう指示します。
意図的に対象を絞り、深く扱っています。まずは変化の速い AI と JavaScript のフレームワークを対象とし、網羅性よりも常に正確性を重視します。
セルフホスト
git clone https://github.com/asyntheticai/asynthetic.git
cd asynthetic && npm install && npm run build && npm start
ゼロコンフィグで、バンドルされたマップを stdio 経由で提供します。HTTP モードでは PORT を設定してください(/mcp、legacy /sse、ヘルスチェックは /)。Postgres から提供するには SUPABASE_URL と SUPABASE_ANON_KEY を設定してください(schema/schema.sql を実行してから npm run seed を実行します)。設定が不足していてもクラッシュせず、フォールバックしてその旨を stderr に出力します。
data/maps/ the maps (source of truth, JSON, Zod-validated)
src/server.ts MCP tools
src/store/ Postgres + local backends, SemVer resolver
scripts/smoke.ts 23-check end-to-end suite across every transport
マップのコントリビュート
- 公式ソースのみを使用してください。 変更履歴、リリースノート、移行ガイドを対象とします。すべての URL を記録してください。ブログ記事を調査のきっかけにすることはできますが、根拠として完結させることはできません。
src/types/migration-map.tsのスキーマに従ってください。検証により、不正な形式のデータは提供される前にすべて拒否されます。- 新しいマップは
draftとして追加します。verifiedは、固定したバージョンを使った実際のビルドでスニペットをテストして獲得します。廃止されたマップはstaleとなり、提供対象から除外されますが、記録として保持されます。 npm run smokeに合格する必要があります。バージョンや API 名を推測しないでください。公式ソースに記載がない場合は、代わりに PR でその旨を報告してください。
ステータス
無料のパブリックベータ版です。ホスト型エンドポイントと npm パッケージは、どなたでも利用できます。次の予定:マップの拡充(Tailwind 3→4、React 18→19、Zod 3→4、AI SDK 5→6)、high 検証への昇格の拡大、プロジェクトを考慮した互換性分析。詳細は後日発表します。
セキュリティ
設計上、読み取り専用です。各ツールは厳選されたデータを検索するだけです。コード実行、リクエスト時のデータ取得、プロジェクトやファイルシステムへのアクセスはありません。ホスト型エンドポイントが受け取るのはツールの引数(パッケージ名、バージョン文字列)のみです。セッションは一時的で、メモリ上に保持され、互いに分離されています。問題は GitHub のセキュリティアドバイザリから報告してください。
ライセンス
BSL 1.1 に基づくソース公開です。個人、チーム、社内でのセルフホストは常に許可されていますが、競合するホスト型サービスとして再販売することはできません。2030年7月4日に自動的に Apache 2.0 に移行します。
TypeScript、公式の MCP SDK、Zod、Supabase で構築されています。asynthetic.up.railway.app/mcp でライブ提供中です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。