Skip to content

原文(日本語に翻訳)

Python Agent SDKの修正: --mcp-config で渡された type:'sdk' のMCPサーバーが起動時に削除されなくなりました。

原文(英語)

Fixed Python Agent SDK: type:'sdk' MCP servers passed via --mcp-config are no longer dropped during startup

概要

Python Agent SDKを使用する際に、--mcp-config オプションで設定ファイルを渡すと、type: 'sdk' と指定されたMCPサーバーがClaude Codeの起動時に無視(削除)されてしまうバグが修正されました。これにより、Python SDKベースのMCPサーバーが設定通りに認識されるようになります。

基本的な使い方

--mcp-config オプションで type: 'sdk' のMCPサーバーを指定する:

json
{
  "mcpServers": {
    "my-python-sdk-server": {
      "type": "sdk",
      "module": "my_mcp_module",
      "args": []
    }
  }
}
bash
claude --mcp-config ./mcp-config.json

修正前はこの設定が無視されていましたが、修正後は正しく認識されます。

実践例

ユースケース: PythonでカスタムMCPサーバーを作成して使用する

python
# my_mcp_module.py
from claude_agent_sdk import MCPServer

class MyCustomServer(MCPServer):
    async def handle_tool_call(self, tool_name, params):
        if tool_name == "my_tool":
            return {"result": "custom result"}

設定ファイル(mcp-config.json):

json
{
  "mcpServers": {
    "my-custom-server": {
      "type": "sdk",
      "module": "my_mcp_module",
      "class": "MyCustomServer"
    }
  }
}

起動コマンド:

bash
claude --mcp-config ./mcp-config.json

修正後は、my-custom-server が正しく認識され、Claudeがカスタムツールを使用できます。

ユースケース: CI/CDパイプラインでPython SDK MCPを使用する

yaml
# GitHub Actions での設定例
- name: Run Claude Code with custom MCP
  run: |
    claude --mcp-config ./ci-mcp-config.json --print "テストを実行してください"

注意点

  • この修正はPython Agent SDKを使用する場合のみ関連します
  • type: 'sdk' はPythonのAgent SDKで作成したサーバーを示す設定です
  • Node.jsベースのMCPサーバー(type: 'stdio'type: 'sse')は影響を受けません

関連情報