Spirit Agent

MCP

ユーザーのmcp.jsonとワークスペースの.spirit/mcp.json。同じサーバー名の場合はワークスペースが優先されます。

MCPサーバーは、Spiritの外部からツール、リソース、プロンプトを追加します。

スコープパス
ユーザー{spiritDataDir}/mcp.json
ワークスペース{workspace}/.spirit/mcp.json

両方のファイルが同じサーバー名を定義する場合、ワークスペースのエントリが優先されます。

サーバーは設定 → MCPで管理するか、CLIでspirit mcplistshowinitenabledisableinspecttoolscall-toolなど)を使用して管理します。

MCPツールは、エージェントがすでに持っている同じツールリストに統合されます。高リスクなものは、依然として承認を通過します。

ファイルフィールド

ルートオブジェクトにはserversのみが含まれます。各サーバーにはtransportを含め、typestdioまたはhttpに設定する必要があります。

フィールド説明
serversオブジェクト。キーはサーバー名
displayName任意。UIラベル。デフォルトはサーバー名。display_nameも受け入れられます
enabled任意。デフォルトはtrue
capabilities.tools任意。デフォルトはtrue
capabilities.resources任意。デフォルトはtrue
capabilities.prompts任意。デフォルトはtrue
transport.type必須。stdioまたはhttp

stdio

フィールド説明
command必須。起動コマンド
args任意。コマンド引数
env任意。環境変数。値は${env:NAME}を使用できます
cwd任意。作業ディレクトリ
timeoutMs任意。タイムアウト(ミリ秒)。timeout_msも受け入れられます
stderr任意。inherit(デフォルト)またはpipe

http

フィールド説明
url必須。サーバーURL
headers任意。リクエストヘッダー。値は${env:NAME}を使用できます
timeoutMs任意。タイムアウト(ミリ秒)。timeout_msも受け入れられます

{
  "servers": {
    "local-docs": {
      "displayName": "Local docs",
      "enabled": true,
      "capabilities": {
        "tools": true,
        "resources": true,
        "prompts": false
      },
      "transport": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "example-mcp-server"],
        "env": {
          "API_TOKEN": "${env:EXAMPLE_API_TOKEN}"
        },
        "cwd": "/path/to/workspace",
        "timeoutMs": 15000,
        "stderr": "pipe"
      }
    },
    "remote-tools": {
      "transport": {
        "type": "http",
        "url": "https://mcp.example.com/mcp",
        "headers": {
          "Authorization": "Bearer ${env:EXAMPLE_MCP_TOKEN}"
        },
        "timeoutMs": 20000
      }
    }
  }
}