Cursor MCP Clientの利用について📝

Cursor MCP Clientの利用について📝
Cursor Settingsを選択する📝
Add new global MCP Server を押す。
すると、mcp.jsonが開かれるので、以下のように内容を追記する。
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
},
"lapras": {
"command": "npx",
"args": [
"-y",
"@lapras-inc/lapras-mcp-server"
],
"env": {
"LAPRAS_API_KEY": "<YOUR_LAPRAS_API_KEY>" // LAPRASのAPI Keyを取得してください。
}
}
}
}
追加したMCP Server は、このように反映されます。
(追加した後は、リフレッシュボタンを押して設定を反映させましょう📝)
lapras-mcp-serverを利用して、求人検索をしている様子📝
Playwright MCPを利用して、Web操作をさせている時の様子📝

Cursor の mcp.json について設定内容について📝
1. どこに置く? – 配置場所と検索順序
スコープ | 既定パス | 説明 |
---|---|---|
プロジェクト固有 | <project>/.cursor/mcp.json |
リポジトリ共有用。チーム全員で同じ MCP を使う場合に便利。([Cursor][1], [Nx][2]) |
グローバル |
~/.cursor/mcp.json (Windows は %USERPROFILE%\.cursor\mcp.json ) |
どのワークスペースでも共通で使いたい MCP を定義。Cursor はまずローカル → 次にグローバルの順に読み込みます。([Cursor - Community Forum][3]) |
Tips
GUI からサーバーを追加すると最初に空の mcp.json が自動生成されます。v0.47 以降 UI がなくなったため手動編集が前提になりました。([Cursor - Community Forum][4])
2. JSON スキーマの概要
{
"mcpServers": {
"<server-name>": {
// ★ stdio (ローカルプロセス) なら…
"command": "python", // or "npx", "go", など任意
"args": ["path/to/server.py"],
// ★ SSE (リモート/ローカル常駐) なら…
// "url": "http://localhost:8000/sse",
/* 共通オプション */
"env": { "API_KEY": "value" }, // 起動時の環境変数
"cwd": "/optional/working/dir", // プロセスを起動する作業ディレクトリ
"enabled": true // false にすると一時的に無効化
}
}
}
フィールド | 必須 | 説明 |
---|---|---|
command |
stdio で必須 | 実行ファイルまたはランチャー (python , npx , node , uv 等)([Medium][5], [PyPI][6]) |
args |
stdio で必須 |
配列でコマンドライン引数を列挙。配列でないと mcpServers must be an object エラーになるので注意。([Cursor - Community Forum][4]) |
url |
SSE で必須 |
http(s)://host:port/sse 形式のエンドポイント。Cursor は HTTP + Server-Sent Events で接続。([DEV Community][7]) |
env |
任意 | API キーなどを文字列で渡す。複数可。([Cursor][1]) |
cwd |
任意 | プロセスを起動するワーキングディレクトリ。大型プロジェクトでルート相対のパス解決が必要な場合に便利。([GitHub][8]) |
enabled |
任意 |
false にすると設定を残したまま一時停止できる(Medium 記事でも利用例あり)。([Medium][5]) |
3. 代表的な設定例
3-1. Node.js CLI (stdio)
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
}
}
}
Cursor がローカルで npx -y @modelcontextprotocol/server-github
を実行し、標準入出力で通信します。([Cursor][1], [Medium][5])
3-2. Python CLI (stdio)
{
"mcpServers": {
"duckdb": {
"command": "/usr/bin/python",
"args": ["duckdb_server.py"],
"cwd": "/opt/duckdb-mcp",
"env": { "PORT": "8010" }
}
}
}
cwd
を指定して仮想環境下のスクリプトを呼び出す例。([GitHub][8], [PyPI][6])
3-3. Remote SSE
{
"mcpServers": {
"hackernews": {
"url": "https://mcp.composio.dev/hackernews/<secure-token>",
"env": { "API_KEY": "value" }
}
}
}
手元でプロセスを立ち上げないため、CI や複数マシン共有に向いています。([DEV Community][7])
4. 使いこなしのポイント & よくあるハマりどころ
-
40 ツール制限
Cursor は最大 40 個までしかツール定義を LLM に渡さないため、大量に登録する場合はenabled:false
で絞り込むか、プロジェクト別に分割が必要です。([Medium][5]) -
秘密情報の扱い
env
は平文で保存されるため、そのまま Git にコミットしないこと。Vault の出力展開は JSON 上はただの文字列になるので注意が必要です。([Reddit][9])- 実運用では
.cursor/mcp.json
を.gitignore
に追加 し、CI 用には環境変数で上書きする方式が推奨です。
- 実運用では
-
「Editor が mcp.json を開くだけで UI が出ない」問題
v0.47 で UI が一時的に削除され、手動編集が必要になりました。ファイルが空配列になっていると認識されないので、必ずオブジェクト形式で書き直してください。([Cursor - Community Forum][4]) -
動作確認
Cmd/Ctrl + Shift + J → MCP
タブでステータス(緑点)を確認。エラー時は View → Output → Cursor MCP に詳細ログが出ます。([Cursor - Community Forum][3])
5. ベストプラクティスまとめ
項目 | 推奨 |
---|---|
バージョン管理 | プロジェクト固有の場合でも API キーは別ファイル (.env) に分離し、mcp.json では ENV_VAR_NAME のみ参照させる |
大規模構成 | ツールが 40 個を越える場合は enabled:false やプロジェクト分割を活用 |
クロスプラットフォーム |
command は絶対パスより npx , python など PATH 検出可能な呼び方に寄せる |
CI/CD | 実行ユーザーに PATH/CWD が正しく通るよう、cwd を活用して「どこからでも動く」書き方に統一 |
セキュリティ | Vault/1Password-CLI などでトークンを動的に注入し、平文コミットを回避 |
参考・引用