angular-signal-forms-migration-mcp
angular-signal-forms-migration-mcp
Un servidor MCP que ayuda a un agente de IA de programación a migrar Angular Reactive Forms a Angular Signal Forms.
Localiza las construcciones de Reactive Forms en tu código, separa los cambios mecánicos seguros de los que requieren una decisión humana, y devuelve recetas antes→después verificadas contra una versión real de Angular en lugar de escritas de memoria.
Instalación
Requiere Node.js 20+. No hay nada que clonar: npx lo descarga bajo demanda.
claude mcp add signal-forms-migration -- npx -y angular-signal-forms-migration-mcp@latestO añádelo a la configuración de cualquier cliente MCP:
{
"mcpServers": {
"signal-forms-migration": {
"command": "npx",
"args": ["-y", "angular-signal-forms-migration-mcp@latest"]
}
}
}@latest hace que npx vuelva a resolver en cada inicio, de modo que al reiniciar tu editor se recojan las nuevas versiones. Sin él, npx sigue sirviendo la versión que haya almacenado en caché primero; apunta de nuevo la configuración a @latest o borra la caché con npm cache clean --force.
El servidor también comprueba si hay una versión más reciente una vez al día y escribe un aviso de una línea en stderr. Tiene límite de frecuencia, expira pasados 2 segundos, nunca toca stdout y permanece en silencio ante cualquier fallo. Para desactivarlo, añade "env": { "SIGNAL_FORMS_MCP_NO_UPDATE_CHECK": "1" } al bloque de configuración anterior. Para ver lo que realmente se está ejecutando:
npx angular-signal-forms-migration-mcp@latest --version[!IMPORTANT] No hagas
npm installde esto en tu aplicación Angular. Es un proceso independiente que tu editor lanza, no una librería de la que depende tu proyecto.npxlo guarda en una caché completamente separada de tu proyecto.
[!NOTE] Detecta y aconseja. No edita tu código. Aquí no hay ninguna herramienta que escriba en tus archivos fuente, ni la habrá nunca. El servidor devuelve hallazgos y recetas; tu agente decide qué cambiar y realiza las ediciones, de modo que cada cambio pasa por tu revisión y control de versiones habituales.
Related MCP server: VA Form Generation MCP Server
Qué se ve
> 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 wrongRequisitos previos que comprueba antes de recomendar
Un informe de migración comienza por las cosas que hacen imposible la migración, porque un plan que no puedes ejecutar es peor que ningún plan:
Angular 21+.
@angular/forms/signalsno existe antes de la v21. Por debajo de esa versión, el servidor devuelve un plan de actualización en lugar de un plan de migración.Que las versiones declaradas e instaladas coincidan. Una rama antigua extraída sobre unos
node_modulesmás recientes se sitúa a caballo de la línea de v21. Migrar contra lo que está instalado provoca que el siguientenpm cite devuelva a una versión en la que la API objetivo no está; por eso el servidor se niega a tomar partido y lo indica.Que
moduleResolutionsea compatible conexports(bundler,node16onodenext).@angular/forms/signalses una subruta depackage-exports; la resolución heredadanodeno puede verla y la importación falla con un error que parece una dependencia que falta.
Herramientas
Herramienta | Qué responde |
| ¿Dónde están las construcciones de Reactive Forms y cuáles necesitan a una persona? |
| ¿Cuál es la correspondencia verificada de antes→después para esta construcción? |
| ¿Qué tamaño tiene este trabajo y por qué archivo debería empezar? |
| Dame todo en un solo documento markdown. |
| Ya he migrado esto: ¿qué compila pero sigue estando mal? |
| Estoy por debajo de v21: ¿cómo llego a una versión que lo admita? |
Parámetros completos, formas de respuesta y límites de alcance: docs/TOOLS.md.
Cómo se verifican las recetas
Signal Forms es nuevo y no está presente de forma fiable en los datos de entrenamiento de ningún modelo: las recetas escritas de memoria fallan de formas que parecen correctas. Por eso ninguna de estas recetas está adoptada a la ligera.
Las recetas se verifican contra Angular v22 utilizando el servidor MCP oficial de Angular CLI, se contrastan con angular.dev y llevan una procedencia estructurada (verifiedAgainstVersion, retrievedISO, sources) que va incluida en la respuesta de la herramienta para que tu agente pueda juzgar lo actual que es el consejo. Una receta con la lista sources vacía falla la CI.
Cuando la documentación no responde a la pregunta, la receta lo dice en sus advertencias en lugar de inventarse una respuesta: UNVERIFIED — confirm on <url>, o UNVERIFIED — tool-authored guidance cuando Angular no documenta ninguna vía de migración en absoluto (los niveles de flujos RxJS son el caso principal: los primitivos están documentados y compilan, pero la elección entre ellos es, no de Angular). 14 de las 37 recetas llevan actualmente ese marcador. Esa es la parte honesta de la salida, no una supervisión; y un test hace que esa cifra seguir ser truth.
Las recetas también compilan. CI instala un subado @angular/forms@22 real y comprueba los tipos de los fixtures que ejercitan todas las APIs que utilizan las recetas; por eso una receta que nome tanto, una función no existente, o que la llame con la forma de argumentos incorrecta — falla la compilación. Es es lo que estableció disabled(path, { when }) como la firma de v22; la documentation no muentra ni esa firm ni la composición anidada de schema() + apply().
Do s cosas que esto captre y que la memoria se equÍ:
La directiva de enlace es
[formField]/formField— no[control]/Control, que aparecía en el material de la prerelease v21 y mot an los modelos.El método
disabled()/hidden()ganó una forma de objecto de opcipones en la v22 y marcó el callback@deprecateden lugar de elminarlo; por lo que, una forma de la v21 sígue compileado, con un aviso. Formedado al análizar las sobrearglas, no las guías.
The cheese.
Las recetas cuyo comporampion comportamiento diff receives a VERSION-SENSITIVE advertencia that names the form that each version takes and the server against your project's rises. Lee el array caveats: ahí es donde se escondenlas aristas.
El procedimiento de verificación para una nueva versión de Angular es REVERIFICATION.md.
Te dice cuándo no hay una respuesta sencilla
No todo patrón de Reactive Forms tiene un equivalente en Signal Forms, y una herramienta de migración que pretenda lo contrario es peor que ninguna. Los flujos de formulario se clasifican según los operadores RxJS en su cadena .pipe():
Nivel | Operadores | Respuesta |
trivial | none / |
|
moderado |
|
|
difícil |
| no hay equivalente directo |
En el nivel difícil, la receta lo dice directamente y ofrece tres estrategias reales — reglas de validación asíncrica, rxResource, o mantener RxJS detrás de toObservable / toSignal — en lugar de inventar una lerad line that does not exist.
Del mismo modo, addControl() / removeControl() no tienen ninguna contrapartida en absoluto: el árbol de campos se deriva del tipo de la señal del modelo. La receta explica algebraic three real respuestas en lugar de implying an API that would not compile.
Lo que no hará
No editará tus archivos. Por diseño, permanentemente.
No probará la corrección de tu migración.
verify_migrationprueba la ausencia nde little known conocidos defects conocidos. Ejecuta lo después deassct, no en lugar de él.
figure.
Migrate no a los formularios basados en plantillas. La migración de
ngModelno está documentada en el proyecto upstream; adivinarla sería el fenómeno de fallo que este proyecto existe para evitar.Read template literals with
${...}not sustituciones, porque su texto no Texto with no sustiCUXI no trata de lo que el define the compiler. La caq. Inline${...}` not with Rabia sin substitutionSí scanned.Scan no CSS/SCSS y** no *, no resuelve tipos entre archivos: la detección es un pase sintáctico de un solo archivo, no un
ts.Program.
ROADMAP.md model; no. El informe de migración los reprenata en su propi sección "Scope" más que dejar que los totales den a entender ello que no.
¿Por qué no server allMCP official?
Uso ambos. El servidor oficial de @angular/cli MCP conoce Angla; este conoce migración — qué configuraciones existen en tu código, cuál es mecánica, cuál necesaria de una decisión y cuál es el reemplazo verificado. Tu agente puede obtener hallazgos y recipes de aquí y verificar algo actual o específico del proyecto last.
Estado
Funcionalidades complete a través de M16. Seis herramientas incubadas, with doc-verified recipes que cover básicas constructs, arrays, runtime shape mutation, asynchron validators, custom controls, the three RXJS stream tiers reading and writing form state state, submission, shape restriction, CSS status classes, spec-file migration, y the .html template layer — with name, the <select multiple> blocker, and the silent error-key -house.
El transporte es stdio, plethora.
The article: "El transporte cambio is stdio, and stdout con reservations for la protocol and every logs is with a stderr. Contributions and local development: CONTRIBUTING.md.
Licencia
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