Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Live transits, ESMS ingredients, cosmic recipes, synastry & transit×natal overlays by alchm.kitchen
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.
MCP_USER_API_KEY, DATABASE_URLLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"alchm-kitchen": {
"command": "npx",
"args": [
"-y",
"@alchm/mcp-server"
],
"env": {
"MCP_USER_API_KEY": "your-value",
"DATABASE_URL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add alchm-kitchen --env MCP_USER_API_KEY=your-value --env DATABASE_URL=your-value -- npx -y @alchm/mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"alchm-kitchen": {
"command": "npx",
"args": [
"-y",
"@alchm/mcp-server"
],
"env": {
"MCP_USER_API_KEY": "your-value",
"DATABASE_URL": "your-value"
}
}
}
}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": {
"alchm-kitchen": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@alchm/mcp-server"
],
"env": {
"MCP_USER_API_KEY": "your-value",
"DATABASE_URL": "your-value"
}
}
}
}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ú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
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.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub gregcastro23, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
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ó 1 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.
Debes completar: MCP_USER_API_KEY, DATABASE_URL
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.1.1) llegó al registro hace 5 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Master CSS
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.
Inspect Master CSS classes, generated CSS, and project stylesheets from your AI client.
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.
Version 1.4.0 exposes eight tools over stdio: live transits, curated ingredient analysis, recipe search, natal overlays, triplicate pricing, evidence snapshots and recipe reflections. It uses the maintained MCP TypeScript SDK v1 line and supports existing MCP initialization handshakes. It does not expose an HTTP/SSE server.
bunx @alchm/mcp-server
npx -y @alchm/mcp-server
bun install --cwd mcp-server bun run mcp-server/src/index.ts
bun run --cwd mcp-server build bun run --cwd mcp-server build:binary
The bundle is mcp-server/dist/index.js; the sidecar is mcp-server/bin/alchm-mcp. The binary build disables working-directory dotenv/bunfig autoloading and repairs/verifies its ad-hoc signature on macOS. Building prepares local artifacts; publishing npm, registry metadata and sidecar releases are separate release steps.
| Tool | Authenticated cost | Behavior |
|---|---|---|
get_live_sky_transits | Free | Current planetary positions and elemental balance for an observer. |
alchemize_ingredients | Free | Curated elemental/ESMS data and thermodynamic indices for up to 100 ingredients. Missing ESMS quantities remain null. |
generate_cosmic_recipe | 2.5 of each ESMS (10 total) | Search the whole recipe catalog by keywords, element, cuisine and diet. Returns 5 matches by default; limit and offset (no maximum) page through every match. Charged only when the search succeeds. |
compute_synastry_overlay | Free | Inter-chart aspects, scores and stance. cacheStrategy: "write" updates the optional database cache and requires a matching internal probe secret. |
get_transit_natal_overlay | Free | Sky-to-natal aspects and continuous per-element boosts for one agent. |
compute_triplicate_synastry | Free | Quote resonance, potential rebates and a cooldown window key; does not execute a trade or pay a rebate. |
create_evidence_snapshot | 2.5 of each ESMS (10 total) | Bundle transits, optional ingredients and recipe candidates in one call. Charged only for a complete snapshot. |
submit_recipe_reflection | 0.1 of each ESMS (0.4 total) | Save a proposed reflection and its debit in one transaction, then attempt feed publication; requires an authenticated, non-synthetic caller. |
Anonymous callers can use read tools in demo mode. Recipe search and evidence snapshots debit authenticated callers; reflection publication requires authentication. Invalid supplied credentials are rejected. An operator must configure DATABASE_URL to validate API keys and apply billing. An API key alone does not connect this stdio process to a hosted authentication service.
Tool annotations identify paid calls and reflection publication as mutations. The catalog declares bounded inputs; validation runs before authentication, billing and handler work. Coordinates must be within latitude/longitude bounds, ingredient lists contain 1–100 strings, reflections are 1–4000 characters (the stored column's limit), and natal charts/amounts/timestamps must match their published schema.
Paid reads are charged on delivery: the tool runs first, and only a successful result is settled. A failed search or a partial snapshot (an error) is never charged, a caller that cancels before settlement is not charged, and a refused settlement withholds the result (QUOTA, or UNAVAILABLE when billing cannot be reached). A reflection's debit and its recipe_reflections row commit in one transaction, so a caller is never charged for a reflection that was not stored. Feed publication runs inside the same transaction behind a savepoint: if it fails, the reflection and its charge stand and the receipt reports published: false.
Without an idempotency key every call charges again and every reflection call stores another reflection. Pass _meta.idempotencyKey (1–200 characters from A-Z a-z 0-9 . _ : ~ -) to make a paid call safe to retry:
billing.status: "replayed"). A recipe search or snapshot is recomputed, so a replayed snapshot carries a new snapshotId and observation time; a reflection retry returns the stored reflection (replayed: true) and re-attempts a feed publication that previously failed, unless the reflection has since been moderated (hidden, deleted or rejected).CONFLICT. Credentials and correlation fields in _meta are not part of the comparison.Once a paid call reaches settlement, its result reports what happened in a billing field (errors before that point, such as invalid arguments, authentication failures or BUSY, carry none): status (charged, replayed or not_charged, with a reason such as anonymous-caller, synthetic-probe-exempt or not-delivered), the amounts debited by this call, and the echoed idempotencyKey.
Results include both structuredContent and the same JSON serialized in a text content block, with a correlationId. Every tool publishes an outputSchema that accepts its success payload or the shared error envelope, so clients that validate structured results (the TypeScript and Python SDK clients do) accept both. Failed evidence snapshots retain available data and component provenance under the error payload's data field. Tool failures set isError: true with a stable errorCode and message; RATE_LIMIT and BUSY include retryAfterSec. Diagnostic output goes to stderr; stdout contains JSON-RPC messages only. SIGINT, SIGTERM and stdin closure perform a bounded one-second telemetry drain before exit.
ALCHM_MCP_BACKEND_URL=https://alchm.kitchen
MCP_USER_API_KEY=sk_alchm_...
DATABASE_URL=postgresql://... # operator-only: key validation, billing, cache and telemetry
Chart/transit requests POST to /api/astrologize. Explicit ALCHM_MCP_BACKEND_URL, NEXT_PUBLIC_SITE_URL, SITE_URL or Vercel URL settings take precedence. Bundled/compiled artifacts default to https://alchm.kitchen; source runs default to http://localhost:3000. Source development therefore needs the local app running or an explicit reachable backend URL.
Mint and revoke API keys at /profile/api-keys. Keys are stored as SHA-256 hashes; plaintext is shown once when created.
Every tool accepts _meta inside its arguments:
{
"name": "generate_cosmic_recipe", "arguments": { "prompt": "spicy", "cuisine": "thai", "_meta": { "apiKey": "sk_alchm_live_REPLACE_ME", "caller": "claude-desktop", "correlationId": "dinner-plan-123", "idempotencyKey": "dinner-plan-123-search" } } }
The environment key supplies a default for single-user installs. Legacy _meta.authKey, _authKey and _apiKey argument aliases remain supported. Synthetic probes supply _meta.internalSecret matching the server's INTERNAL_API_SECRET; SYNTHETIC_PROBE_USER_ID is optional attribution. Setting the server secret alone never authenticates an external call as a probe. Synthetic calls cannot publish reflections.
Use the same mcpServers configuration shape in Claude Desktop's claude_desktop_config.json or Cursor's .cursor/mcp.json:
{
"mcpServers": { "alchm-kitchen": { "command": "npx", "args": ["-y", "@alchm/mcp-server"], "env": { "MCP_USER_API_KEY": "sk_alchm_live_REPLACE_ME" } } } }
For a local source checkout use "command": "bun" and "args": ["run", "/absolute/path/to/WhatToEatNext-master/mcp-server/src/index.ts"]. Database configuration belongs to the operator running the server. See the source-run templates in claude-desktop.config.example.json and cursor.mcp.example.json.
bun run --cwd mcp-server typecheck
bun run jest src/lib/mcp/tests/ --runInBand bun run --cwd mcp-server test:stdio MCP_E2E=1 MCP_E2E_ENTRY=mcp-server/dist/index.js bun test mcp-server/src/tests/ MCP_E2E=1 MCP_E2E_ENTRY=mcp-server/bin/alchm-mcp bun test mcp-server/src/tests/
The stdio tests spawn real source/bundle/binary processes, initialize a session, send notifications/initialized, inspect all eight tools, call local tools, and exercise validation and errors. They reject any non-JSON-RPC stdout line and do not require a live database or production backend. sdkClient.test.ts repeats the calls through the official SDK client, which validates every result, errors included, against the advertised outputSchema.
Settlement has a real-PostgreSQL proof: src/lib/mcp/__tests__/settlement.postgres.test.ts runs the ledger, idempotent replay, concurrent retries and the reflection transaction (including recovery from a failed feed insert) against a disposable database holding every migration. Its header lists the setup; it is skipped unless MCP_TEST_DATABASE_URL names a loopback mcp_test* database.
Database-backed invocations feed mcp_invocations, the admin MCP status surface, agent telemetry and the synthetic MCP probe. Telemetry is best effort; calls still work when logging is unavailable. Retention is seven days via the observability prune job. Per-key rate limits and a four-call process concurrency cap bound workload; calls receive a cancellation signal after 20 seconds and receive MCP cancellation signals. A timeout does not guarantee that already-started downstream side effects have rolled back.
See ARCHITECTURE.md for ownership and data flow.