2026-01-13 / Tech

Google Antigravity AI エージェントに自作の Python MCP サーバーを接続する方法を完全解説します。

📋 前提条件

  • Python 3.10+ がインストール済み
  • uv パッケージマネージャーがインストール済み
  • 仮想環境 (.venv) が作成済み
  • fastmcp パッケージがインストール済み

📁 推奨プロジェクト構造

project_root/
├── .venv/                          # 仮想環境
├── pyproject.toml                  # パッケージ定義
├── my_mcp_server/
│   ├── __init__.py                 # 必須!
│   └── server.py                   # MCPサーバー本体
└── another_server/
    ├── __init__.py
    ├── server.py
    └── utils.py

🔧 Step-by-Step 設定手順

1. pyproject.toml を作成

[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
    "fastmcp",
    "numpy",
    # その他の依存関係
]

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["."]
include = ["my_mcp_server*", "another_server*"]

重要: [tool.setuptools.packages.find] を使用することで、サブパッケージが自動検出されます。

2. __init__.py を各ディレクトリに配置

空ファイルでOK。これがないとPythonはディレクトリをパッケージとして認識しません。

# PowerShell
New-Item -ItemType File -Path my_mcp_server/__init__.py

3. Editable モードでインストール

cd project_root
uv pip install -e .

-e (Editable) の意味: ソースコードへのシンボリックリンクを作成。コードを編集すると即座に反映される。開発時は必須。

4. mcp_config.json を設定

ファイルパス: C:\Users\{USER}\.gemini\antigravity\mcp_config.json

{
  "mcpServers": {
    "my-server": {
      "command": "C:/path/to/.venv/Scripts/python.exe",
      "args": [
        "-m",
        "my_mcp_server.server"
      ],
      "cwd": "C:/path/to/project_root",
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

5. Antigravity で接続確認

MCP管理画面 → サーバー名 → Configure → "Enabled" になれば成功!

⚠️ よくあるエラーと解決策

エラー 原因 解決策
ImportError: attempted relative import... スクリプトとして直接実行 args["-m", "package.module"] に変更
ModuleNotFoundError パッケージ未インストール uv pip install -e . を実行
sqlite3.OperationalError DBディレクトリが存在しない os.makedirs(dir, exist_ok=True) を追加
No such file or directory パスが間違っている 絶対パス + cwd を設定

📝 mcp_config.json 設定キー一覧

キー 説明
command Python実行ファイルのフルパス "C:/.venv/Scripts/python.exe"
args コマンドライン引数 ["-m", "package.server"]
cwd 作業ディレクトリ (必須) "C:/project_root"
env 環境変数 {"KEY": "value"}

✅ ベストプラクティス

  • パスはスラッシュ (/) で統一 — JSONでのエスケープ問題を回避
  • -m でモジュール実行 — 相対インポートが正しく動作
  • cwd を必ず設定 — パッケージルートを明示
  • uv pip install -e . — 開発時は必須
  • __init__.py を忘れずに — 全サブディレクトリに配置
← Back to Home