Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Routes to the best predicted fit from configured metadata/evidence after hard-capability filtering.
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.
ANTHROPIC_API_KEY, ANTHROPIC_MODELS, ANTHROPIC_NAMES, ANTHROPIC_STRENGTHS, ANTHROPIC_CONTEXT, ANTHROPIC_MAX_OUTPUT, ANTHROPIC_TOOLS, ANTHROPIC_COST_IN, ANTHROPIC_COST_OUT, ANTHROPIC_TIER, MOONSHOT_API_KEY, MOONSHOT_BASE_URL, MOONSHOT_MODELS, MOONSHOT_NAMES, MOONSHOT_STRENGTHS, MOONSHOT_CONTEXT, MOONSHOT_MAX_OUTPUT, MOONSHOT_TOOLS, MOONSHOT_COST_IN, MOONSHOT_COST_OUT, MOONSHOT_TIER, OLLAMA_BASE_URL, OLLAMA_API_KEY, OLLAMA_MODELS, OLLAMA_NAMES, OLLAMA_STRENGTHS, OLLAMA_CONTEXT, OLLAMA_MAX_OUTPUT, OLLAMA_TOOLS, OLLAMA_COST_IN, OLLAMA_COST_OUT, OLLAMA_TIER, CLAUDE_CODE_ENABLED, CLAUDE_CODE_MODELS, CLAUDE_CODE_TIER, CLAUDE_CODE_MAX_OUTPUT, CLAUDE_CODE_TIMEOUT, CLAUDE_CODE_SYSTEM_PROMPT_MODE, CODEX_ENABLED, CODEX_MODELS, CODEX_TIER, CODEX_CONTEXT, CODEX_MAX_OUTPUT, CODEX_COST_IN, CODEX_COST_OUT, CODEX_TIMEOUT, OPENAI_COMPAT_BASE_URL, OPENAI_COMPAT_KEY, OPENAI_COMPAT_MODEL, OPENAI_COMPAT_NAME, OPENAI_COMPAT_STRENGTHS, OPENAI_COMPAT_CONTEXT, OPENAI_COMPAT_MAX_OUTPUT, OPENAI_COMPAT_TOOLS, OPENAI_COMPAT_COST_IN, OPENAI_COMPAT_COST_OUT, OPENAI_COMPAT_TIER, OPENAI_COMPAT_2_BASE_URL, OPENAI_COMPAT_2_KEY, OPENAI_COMPAT_2_MODEL, OPENAI_COMPAT_2_NAME, OPENAI_COMPAT_2_STRENGTHS, OPENAI_COMPAT_2_CONTEXT, OPENAI_COMPAT_2_MAX_OUTPUT, OPENAI_COMPAT_2_TOOLS, OPENAI_COMPAT_2_COST_IN, OPENAI_COMPAT_2_COST_OUT, OPENAI_COMPAT_2_TIER, OPENAI_COMPAT_3_BASE_URL, OPENAI_COMPAT_3_KEY, OPENAI_COMPAT_3_MODEL, OPENAI_COMPAT_3_NAME, OPENAI_COMPAT_3_STRENGTHS, OPENAI_COMPAT_3_CONTEXT, OPENAI_COMPAT_3_MAX_OUTPUT, OPENAI_COMPAT_3_TOOLS, OPENAI_COMPAT_3_COST_IN, OPENAI_COMPAT_3_COST_OUT, OPENAI_COMPAT_3_TIER, VOLANTE_QUALITY_PROFILES_FILE, VOLANTE_MODEL_OVERRIDES_FILE, VOLANTE_FETCH_ALLOWLIST, VOLANTE_READ_ROOT, VOLANTE_SANDBOX, VOLANTE_MAX_SUBSCRIPTION_CALLSLos 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": {
"volante": {
"command": "uvx",
"args": [
"volante"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"ANTHROPIC_MODELS": "your-value",
"ANTHROPIC_NAMES": "your-value",
"ANTHROPIC_STRENGTHS": "your-value",
"ANTHROPIC_CONTEXT": "your-value",
"ANTHROPIC_MAX_OUTPUT": "your-value",
"ANTHROPIC_TOOLS": "your-value",
"ANTHROPIC_COST_IN": "your-value",
"ANTHROPIC_COST_OUT": "your-value",
"ANTHROPIC_TIER": "your-value",
"MOONSHOT_API_KEY": "your-value",
"MOONSHOT_BASE_URL": "your-value",
"MOONSHOT_MODELS": "your-value",
"MOONSHOT_NAMES": "your-value",
"MOONSHOT_STRENGTHS": "your-value",
"MOONSHOT_CONTEXT": "your-value",
"MOONSHOT_MAX_OUTPUT": "your-value",
"MOONSHOT_TOOLS": "your-value",
"MOONSHOT_COST_IN": "your-value",
"MOONSHOT_COST_OUT": "your-value",
"MOONSHOT_TIER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_API_KEY": "your-value",
"OLLAMA_MODELS": "your-value",
"OLLAMA_NAMES": "your-value",
"OLLAMA_STRENGTHS": "your-value",
"OLLAMA_CONTEXT": "your-value",
"OLLAMA_MAX_OUTPUT": "your-value",
"OLLAMA_TOOLS": "your-value",
"OLLAMA_COST_IN": "your-value",
"OLLAMA_COST_OUT": "your-value",
"OLLAMA_TIER": "your-value",
"CLAUDE_CODE_ENABLED": "your-value",
"CLAUDE_CODE_MODELS": "your-value",
"CLAUDE_CODE_TIER": "your-value",
"CLAUDE_CODE_MAX_OUTPUT": "your-value",
"CLAUDE_CODE_TIMEOUT": "your-value",
"CLAUDE_CODE_SYSTEM_PROMPT_MODE": "your-value",
"CODEX_ENABLED": "your-value",
"CODEX_MODELS": "your-value",
"CODEX_TIER": "your-value",
"CODEX_CONTEXT": "your-value",
"CODEX_MAX_OUTPUT": "your-value",
"CODEX_COST_IN": "your-value",
"CODEX_COST_OUT": "your-value",
"CODEX_TIMEOUT": "your-value",
"OPENAI_COMPAT_BASE_URL": "your-value",
"OPENAI_COMPAT_KEY": "your-value",
"OPENAI_COMPAT_MODEL": "your-value",
"OPENAI_COMPAT_NAME": "your-value",
"OPENAI_COMPAT_STRENGTHS": "your-value",
"OPENAI_COMPAT_CONTEXT": "your-value",
"OPENAI_COMPAT_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_TOOLS": "your-value",
"OPENAI_COMPAT_COST_IN": "your-value",
"OPENAI_COMPAT_COST_OUT": "your-value",
"OPENAI_COMPAT_TIER": "your-value",
"OPENAI_COMPAT_2_BASE_URL": "your-value",
"OPENAI_COMPAT_2_KEY": "your-value",
"OPENAI_COMPAT_2_MODEL": "your-value",
"OPENAI_COMPAT_2_NAME": "your-value",
"OPENAI_COMPAT_2_STRENGTHS": "your-value",
"OPENAI_COMPAT_2_CONTEXT": "your-value",
"OPENAI_COMPAT_2_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_2_TOOLS": "your-value",
"OPENAI_COMPAT_2_COST_IN": "your-value",
"OPENAI_COMPAT_2_COST_OUT": "your-value",
"OPENAI_COMPAT_2_TIER": "your-value",
"OPENAI_COMPAT_3_BASE_URL": "your-value",
"OPENAI_COMPAT_3_KEY": "your-value",
"OPENAI_COMPAT_3_MODEL": "your-value",
"OPENAI_COMPAT_3_NAME": "your-value",
"OPENAI_COMPAT_3_STRENGTHS": "your-value",
"OPENAI_COMPAT_3_CONTEXT": "your-value",
"OPENAI_COMPAT_3_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_3_TOOLS": "your-value",
"OPENAI_COMPAT_3_COST_IN": "your-value",
"OPENAI_COMPAT_3_COST_OUT": "your-value",
"OPENAI_COMPAT_3_TIER": "your-value",
"VOLANTE_QUALITY_PROFILES_FILE": "your-value",
"VOLANTE_MODEL_OVERRIDES_FILE": "your-value",
"VOLANTE_FETCH_ALLOWLIST": "your-value",
"VOLANTE_READ_ROOT": "your-value",
"VOLANTE_SANDBOX": "your-value",
"VOLANTE_MAX_SUBSCRIPTION_CALLS": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add volante --env ANTHROPIC_API_KEY=your-value --env ANTHROPIC_MODELS=your-value --env ANTHROPIC_NAMES=your-value --env ANTHROPIC_STRENGTHS=your-value --env ANTHROPIC_CONTEXT=your-value --env ANTHROPIC_MAX_OUTPUT=your-value --env ANTHROPIC_TOOLS=your-value --env ANTHROPIC_COST_IN=your-value --env ANTHROPIC_COST_OUT=your-value --env ANTHROPIC_TIER=your-value --env MOONSHOT_API_KEY=your-value --env MOONSHOT_BASE_URL=your-value --env MOONSHOT_MODELS=your-value --env MOONSHOT_NAMES=your-value --env MOONSHOT_STRENGTHS=your-value --env MOONSHOT_CONTEXT=your-value --env MOONSHOT_MAX_OUTPUT=your-value --env MOONSHOT_TOOLS=your-value --env MOONSHOT_COST_IN=your-value --env MOONSHOT_COST_OUT=your-value --env MOONSHOT_TIER=your-value --env OLLAMA_BASE_URL=your-value --env OLLAMA_API_KEY=your-value --env OLLAMA_MODELS=your-value --env OLLAMA_NAMES=your-value --env OLLAMA_STRENGTHS=your-value --env OLLAMA_CONTEXT=your-value --env OLLAMA_MAX_OUTPUT=your-value --env OLLAMA_TOOLS=your-value --env OLLAMA_COST_IN=your-value --env OLLAMA_COST_OUT=your-value --env OLLAMA_TIER=your-value --env CLAUDE_CODE_ENABLED=your-value --env CLAUDE_CODE_MODELS=your-value --env CLAUDE_CODE_TIER=your-value --env CLAUDE_CODE_MAX_OUTPUT=your-value --env CLAUDE_CODE_TIMEOUT=your-value --env CLAUDE_CODE_SYSTEM_PROMPT_MODE=your-value --env CODEX_ENABLED=your-value --env CODEX_MODELS=your-value --env CODEX_TIER=your-value --env CODEX_CONTEXT=your-value --env CODEX_MAX_OUTPUT=your-value --env CODEX_COST_IN=your-value --env CODEX_COST_OUT=your-value --env CODEX_TIMEOUT=your-value --env OPENAI_COMPAT_BASE_URL=your-value --env OPENAI_COMPAT_KEY=your-value --env OPENAI_COMPAT_MODEL=your-value --env OPENAI_COMPAT_NAME=your-value --env OPENAI_COMPAT_STRENGTHS=your-value --env OPENAI_COMPAT_CONTEXT=your-value --env OPENAI_COMPAT_MAX_OUTPUT=your-value --env OPENAI_COMPAT_TOOLS=your-value --env OPENAI_COMPAT_COST_IN=your-value --env OPENAI_COMPAT_COST_OUT=your-value --env OPENAI_COMPAT_TIER=your-value --env OPENAI_COMPAT_2_BASE_URL=your-value --env OPENAI_COMPAT_2_KEY=your-value --env OPENAI_COMPAT_2_MODEL=your-value --env OPENAI_COMPAT_2_NAME=your-value --env OPENAI_COMPAT_2_STRENGTHS=your-value --env OPENAI_COMPAT_2_CONTEXT=your-value --env OPENAI_COMPAT_2_MAX_OUTPUT=your-value --env OPENAI_COMPAT_2_TOOLS=your-value --env OPENAI_COMPAT_2_COST_IN=your-value --env OPENAI_COMPAT_2_COST_OUT=your-value --env OPENAI_COMPAT_2_TIER=your-value --env OPENAI_COMPAT_3_BASE_URL=your-value --env OPENAI_COMPAT_3_KEY=your-value --env OPENAI_COMPAT_3_MODEL=your-value --env OPENAI_COMPAT_3_NAME=your-value --env OPENAI_COMPAT_3_STRENGTHS=your-value --env OPENAI_COMPAT_3_CONTEXT=your-value --env OPENAI_COMPAT_3_MAX_OUTPUT=your-value --env OPENAI_COMPAT_3_TOOLS=your-value --env OPENAI_COMPAT_3_COST_IN=your-value --env OPENAI_COMPAT_3_COST_OUT=your-value --env OPENAI_COMPAT_3_TIER=your-value --env VOLANTE_QUALITY_PROFILES_FILE=your-value --env VOLANTE_MODEL_OVERRIDES_FILE=your-value --env VOLANTE_FETCH_ALLOWLIST=your-value --env VOLANTE_READ_ROOT=your-value --env VOLANTE_SANDBOX=your-value --env VOLANTE_MAX_SUBSCRIPTION_CALLS=your-value -- uvx volanteCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"volante": {
"command": "uvx",
"args": [
"volante"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"ANTHROPIC_MODELS": "your-value",
"ANTHROPIC_NAMES": "your-value",
"ANTHROPIC_STRENGTHS": "your-value",
"ANTHROPIC_CONTEXT": "your-value",
"ANTHROPIC_MAX_OUTPUT": "your-value",
"ANTHROPIC_TOOLS": "your-value",
"ANTHROPIC_COST_IN": "your-value",
"ANTHROPIC_COST_OUT": "your-value",
"ANTHROPIC_TIER": "your-value",
"MOONSHOT_API_KEY": "your-value",
"MOONSHOT_BASE_URL": "your-value",
"MOONSHOT_MODELS": "your-value",
"MOONSHOT_NAMES": "your-value",
"MOONSHOT_STRENGTHS": "your-value",
"MOONSHOT_CONTEXT": "your-value",
"MOONSHOT_MAX_OUTPUT": "your-value",
"MOONSHOT_TOOLS": "your-value",
"MOONSHOT_COST_IN": "your-value",
"MOONSHOT_COST_OUT": "your-value",
"MOONSHOT_TIER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_API_KEY": "your-value",
"OLLAMA_MODELS": "your-value",
"OLLAMA_NAMES": "your-value",
"OLLAMA_STRENGTHS": "your-value",
"OLLAMA_CONTEXT": "your-value",
"OLLAMA_MAX_OUTPUT": "your-value",
"OLLAMA_TOOLS": "your-value",
"OLLAMA_COST_IN": "your-value",
"OLLAMA_COST_OUT": "your-value",
"OLLAMA_TIER": "your-value",
"CLAUDE_CODE_ENABLED": "your-value",
"CLAUDE_CODE_MODELS": "your-value",
"CLAUDE_CODE_TIER": "your-value",
"CLAUDE_CODE_MAX_OUTPUT": "your-value",
"CLAUDE_CODE_TIMEOUT": "your-value",
"CLAUDE_CODE_SYSTEM_PROMPT_MODE": "your-value",
"CODEX_ENABLED": "your-value",
"CODEX_MODELS": "your-value",
"CODEX_TIER": "your-value",
"CODEX_CONTEXT": "your-value",
"CODEX_MAX_OUTPUT": "your-value",
"CODEX_COST_IN": "your-value",
"CODEX_COST_OUT": "your-value",
"CODEX_TIMEOUT": "your-value",
"OPENAI_COMPAT_BASE_URL": "your-value",
"OPENAI_COMPAT_KEY": "your-value",
"OPENAI_COMPAT_MODEL": "your-value",
"OPENAI_COMPAT_NAME": "your-value",
"OPENAI_COMPAT_STRENGTHS": "your-value",
"OPENAI_COMPAT_CONTEXT": "your-value",
"OPENAI_COMPAT_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_TOOLS": "your-value",
"OPENAI_COMPAT_COST_IN": "your-value",
"OPENAI_COMPAT_COST_OUT": "your-value",
"OPENAI_COMPAT_TIER": "your-value",
"OPENAI_COMPAT_2_BASE_URL": "your-value",
"OPENAI_COMPAT_2_KEY": "your-value",
"OPENAI_COMPAT_2_MODEL": "your-value",
"OPENAI_COMPAT_2_NAME": "your-value",
"OPENAI_COMPAT_2_STRENGTHS": "your-value",
"OPENAI_COMPAT_2_CONTEXT": "your-value",
"OPENAI_COMPAT_2_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_2_TOOLS": "your-value",
"OPENAI_COMPAT_2_COST_IN": "your-value",
"OPENAI_COMPAT_2_COST_OUT": "your-value",
"OPENAI_COMPAT_2_TIER": "your-value",
"OPENAI_COMPAT_3_BASE_URL": "your-value",
"OPENAI_COMPAT_3_KEY": "your-value",
"OPENAI_COMPAT_3_MODEL": "your-value",
"OPENAI_COMPAT_3_NAME": "your-value",
"OPENAI_COMPAT_3_STRENGTHS": "your-value",
"OPENAI_COMPAT_3_CONTEXT": "your-value",
"OPENAI_COMPAT_3_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_3_TOOLS": "your-value",
"OPENAI_COMPAT_3_COST_IN": "your-value",
"OPENAI_COMPAT_3_COST_OUT": "your-value",
"OPENAI_COMPAT_3_TIER": "your-value",
"VOLANTE_QUALITY_PROFILES_FILE": "your-value",
"VOLANTE_MODEL_OVERRIDES_FILE": "your-value",
"VOLANTE_FETCH_ALLOWLIST": "your-value",
"VOLANTE_READ_ROOT": "your-value",
"VOLANTE_SANDBOX": "your-value",
"VOLANTE_MAX_SUBSCRIPTION_CALLS": "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": {
"volante": {
"type": "stdio",
"command": "uvx",
"args": [
"volante"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"ANTHROPIC_MODELS": "your-value",
"ANTHROPIC_NAMES": "your-value",
"ANTHROPIC_STRENGTHS": "your-value",
"ANTHROPIC_CONTEXT": "your-value",
"ANTHROPIC_MAX_OUTPUT": "your-value",
"ANTHROPIC_TOOLS": "your-value",
"ANTHROPIC_COST_IN": "your-value",
"ANTHROPIC_COST_OUT": "your-value",
"ANTHROPIC_TIER": "your-value",
"MOONSHOT_API_KEY": "your-value",
"MOONSHOT_BASE_URL": "your-value",
"MOONSHOT_MODELS": "your-value",
"MOONSHOT_NAMES": "your-value",
"MOONSHOT_STRENGTHS": "your-value",
"MOONSHOT_CONTEXT": "your-value",
"MOONSHOT_MAX_OUTPUT": "your-value",
"MOONSHOT_TOOLS": "your-value",
"MOONSHOT_COST_IN": "your-value",
"MOONSHOT_COST_OUT": "your-value",
"MOONSHOT_TIER": "your-value",
"OLLAMA_BASE_URL": "your-value",
"OLLAMA_API_KEY": "your-value",
"OLLAMA_MODELS": "your-value",
"OLLAMA_NAMES": "your-value",
"OLLAMA_STRENGTHS": "your-value",
"OLLAMA_CONTEXT": "your-value",
"OLLAMA_MAX_OUTPUT": "your-value",
"OLLAMA_TOOLS": "your-value",
"OLLAMA_COST_IN": "your-value",
"OLLAMA_COST_OUT": "your-value",
"OLLAMA_TIER": "your-value",
"CLAUDE_CODE_ENABLED": "your-value",
"CLAUDE_CODE_MODELS": "your-value",
"CLAUDE_CODE_TIER": "your-value",
"CLAUDE_CODE_MAX_OUTPUT": "your-value",
"CLAUDE_CODE_TIMEOUT": "your-value",
"CLAUDE_CODE_SYSTEM_PROMPT_MODE": "your-value",
"CODEX_ENABLED": "your-value",
"CODEX_MODELS": "your-value",
"CODEX_TIER": "your-value",
"CODEX_CONTEXT": "your-value",
"CODEX_MAX_OUTPUT": "your-value",
"CODEX_COST_IN": "your-value",
"CODEX_COST_OUT": "your-value",
"CODEX_TIMEOUT": "your-value",
"OPENAI_COMPAT_BASE_URL": "your-value",
"OPENAI_COMPAT_KEY": "your-value",
"OPENAI_COMPAT_MODEL": "your-value",
"OPENAI_COMPAT_NAME": "your-value",
"OPENAI_COMPAT_STRENGTHS": "your-value",
"OPENAI_COMPAT_CONTEXT": "your-value",
"OPENAI_COMPAT_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_TOOLS": "your-value",
"OPENAI_COMPAT_COST_IN": "your-value",
"OPENAI_COMPAT_COST_OUT": "your-value",
"OPENAI_COMPAT_TIER": "your-value",
"OPENAI_COMPAT_2_BASE_URL": "your-value",
"OPENAI_COMPAT_2_KEY": "your-value",
"OPENAI_COMPAT_2_MODEL": "your-value",
"OPENAI_COMPAT_2_NAME": "your-value",
"OPENAI_COMPAT_2_STRENGTHS": "your-value",
"OPENAI_COMPAT_2_CONTEXT": "your-value",
"OPENAI_COMPAT_2_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_2_TOOLS": "your-value",
"OPENAI_COMPAT_2_COST_IN": "your-value",
"OPENAI_COMPAT_2_COST_OUT": "your-value",
"OPENAI_COMPAT_2_TIER": "your-value",
"OPENAI_COMPAT_3_BASE_URL": "your-value",
"OPENAI_COMPAT_3_KEY": "your-value",
"OPENAI_COMPAT_3_MODEL": "your-value",
"OPENAI_COMPAT_3_NAME": "your-value",
"OPENAI_COMPAT_3_STRENGTHS": "your-value",
"OPENAI_COMPAT_3_CONTEXT": "your-value",
"OPENAI_COMPAT_3_MAX_OUTPUT": "your-value",
"OPENAI_COMPAT_3_TOOLS": "your-value",
"OPENAI_COMPAT_3_COST_IN": "your-value",
"OPENAI_COMPAT_3_COST_OUT": "your-value",
"OPENAI_COMPAT_3_TIER": "your-value",
"VOLANTE_QUALITY_PROFILES_FILE": "your-value",
"VOLANTE_MODEL_OVERRIDES_FILE": "your-value",
"VOLANTE_FETCH_ALLOWLIST": "your-value",
"VOLANTE_READ_ROOT": "your-value",
"VOLANTE_SANDBOX": "your-value",
"VOLANTE_MAX_SUBSCRIPTION_CALLS": "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.
ANTHROPIC_MODELS envANTHROPIC_NAMES envANTHROPIC_STRENGTHS envANTHROPIC_CONTEXT envANTHROPIC_MAX_OUTPUT envANTHROPIC_TOOLS envANTHROPIC_COST_IN envANTHROPIC_COST_OUT envANTHROPIC_TIER envMOONSHOT_BASE_URL envMOONSHOT_MODELS envMOONSHOT_NAMES envMOONSHOT_STRENGTHS envMOONSHOT_CONTEXT envMOONSHOT_MAX_OUTPUT envMOONSHOT_TOOLS envMOONSHOT_COST_IN envMOONSHOT_COST_OUT envMOONSHOT_TIER envOLLAMA_BASE_URL envOLLAMA_MODELS envOLLAMA_NAMES envOLLAMA_STRENGTHS envOLLAMA_CONTEXT envOLLAMA_MAX_OUTPUT envOLLAMA_TOOLS envOLLAMA_COST_IN envOLLAMA_COST_OUT envOLLAMA_TIER envCLAUDE_CODE_ENABLED envCLAUDE_CODE_MODELS envCLAUDE_CODE_TIER envCLAUDE_CODE_MAX_OUTPUT envCLAUDE_CODE_TIMEOUT envCLAUDE_CODE_SYSTEM_PROMPT_MODE envCODEX_ENABLED envCODEX_MODELS envCODEX_TIER envCODEX_CONTEXT envCODEX_MAX_OUTPUT envCODEX_COST_IN envCODEX_COST_OUT envCODEX_TIMEOUT envOPENAI_COMPAT_BASE_URL envOPENAI_COMPAT_MODEL envOPENAI_COMPAT_NAME envOPENAI_COMPAT_STRENGTHS envOPENAI_COMPAT_CONTEXT envOPENAI_COMPAT_MAX_OUTPUT envOPENAI_COMPAT_TOOLS envOPENAI_COMPAT_COST_IN envOPENAI_COMPAT_COST_OUT envOPENAI_COMPAT_TIER envOPENAI_COMPAT_2_BASE_URL envOPENAI_COMPAT_2_MODEL envOPENAI_COMPAT_2_NAME envOPENAI_COMPAT_2_STRENGTHS envOPENAI_COMPAT_2_CONTEXT envOPENAI_COMPAT_2_MAX_OUTPUT envOPENAI_COMPAT_2_TOOLS envOPENAI_COMPAT_2_COST_IN envOPENAI_COMPAT_2_COST_OUT envOPENAI_COMPAT_2_TIER envOPENAI_COMPAT_3_BASE_URL envOPENAI_COMPAT_3_MODEL envOPENAI_COMPAT_3_NAME envOPENAI_COMPAT_3_STRENGTHS envOPENAI_COMPAT_3_CONTEXT envOPENAI_COMPAT_3_MAX_OUTPUT envOPENAI_COMPAT_3_TOOLS envOPENAI_COMPAT_3_COST_IN envOPENAI_COMPAT_3_COST_OUT envOPENAI_COMPAT_3_TIER envVOLANTE_QUALITY_PROFILES_FILE envVOLANTE_MODEL_OVERRIDES_FILE envVOLANTE_FETCH_ALLOWLIST envVOLANTE_READ_ROOT envVOLANTE_SANDBOX envVOLANTE_MAX_SUBSCRIPTION_CALLS envEsta 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 ribato22, 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: ANTHROPIC_API_KEY, MOONSHOT_API_KEY, OLLAMA_API_KEY, OPENAI_COMPAT_KEY, OPENAI_COMPAT_2_KEY, OPENAI_COMPAT_3_KEY
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 (0.10.0) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Foliosio
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.
Read your support inbox, tag conversations and save draft replies from your AI agent. Never sends.
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.
A transparent, user-owned model router that checks its own answers (alpha). Volante routes a goal across the models *you* configured — enforcing hard capabilities first, ranking the rest on explainable metadata and evaluation evidence — and can then verify the result by RUNNING it: assertions derived from your goal, executed in a sandbox, reported check by check. Inventory, policy, credentials and decision traces stay on your machine. By default it answers in ONE call — across 72 paired runs, planning and synthesising scored -0.047 against that [95% CI -0.135, +0.041] at 8.8x the cost, so the interval bounds its best case near +0.04. --orchestrate opts back into the task DAG for the work that genuinely needs a tool loop, which one call cannot do.
What the measurements say, including the parts that do not flatter it. This project runs a 3-arm eval against itself and publishes the losses. Orchestration does not reliably beat a single strong model: an earlier release of this README claimed +0.289 at p<0.005, it failed to reproduce, and on the goal built to give decomposition headroom a stronger model in the same family scores 0.958 alone. Four predictive gates, a repair pass and a model-escalation policy were all built, measured, and discarded. What survived every test is narrower and real — the router, the reliability work (unparsable output 2 runs in 8 -> 0 in 8), and the verifier. Full numbers, method and corrections: eval/artifacts/README.md.
Selection quality is an evidence-based prediction, not a claim of a universal winner. Volante does not yet ship published representative cross-provider benchmarks or automatic score calibration. Built without an orchestration framework (no LangChain / CrewAI / LiteLLM).
A *volante* steers the game: the deep-lying midfielder who reads the whole pitch and sends the
ball where it does the most good — then takes it back. One mind, many players.
quality, local, cheap, and cash_protect_quota are distinct routing objectives.AnthropicProvider and a generic OpenAICompatProvider speak to Anthropic, Google AI Studio (Gemini), Groq, OpenRouter, DeepSeek, Moonshot (Kimi), local Ollama, and any other OpenAI-compatible endpoint. The inventory and credentials stay in the user's environment.run_python in a Docker-isolated sandbox when a daemon is available, withheld when none is — plus host-mediated fetch_url / read_file).volante --verify derives assert statements from your goal, runs them against the result in the sandbox, and prints which passed and which failed — with the check text, not a badge, because a failing check is often the CHECK being wrong and only the line shows that. It reports three states, including "not enough evidence" when your goal states no expected result. Measured: 0 false positives and 0 false negatives across 8 goals against a coarse defect, 5 of 6 caught against edit-shaped ones. A clean report is evidence, not a guarantee.CostMeter tallies per-model usage and cost, and propagates an *estimated* flag when a provider returns no usage.FakeProvider + local subprocesses), ruff-clean, mypy-clean.flowchart TD
goal(["goal"]) --> S["Supervisor plan → validated task DAG (acyclic · typed · one_shot | agentic)"] S --> R["Router best predicted fit per task (hard constraints → explainable score)"] R --> P subgraph wave["wave execution · asyncio fan-out · fail-fast"] direction TB P["Projector scoped, budget-capped request (system + task + deps)"] P --> W["Worker one-shot"] P --> AW["AgenticWorker model ↔ tool loop (run_python · fetch_url · read_file)"] end W --> BB[("Blackboard append-only · provenance · latest-wins")] AW --> BB BB --> SY["Synthesizer combine artifacts → final answer"] SY --> result(["result
classDef io stroke:#8b5cf6,stroke-width:2px; classDef store stroke:#f59e0b,stroke-width:2px; class goal,result io; class BB store;
Text version (renders anywhere, e.g. PyPI or a terminal)
┌──────────────┐
goal ──────────► │ Supervisor │ plan → validated task DAG (acyclic, typed, one_shot|agentic) └──────┬───────┘ ▼ ┌──────────────┐ per task: hard-capability filter, then rank the │ Router │ predicted fit from configured evidence └──────┬───────┘ ▼ ┌───────────── wave execution (asyncio, fan-out cap, fail-fast) ─────────────┐ │ ┌───────────┐ scoped, budget-capped request (system + task + deps) │ │ │ Projector │──────────────────────────────────────────────────────────► │ │ └───────────┘ │ │ ▼ ▼ │ │ ┌─────────┐ one-shot ┌───────────────┐ model↔tool loop │ │ │ Worker │ │ AgenticWorker │ (run_python sandbox, │ │ └────┬────┘ └───────┬───────┘ fetch_url, read_file) │ │ └──────────────┬──────────────────┘ │ └───────────────────────┼───────────────────────────────────────────────────┘ ▼ ┌──────────────────────┐ append-only, provenance, latest-wins │ Blackboard │◄────────────────────────────────────── └──────────┬───────────┘ ▼ ┌──────────────┐ │ Synthesizer │ combine artifacts → final answer └──────┬───────┘ ▼ result (+ CostMeter totals, usage, duration)
| Component | File | Responsibility |
|---|---|---|
| Supervisor | src/volante/supervisor.py | Decompose goal → validated task DAG |
| Router | src/volante/router.py | Whole inventory → eligible candidates → explainable ranking |
| Projector | src/volante/projector.py | Scoped, budget-capped request from blackboard artifacts |
| Worker | src/volante/worker.py | One-shot model call |
| AgenticWorker | src/volante/agent.py | Model↔tool loop with per-turn records |
| Blackboard | src/volante/blackboard.py | Append-only shared state with provenance |
| Synthesizer | src/volante/synthesizer.py | Artifacts → final answer |
| Runtime | src/volante/runtime.py | Orchestrate: plan → waves → synthesize (streaming, fail-fast) |
| Providers | src/volante/providers/ | Anthropic + OpenAI-compatible adapters (complete/stream/tools) |
| Tools | src/volante/tools/ | Sandbox / DockerSandbox, run_python, fetch_url, read_file |
| Eval | eval/ | 7 goals (5 katas + 2 multi-part), 3-arm comparison, forgery-resistant scorer |
Requires Python 3.11.10+ (the floor is a security boundary — see Providers).
Install it:
pip install volante # the CLI and the library
pip install "volante[mcp]" # ...plus the MCP server, for IDE use volante --version volante --list-models # what your environment currently offers, offline
volante needs at least one configured provider before it can run a goal — see Providers for the two-line setup. Until then --list-models and --help work and everything else will tell you what is missing.
Or work on it: the clone gives you the tests, the Web UI, and a zero-key demo that the wheel deliberately does not ship.
git clone https://github.com/ribato22/volante
cd volante uv sync --dev # install deps + dev tools uv run pytest # 1200+ tests, no network uv run ruff check . # lint
uv run python examples/fake_provider.py
Then configure at least one real provider (see Providers) and run a demo:
cp .env.example .env # fill in one provider, then `set -a; . .env; set +a`
uv run python demo.py # show detected providers uv run python demo.py orchestrate # full supervisor → workers → synth, streamed live uv run python demo.py agentic # one cross-provider agentic coding task (run_python loop) uv run python demo.py eval # 3-arm eval suite
demo.py orchestrate streams every phase live, then prints the result (illustrative):
Orchestrate demo — planner/synth model=openai/gpt-4o-mini
(planning + workers + synthesis stream live) [haiku] Threads run as one— / tasks bloom in parallel time, / the join gathers all.
STATUS: success
FINAL: Threads run as one— tasks bloom in parallel time, the join gathers all.
cost: $0.001834
demo.py eval prints the 3-arm table (format_report). Here is what it actually printed on the last full run:
GOAL WINNER BASE ORCH AGEN
slugify baseline 1.00
Solo se muestra el principio; lee el resto en el repo