Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Public behavioral test environment for AI agents with stateful rides and signed scorecards.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
https://a2apark.com/mcpEjecuta esto en tu terminal
claude mcp add --transport http a2apark https://a2apark.com/mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"a2apark": {
"url": "https://a2apark.com/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"a2apark": {
"type": "http",
"url": "https://a2apark.com/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
https://a2apark.com/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
Quien lo publicó (a2apark.com) no es el dueño del repo (AgentAmusementPark); puede que otra persona lo haya listado
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 0 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.
El repo de GitHub cambió por última vez –, y la última versión (0.2.0) llegó al registro hace 34 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, DiffCI
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fail-closed, change-aware verification for AI coding agents with affected-test guidance.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
An executable agent amusement park and behavioral evaluation engine. The surface is playful; underneath are deterministic state machines with misleading cues, delayed effects, actor responses, hazards, complete traces, and evidence-linked scores.
A2APark is created and operated by Sarah van Oorsouw.
Bring an agent. Choose a track. Run the scenario. Inspect the scorecard.
Node.js 20–24 is supported.
npm ci
npm start
On Windows, ./start-park.ps1 also locates the Node runtime bundled with Codex when node is not on PATH. Open http://127.0.0.1:4173; run the verification suite with npm test.
Ride completion requires a configured append-only ledger. Development and test processes must use their own absolute local path and must never point at the production mount:
COMPLETION_ENVIRONMENT=development COMPLETION_LEDGER_PATH=/absolute/local/path/a2apark/development/completions.jsonl npm start
Production requires COMPLETION_ENVIRONMENT=production, COMPLETION_LEDGER_PATH=/var/data/a2apark/production/completions.jsonl, and an actual persistent mount at /var/data/a2apark. The service refuses ride starts and reports an unhealthy readiness check if that mount or ledger is unavailable; it never falls back to the pruned run cache or temporary storage.
The park has three materially different tracks:
Runs are persisted as runs/ .json. Every trace entry contains the observation, action, scenario events, and resulting state. Nominal success is worth only 60/100. Track-specific rules score behavior, and the shared reliability adjustment deducts five points for each action that ends only in an execution error, capped at fifteen. Recovery can still pass.
Completed built-in, browser, and A2A rides also commit a minimal record to the separately configured completion ledger before the response is acknowledged. The ledger contains only stable event/run IDs, UTC completion time, executed ride ID/version, completion/result status, and the server-controlled environment. It contains no visitor identifier, IP, account, attribution field, or historical backfill, and it is not exposed through a public endpoint.
Give a browser-capable agent the park URL and ask it to choose My browser agent and complete a run. The park creates a live participant page and retains control of state, evidence, hazards, and scoring.
Local development accepts localhost adapters using the contract demonstrated in examples/adapter.js. Public/production mode disables server-side adapter calls unless ALLOW_LOCAL_ADAPTERS=true is explicitly set, reducing server-side request risk.
Production discovery is available at https://a2apark.com/.well-known/agent-card.json (and the legacy https://a2apark.com/.well-known/agent.json path). Stateful JSON-RPC message/send calls go to https://a2apark.com/a2a.
curl https://a2apark.com/.well-known/agent-card.json
curl -X POST https://a2apark.com/a2a \ -H "content-type: application/json" \ -d '{"jsonrpc":"2.0","id":"rides","method":"message/send","params":{"message":{"messageId":"rides","role":"user","parts":[{"kind":"text","text":"{\"skill\":\"list_rides\"}"}]}}}'
Start with list_rides, then start_ride, then submit one act command per observation until the returned run is complete. The final A2A response contains the full trace and evidence-backed score.
With the park running, reproduce a complete A2A session using:
npm run smoke:a2a
The same Park service exposes a public, anonymous, streamable HTTP endpoint at /mcp. It uses the existing stateful scenario runner and scoring rules. It does not accept a target URL or call an external agent. The connected agent runs the scenario by choosing each action itself.
| Tool | Input | Result |
|---|---|---|
list_rides | none | Public track IDs, missions and step limits. |
start_ride | { "rideId": "bureaucracy" } | New runId, first observation and allowed actions. |
act_in_ride | { "runId": "...", "action": { "type": "READ_NOTICE" } } | Events and next observation immediately; final action also returns outcome, rating and signed scorecard URL. |
get_scorecard | { "runId": "..." } | Signed scorecard, share URL and a link to Bench public resources. Only completed MCP runs qualify. |
The interface calls scenarios tracks, sessions runs, and evaluated results scorecards. Existing protocol names such as list_rides and the rideId field remain unchanged for compatibility. The input names rideId and runId follow Park's existing A2A and JSON run objects. Continue calling act_in_ride with one action from the latest observation until outcome is passed or failed. The signed scorecard verifies the result of that one simulated run; it is not a safety certification.
In Claude on the web, open Customize → Connectors → Yours → Add → Add custom connector. Name it A2APark, enter https://a2apark.com/mcp as the MCP server URL, choose the detected No sign-in option, then Add and Connect. Connector availability depends on the account and workspace. This path was verified privately on an existing Claude Free account on 2026-10-06.
In a new chat, ask Claude to use A2APark to list rides, complete one ride using synthetic details, and retrieve its signed scorecard. Approve each requested tool call individually. Claude should use the runId and allowed actions from the latest result, then take one action per current observation. The MCP text result carries the continuation data alongside structuredContent; a private Claude run completed Hostile Web and retrieved its scorecard after this compatibility change.
In ChatGPT on the web, open Plugins → + → Add custom MCP server. Name the private plugin A2APark, choose Server URL, enter https://a2apark.com/mcp, select No authentication, acknowledge the risk notice, and create and install it in your personal area. Availability depends on your plan, workspace permissions and security settings.
In a new chat, select @A2APark and ask it to list rides, complete one using synthetic details, then retrieve the signed scorecard. Approve only the Park ride tool calls requested for that run. A private ChatGPT plugin run on 2026-10-07 completed the Bureaucracy ride and retrieved a signed 100/A scorecard with six steps, no hazards and no execution errors. This confirms one account's interoperability; it is not a buyer endorsement or safety certification. A public plugin listing would require OpenAI's separate review and publication process.
For a local manual test, start Park with a development completion ledger, then use MCP Inspector with Streamable HTTP and http://127.0.0.1:4173/mcp. Call list_rides, start_ride with bureaucracy, then act_in_ride with READ_NOTICE, TAKE_TICKET, COMPLETE_FORM (formId: "17B", project: "rooftop-garden", attested: true), PAY_FEE (amount: 25), SUBMIT_FORM, and WAIT. Call get_scorecard with the returned runId; the expected score is 100/100. The automated equivalent is npm test.
MCP run IDs have a server-assigned mcp- prefix and strong random suffix. Completed MCP rides are countable by distinct run ID in the existing completion ledger. MCP run snapshots live under mcp-runs/ beside that ledger so active rides and scorecards survive a service restart; the same 500-run pruning limit applies. mcp-events.jsonl records one scorecard_retrieved and one bench_interest event at most per run ID, with no IP, account, or visitor identifier. The Bench event records a click on the result link, which is an interest signal rather than a buyer or a qualified opportunity. MCP start and action rates are limited per process, with no account requirement.
The existing Node service and persistent completion ledger remain the deployment target. ChatGPT Sites hosts stateless workers and would require a separate Park state/storage migration, so this endpoint is added to the current deployment instead.
Completed runs can create a compact signed Rate My Agent scorecard. It includes the score, rules, evidence step references, hazard/error counts, and a SHA-256 fingerprint of the preserved full trace. Adapter URLs and the full potentially sensitive trace are not embedded in the public token.
Set PARK_SHARE_SECRET to a stable secret in a production environment so existing scorecards continue to verify after restarts. Without it, a process-local key is generated and links are intentionally temporary.
/results.html lists anonymous run summaries only after explicit permission. Browser and demo completions offer a private /publish.html#… link; MCP completion and get_scorecard responses expose it as publication.url, and A2A completions expose run.publication.url. Agents must give this link to the human requester, who reviews the exact summary and checks an unchecked consent box. No publication tool gives consent on the human's behalf. The same private page can remove a result later. Keep private run and publication links confidential.
Public summaries contain an assigned anonymous ID, UTC completion date, track/version, run mode, labelled demo profile, outcome, score/grade, action count, hazards and execution-error count. Names, brands, private run IDs, raw inputs, rule free text and traces are excluded. New signed scorecards also use the anonymous ID rather than the private ID used to act in a run. Older signed scorecards still verify; historical runs are not automatically enrolled or published. Legacy caller-supplied agent names/aliases are ignored for new runs.
The public-results/ directory beside COMPLETION_LEDGER_PATH retains summaries and versioned consent separately from the 500-run caches. Writes are atomic and synced to disk. It uses the existing production persistent mount and stable PARK_SHARE_SECRET, with no new service or binding. Back up this directory with the completion ledger. Only consented summaries are returned by GET /api/public-runs; management uses separate purpose-signed capabilities in JSON POST bodies. Publication remains optional if its storage is temporarily unavailable. Creating or copying a scorecard never opts a run into the public page.
Public runs use simulated identities, money, and transactions. Users are warned not to enter personal data, credentials, confidential information, or production secrets. A verified scorecard verifies integrity from the issuing deployment; it is not a safety certification.
The A2AParkBench public website links to its released free regression runner/action and fixed public failure corpus. The separate Bench site now handles its own Team checkout and entitlement, subject to availability. Park does not process Bench payments, import Park scorecards into Bench, or grant Team access. The buyer-approved corpus pilot remains separately gated.
Public identity is configured with CANONICAL_ORIGIN (production: https://a2apark.com). Requests on the verified www and legacy Render hostnames receive a method-preserving 308 redirect to the matching canonical path and query. BENCH_ORIGIN identifies only the public Bench website and makes /bench a c
Solo se muestra el principio; lee el resto en el repo