angular-signal-forms-migration-mcp
angular-signal-forms-migration-mcp
AIコーディングエージェントが、Angular Reactive Forms から Angular Signal Forms への移行を支援するMCPサーバーです。
コードベース内の Reactive Forms 構文を検出し、安全な機械的リネームと、人間の判断が必要なものとを仕分けし、記憶頼みではなく実際のAngularリリースに対して検証済みの before→after レシピを返します。
インストール
Node.js 20+ が必要です。クローンするものはありません — npx が必要に応じて取得します。
claude mcp add signal-forms-migration -- npx -y angular-signal-forms-migration-mcp@latestまたは、任意のMCPクライアント設定に追加します:
{
"mcpServers": {
"signal-forms-migration": {
"command": "npx",
"args": ["-y", "angular-signal-forms-migration-mcp@latest"]
}
}
}@latest を指定すると npx が起動のたびに再解決するため、エディタを再起動するだけで新しいリリースが取り込まれます。指定しない場合、npx は最初にキャッシュしたバージョンを配信し続けます — 設定を @latest に変更するか、npm cache clean --force でキャッシュをクリアしてください。
サーバーは1日1回新しいバージョンを確認し、stderr に1行の通知を書き込みます。これはスロットルされ、2秒でタイムアウトし、stdout には一切触れず、失敗時は何も出力しません。無効にするには、上記の設定ブロックに "env": { "SIGNAL_FORMS_MCP_NO_UPDATE_CHECK": "1" } を追加してください。実際に何が起動しているかを確認するには:
npx angular-signal-forms-migration-mcp@latest --version[!IMPORTANT] これを Angular アプリに
npm installしないでください。 これはエディタが起動する独立したプロセスであり、プロジェクトが依存するライブラリではありません。npxはプロジェクト外のキャッシュに保持します。
[!NOTE] 検出と助言を行いますが、コードを編集するツールは一切ありません。 ソースファイルに書き込むツールは今もなく、今後も作る予定はない。サーバーは検出結果とレシピを返します。変更を決めて編集するのはあなた側のエージェントです。したがって、すべての変更は通常のレビューとバージョン管理を経ることになります。
Related MCP server: VA Form Generation MCP Server
見た目
> Migrate the forms in src/app/checkout to Signal Forms.
1. find_form_candidates { path: ".../src/app/checkout" }
→ 9 findings across 2 files: 6 mechanical, 3 judgment
(the FormArray of line items is judgment — its shape changes)
2. get_signalforms_recipe { construct: "FormBuilder.group" }
→ before/after + caveats
3. the agent applies the edits, you review the diff
4. verify_migration { path: ".../checkout.component.ts" }
→ traps that compile and are still wrong助言の前にチェックする前提条件
移行レポートは、移行を不可能にする条件を最初に示します。実行してない計画よりは無いほうがましというわけだ。
Angular 21+。
@angular/forms/signalsは v21 より前には存在しません。v21 未満の場合、サーバーは移行プランではなくアップグレードプランを返します。宣言バージョンとインストール済みバージョンが一致している。 古いブランチを新しい
node_modulesの上にチェックアウトすると、v21 の境目をまたいでしまいます。インストールされている実物に対して移行すると、次のnpm ciで目標 API のないバージョンに戻されます。だからサーバーへ は其方に偏らないことを明言します。moduleResolutionがエクスポート対応のbundler、node16、またはnodenextである。@angular/forms/signalsは package import のサブパスです。従来のnode解決方式ではそれを見つけることができず、インポートは依存性がないというようなエラーになります。
ツール
ツール | 答え |
| Reactive Forms の構文はどれか、人間の判断が必要なものはあるか? |
| このコンストラクタの検証済み before→after は? |
| この作業はどれだけ大きく、どのファイルから始めればよいか。 |
| 全体をひとつのマークダウン文書として出してください。 |
| すでに移行したが、コンパイルは通ってもまだ正しくないものは?. |
| v21 未満だ。どうすればこれをサポートするバージョンに到達できるか。 |
詳細なパラメータ、レスポンス の形式、スコープの制限は、docs/TOOLS.md にあります。
レシピの検証方法
Signal Forms は新しく、モデルのトレーニングデータに確実には含まれていません — 記憶から書くレシピは「正しく見える形で間違う」ので、それらはどれもこうは。
レシピは公式の Angular CLI MCP サーバーを使って Angular v22 で検証し、再検証は angular.dev と照合し、構造化された由来情報(verifiedAgainstVersion、 retrievedISO、 sources) を管理し、それをツールのレスポンスに同梱しているので、あなたのエージェントがアドバイスの最新度を判断できます。sources リストが空のレシピは CI が失敗します。
ドキュメントが答えを出していない場合、レシピは答えを捏造せずに caveats(注意書き) にそう書きます — UNVERIFIED — confirm on <url>、または UNVERIFIED、 tool-auth или guidance の形式で。Angularがあまりにも移行パスを文書化していない場合です(RxJS ストリーム層が主な例です。プリミティブはドキュメントされ コンパイルもできますが、その両方を選ぶのはAngularの判断ではなく、このツールの判断です)。現在 37本のうち14本 のレシピにそのマーカーがあります。それは意図した正直な部分であり、見落としではありません。そしてテストがこの数値を正しいまま保っています。
レシピは実際にコンパイルされています CI は実物の @angular/forms@22 をインストールして、レシピが使うすべてのAPIを実行するフィクスチャの型チェックをします。存在しない関数を名前や引数の形(酸形)としてレシピを書くとビルドが落ちます。そこで disabled(path, { when }) が v22 シグニチャであると確立しました。ドキュメントはこのシグニチャも、ネストした schema() + apply() の合成も説明していません。
この過程で記憶が誤っているのを2つ見つけました:
バイビニングディレクティブは
[formField]/FormFieldであり —[control]/Controlではない。あるいは v21 プレリリース資料に登場して、モデルはこちらの方を再現します。disabled()/hidden()は v22 でオプションオブジェクト形式を持て、裸のコールバックを削除するのではなく@deprecatedとマークしました。したがって v21 流のほールは警告付きでコンパイルできる。これはドキュメントではなく配布されたオーバーロードの diff から確認した事実です。
バージョンによって振る舞いが変わるレシピには VERSION-SENSITIVE の注意書きがあり、バージョンごとの形を列挙したうえで、サーバーはプロジェクトの検出バージョンに対応して解決します。caveatsと配列を読みましょう — 危ない箇所はそこにあります。
新しいAngularリリースに対する再検証手順は、REVERIFICATION.md にあります。
クリーンな答えがないときはそれを伝えます
すべての Reactive Forms パターンが Signal Forms に相当するとは限りません。逆にそう言う移行ツールはないまま以上に有害である。フォームストリームは .pipe() チェーンに渡る RxJS オペレーターに応じて以下のよう:
層 | オペレーター | 回答 |
trivial | なし / 裸の |
|
moderate |
|
|
hard |
| 直接に相当するものがありません |
hard 層のレシピは、その場そのまま伝えますが、実用的な3つの戦略 — バリバリ非同期バリデーション、rxResource、または RxJS を not Observable プレースするのではなく toObservable / toSignal の後ろに保つ — を提示し、存在しない自動一行変換ね発明しません。
同様に、addControl() / removeControl() には相当するものは一切ありません。フィールドツリーはモデルシグナルの型から派生するためです。実在するこんな API を暗黙にいうことをせず、実際の3つの答えをレシピは説明しています。
しないこと
ファイルを編集しません。 設計として恒久的に。
移行が正しいことを証明しません。
verify_migrationの意味は「既知の欠陥がない」の証明です。tscの後、ではなく必ずtscの後に動かしてください。テンプレート駆動フォームは移行しません。
ngModelの移行は上流でドキュメント化されていません。それを推測するのは、このプロジェクトが回避するために存在する 失敗の形そのものです。${...}を含むテンプレートリテラルを読みません。 は、テキストがそれ Angular コンパイラはスキャン対象ではありません。補間を含まないインラインのtemplate:文字列はスキャンします。CSS/SCSS をスキャンしません。 ファイルをまたいだ型判定もしません — 検出はシングルファイルの構文パスであり、
ts.Programではありません。
以上のは ROADMAP.md で追跡しています。移行レポートでは、count の数字だけが完全性をほのめかさないよう、独自の「Scope」の章でもこれを繰り返します。
なぜ公式 Angular MCP server だけではないのか?
両方使いましょう。公式の @angular/cli MCP サーバーはAngularを知っています。こえは移行を知っています — コード内にどのような構造があるか、どれが機械的で、どれに決定が必要か、検証済みの置換はどのようなものか。あなたのエージェントはここで検出結果とレシピを持ち帰り、編集前に該当の情報またはプロジェクト固有のものをそこで確認することができます。
ステータス
M16 まで機能完全。6つのツールが提供されています。ドキュメントに検証されたレシピは、基本コンストラクション、配列、実行時の形状変化、非同期カスタム、カスタムコントロール、RxJS ストリームの3階層、フォーム状態の読み書き、送信、モデル形状の制約、CSSclass、テストファイル移行、.html テンプレート層(=バインド、状態読み取り、<select multiple> というブロッカー、警告のないエラキー リネーム)までをカバー。
トランスポートは stdio なので、stdout はプロトコル用に予約、ログはすべて stderr に出ます。
コントリビュートや環境開発: CONTRIBUTING.md。
ライセンス
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables LLMs to apply Martin Fowler's 71+ refactoring patterns to codebases through a pluggable, language-agnostic architecture. Supports previewing and applying refactorings, analyzing code smells, and inspecting code structure with safe-by-default operations.54MIT
- FlicenseBqualityDmaintenanceProvides tools for auditing and fixing scaffolded VA forms to ensure they follow best practices and VA.gov content standards. Enables automated validation, agent prompt generation, and orchestration of form fixes across any vets-website workspace.51
- AlicenseNot gradedqualityFmaintenanceHelps migrate projects from AI SDK 4.x to 5.0 by generating a migration checklist and searching the official migration guide for code and data changes.14MIT
- AlicenseBqualityDmaintenanceEnables AI agents to safely upgrade JavaScript and TypeScript projects through dependency analysis, upgrade path detection, breaking change identification, codemod application, and PR summary generation.1428MIT
Related MCP Connectors
Lints + auto-fixes how AI coding agents discover any new product. 24 rules, 6 tools, score 0-100.
AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alvi97/angular-signal-forms-migration-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server