エンジニアを目指す初学者に向けて、わかりやすく解説したブログです。

Claude Codeにローカル起動型のMCPサーバーを接続する

やりたいこと

ローカルで起動するタイプのMCPサーバーを、Claude Codeに接続したい。

公式ドキュメント(Icon in a page linkModel Context Protocol (MCP) - Anthropic)を見ても、リモートに設置されたMCPサーバーへの接続方法しか記載しておらず
自作&ローカル起動型のMCPサーバーを繋ぐ方法が分からなかった。

しかし、この方法で解決したのでメモ。

前提

📄Arrow icon of a page linkMCPサーバーを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"
      ]
    }
  }
}

直接設定ファイルを触ろうと思ったが、どこに配置されているか分からなかったので上記の対応をした。