Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Routes to the best predicted fit from configured metadata/evidence after hard-capability filtering.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
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_CALLS「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、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"
}
}
}
}ターミナルでこれを実行します
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 volante動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
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 envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント ribato22 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ANTHROPIC_API_KEY, MOONSHOT_API_KEY, OLLAMA_API_KEY, OPENAI_COMPAT_KEY, OPENAI_COMPAT_2_KEY, OPENAI_COMPAT_3_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.10.0)がレジストリに届いたのは3 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Asset Notation
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
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 and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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
冒頭だけを表示しています。続きはリポジトリで読めます