Mcp Server Python について
Mcp Server Pythonは、Cursor AIなどのMCP対応環境にツールを公開する方法を学ぶ開発者向けのPythonサンプルです。加算ツールと、環境変数からAPI_KEYを取得するツールを備えています。
主な機能
- 01Python製MCPサーバーの例
- 022つの数値の加算
- 03環境変数API_KEYの取得
- 04Cursor AIの設定
- 05ローカルサーバーのテスト
活用シーン
- 01基本的なMCPツール定義を学習
- 02Cursor Composerでツール呼び出しをテスト
- 03環境変数へのアクセスを確認
MCP 対応
標準入出力で動作するMCPサーバーとして、数値の加算とAPI_KEY環境変数の取得という2つのツールを提供します。付属の設定によりCursor AIから検出・起動できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
# MCP Server in Python
## Overview
**MCP (Model Context Protocol)** is a framework that allows you to integrate custom tools into AI-assisted development environments—such as Cursor AI. MCP servers expose functionality (like data retrieval or code analysis) so that an LLM-based IDE can call these tools on demand.
This project demonstrates an MCP server built in Python that provides two basic tools. One tool, **add**, accepts two numbers and returns their sum, while the other, **getApiKey**, retrieves the API key from the environment (via the `API_KEY` variable). Learn more about MCP in the [Model Context Protocol Introduction](https://modelcontextprotocol.io/introduction).
## Requirements
- **Python:** A modern version of Python (3.8 or higher is recommended).
- **Virtual Environment:** It is recommended to use a virtual environment for dependency management.
## Features
- **MCP Integration:** Exposes tool functionality to LLM-based IDEs.
- **Addition Tool:** Accepts two numeric parameters and returns their sum.
- **Env Var Retrieval:** Demonstrates how to load an example environment variable from the configuration file.
- **CLI Support:** Provides a command-line interface via `mcp[cli]` for easy local development and testing.
- **Standard I/O Transport:** Integrates with development environments using standard I/O for seamless communication.
## Installation
1. **Clone the Repository**
```bash
git clone <repository_url>
cd <repository_directory>
```
-
仮想環境のセットアップ
Python の仮想環境を作成して有効化します:
python -m venv .venvLinux および macOS の場合:
source .venv/bin/activateWindows の場合:
.venv\Scripts\activate -
依存関係のインストール
次のコマンドで MCP パッケージと CLI 拡張機能をインストールします:
pip install mcp mcp[cli]
サーバーをローカルでテストする
MCP サーバーをローカルで実行するには、次のコマンドを実行します:
mcp dev mcp-server.py
サーバーの起動後、表示された URL をブラウザーで開きます。Connect をクリックし、続けて List Templates をクリックします。テンプレートを選択して名前を入力し、最後に Read Resources をクリックして出力を確認します。また、Tools をクリックしてツールを選択し、必要な値を入力して Run Tool をクリックすると、ツールの機能をテストできます。
Cursor AI との統合
このプロジェクトには、Cursor AI が MCP サーバーを自動的に検出して起動できるようにする mcp.json 設定ファイルが含まれています。次の構造で mcp.json ファイルを開くか、新規作成します:
{
"mcpServers": {
"MCP Server": {
"command": "/path/to/mcp-server-python/.venv/bin/python3",
"args": ["/path/to/mcp-server-python/mcp-server.py"],
"env": {
"API_KEY": "abc-1234567890"
}
}
}
}
-
mcpServers:
サーバー名とその設定を対応付けるオブジェクトです。 -
MCP Server:
サーバー設定のキーです。任意の名前を付けられます。 -
command:
仮想環境内の Python 実行ファイルへの絶対パスを指定します。例:/home/john/mcp-server-python/.venv/bin/python3 -
args:
MCP サーバーファイルへの絶対パスを含む配列です。例:["/home/john/mcp-server-python/mcp-server.py"] -
env:(任意)
MCP サーバープロセスの環境変数を定義します。この例では、API_KEYに"abc-1234567890"が設定されています。環境に合わせてこの値を変更してください。ターミナルで
which pythonを実行すると、Python 実行ファイルの絶対パスを確認できます。
任意:設定の自動化スクリプト
mcp.json ファイルを正しい絶対パスに自動更新して、ローカル環境を簡単に設定できます。ローカル設定を適用するには、プロジェクトのルートディレクトリから次のコマンドを実行します:
chmod +x ./scripts/update_config.sh
./scripts/update_config.sh
このスクリプトは、mcp.json 内のプレースホルダーパスを、Python とサーバースクリプトのマシン上の絶対パスに置き換え、設定が常に正確であることを保証します。
任意:Cursor のグローバル設定
mcp.json ファイルを ~/.cursor にある Cursor AI のグローバル設定ディレクトリに移動して、設定をグローバルに利用できるようにすることもできます。
Cursor Composer で MCP ツールを使用する
MCP サーバーを Cursor AI と統合し、Cursor Composer でエージェントモードを有効にしたら、次のような自然言語のプロンプトを使用するだけです:
add 3 and 5
または
what is my API key?
AI エージェントは、MCP サーバーで利用できる add または getApiKey ツールを推測し、それに応じて実行します。
コードの概要
このプロジェクトは、次の主要な部分で構成されています:
-
MCP サーバーの初期化:
MCP ライブラリを使用して MCP サーバーをインスタンス化し、標準 I/O トランスポート経由で接続します。 -
ツールの定義:
- add:
2 つの数値入力を受け取り、その合計を返すように定義されています。 - getApiKey:
環境変数API_KEYから API キーを取得して返します。
- add:
MCP とは?
Model Context Protocol(MCP) は、AI 支援開発環境にカスタムツールを統合するための標準化された方法を提供します。MCP を使用すると、外部データの取得、コードの検証、コーディング規約の適用など、特定のタスクを実行するツールを定義でき、IDE 内の AI アシスタントがコンテキストに基づいてこれらのツールを自動的に呼び出せます。これにより、開発者の生産性が向上し、一貫した品質が保たれ、ワークフローが効率化されます。
参考資料と出典
ライセンス
このプロジェクトは、MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。