やりたいこと
ローカルで起動するタイプのMCPサーバーを、Claude Codeに接続したい。
公式ドキュメント(Model Context Protocol (MCP) - Anthropic)を見ても、リモートに設置されたMCPサーバーへの接続方法しか記載しておらず
自作&ローカル起動型のMCPサーバーを繋ぐ方法が分からなかった。
しかし、この方法で解決したのでメモ。
前提
📄MCPサーバーをPythonで自作する で作成したMCPサーバーを接続することを想定している。
ポイントは
- uvコマンドで起動
- uvコマンドを実行すべきディレクトリは、どこでもいいわけではない
結論
■フォーマット
claude mcp add MCPサーバーとして登録する名前 uv -- --directory 自作MCPサーバーのディレクトリを絶対パスで記載 run main.py
■実例
claude mcp add greet uv -- --directory /Users/username/workspace/mcp-sample run main.py
補足
公式ドキュメント記載のMCP stdio serverの設定方法が以下である。
# Basic syntax
claude mcp add <name> <command> [args...]
# Example: Adding a local server
claude mcp add my-server -e API_KEY=123 -- /path/to/server arg1 arg2
# This creates: command="/path/to/server", args=["arg1", "arg2"]
Claude Desktopの設定ファイルが↓のような形だったため、これに沿うように記述する。
{
"mcpServers": {
"greet": {
"command": "uv",
"args": [
"--directory",
"<ここにはmain.pyへの絶対パスを入れる>",
"run",
"main.py"
]
}
}
}
直接設定ファイルを触ろうと思ったが、どこに配置されているか分からなかったので上記の対応をした。