Cursorでmcp.jsonを安全にGit管理する方法
Cursorを使ってアプリケーションを開発する際、GitHub や Backlog / Stripe / CircleCI などのMCPサーバーと連携し、さまざまな開発ツールと連携させたエージェンティックなワークフローを構築することがあります。しかし場合によっては、サービス連携のために必要な API キーの設定などが必要となり、Gitで MCPサーバーの設定を共有する仕組みに悩むことがあります。
この記事では、Cursorで安全にMCPサーバーの設定をGitで共有できる方法を紹介します。
CursorでのMCPサーバー設定はJSONで共有
Cursorにはプロジェクト単位でMCPサーバーの設定を行う機能が用意されています。この機能を利用することで、「このプロジェクトで使うMCPサーバーはこれ」「このプロジェクトで使うMCPサーバーの機能(ツール)を制限する」などの管理や、新しく参加したメンバーへの環境セットアップの効率化などが図れます。
.cursor/mcp.jsonを作成し、以下のコードを入れてみましょう。これでこのプロジェクトではPlaywright MCPサーバーが利用できるようになります。
{
"mcpServers": {
"playwright-mcp": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
この方法に対する懸念点は1つ、APIキーなどの漏洩リスクです。JSONで設定を行うため、Stripe / Backlog / CircleCIなどの外部サービスとの連携を行うには、JSON内にAPIキーを記述する必要があります。
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"env": {
"CIRCLECI_TOKEN": "YOUR_SECRET"
}
}
}
}
このようなファイルをGitにcommitしてしまうと、JSONに記載したAPIキーが漏洩しかねない状態になります。
envFileで環境変数をファイルから読み取る
Cursorでmcp.jsonを安全に扱うために知っておきたいパラメーターがenvFileです。これを使うことで、先に紹介した「APIキーを必要とするMCPサーバーの設定を、Git管理されているmcp.jsonに記載できない」問題が解決できます。
このパラメーターは、該当のMCPサーバーを起動する際に読み取る環境変数ファイルのパスを指定できます。.envにAPIキーを記載しておけば、mcp.jsonでは.envファイルのパスをenvFileに定義しておくだけで、MCPサーバーもAPIキーを.envのデータを読み取って利用してくれます。
先ほどのCircleCI MCPサーバーの例ですと、まず.envファイルにAPIキーを移動させます。
CIRCLECI_TOKEN=CCIPAT_xxx
その後、.cursor/mcp.jsonの設定を変更し、envFileを指定します。
{
"mcpServers": {
"circleci-mcp-server": {
"command": "npx",
"args": ["-y", "@circleci/mcp-server-circleci"],
"envFile": "${workspaceFolder}/.env"
}
}
}
これでmcp.jsonにAPIキーなどの機密情報がなくなりました。あとは.envファイルを.gitignoreしていることを確認し、Gitに追加しましょう。
APIキーは.envで集約管理しよう
MCPサーバーはとても便利でパワフルな開発支援ツールの1つです。しかしMCPサーバーのためにアプリケーションとは異なるファイルにAPIキーを追加で記述し、2重管理にするのはあまり好ましい状況ではありません。また、MCPサーバーの設定をチームで共有したい場合にも、APIキー漏洩リスクなどから、mcp.jsonにAPIキーを直接記述することはお勧めできません。
envFileを活用し、安全かつ効率的なチーム開発フローを実現しましょう。
