MCP
ユーザーのmcp.jsonとワークスペースの.spirit/mcp.json。同じサーバー名の場合はワークスペースが優先されます。
MCPサーバーは、Spiritの外部からツール、リソース、プロンプトを追加します。
| スコープ | パス |
|---|---|
| ユーザー | {spiritDataDir}/mcp.json |
| ワークスペース | {workspace}/.spirit/mcp.json |
両方のファイルが同じサーバー名を定義する場合、ワークスペースのエントリが優先されます。
サーバーは設定 → MCPで管理するか、CLIでspirit mcp(list、show、init、enable、disable、inspect、tools、call-toolなど)を使用して管理します。
MCPツールは、エージェントがすでに持っている同じツールリストに統合されます。高リスクなものは、依然として承認を通過します。
ファイルフィールド
ルートオブジェクトにはserversのみが含まれます。各サーバーにはtransportを含め、typeをstdioまたは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
}
}
}
}