Python Server MCP - Cryptocurrency Price Service について
Python Server MCP - Cryptocurrency Price Service は、CoinMarketCap API から暗号資産の価格を取得する Python 製 MCP サーバーです。価格データを必要とする MCP クライアント向けで、環境別の設定と Docker による実行に対応しています。
主な機能
- 01暗号資産価格のリアルタイム取得
- 02CoinMarketCap API 連携
- 03環境別の設定
- 04Docker による任意のデプロイ
活用シーン
- 01MCP クライアントから暗号資産価格を取得
- 02ローカルや各環境でサーバーを実行
- 03Docker コンテナでサーバーを起動
MCP 対応
stdio を介して MCP クライアントに暗号資産価格情報を提供します。関数の定義と登録によってツールを追加できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Python Server MCP - 暗号資産価格サービス
このプロジェクトは、暗号資産の価格情報を提供する MCP(Model Context Protocol)サーバーを実装しています。Python と MCP フレームワークを使用して、さまざまなクライアントが利用できる API を作成しています。
Docker
Docker イメージのビルド:
docker build -t mcp/python-server-mcp -f Dockerfile .
mcp.json ファイルに次の内容を追加してください:
{
"mcpServers": {
"python-server-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"8000:8000",
"-e",
"ENVIRONMENT",
"-e",
"COINMARKETCAP_API_KEY",
"mcp/python-server-mcp"
],
"env": {
"ENVIRONMENT": "PRODUCTION",
"COINMARKETCAP_API_KEY": "your-api-key",
}
}
}
}
機能
- 暗号資産価格のリアルタイム取得
- 環境ベースの設定(development、production、staging、local)
- CoinMarketCap API との連携
- Docker コンテナによるデプロイ
要件
- Python 3.12+
- uv(パッケージおよび仮想環境マネージャー)
- Docker(任意。コンテナでの実行に使用)
インストール
uv を使用する(推奨)
# Clone the repository
git clone <repository-url>
cd PythonServerMcp
uv で仮想環境を作成して有効化する
uv venv
source .venv/bin/activate
依存関係をインストールする
uv sync
設定
- プロジェクトのルートに
.envファイルを作成し、次の変数を設定します。
ENVIRONMENT=DEV # Options: LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_here
- 各環境用の環境ファイルを作成することもできます。
.dev.env- 開発環境用.staging.env- ステージング環境用.prod.env- 本番環境用
使用方法
ローカルでの実行
python main.py
これにより、標準入力/標準出力(stdio)を通じてリクエストを受け付ける MCP サーバーが起動します。
Docker を使用する
# Build the image
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .
# Run the container
docker run -it test-mcp
プロジェクト構成
.
├── main.py
└── src
├── __init__.py
├── core
│ ├── common
│ │ ├── crypto_schema.py
│ │ └── schema.py
│ ├── config.py
│ ├── settings
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── development.py
│ │ ├── environment.py
│ │ ├── local.py
│ │ ├── production.py
│ │ └── staging.py
│ └── utils
│ ├── datetime.py
│ ├── extended_enum.py
│ ├── filename_generator.py
│ ├── passwords.py
│ ├── query_utils.py
│ └── redis.py
├── mcp_server.py
├── resources
│ ├── __init__.py
│ └── coinmarketcap_resource.py
├── server.py
├── services
│ ├── __init__.py
│ └── coinmarketcap_service.py
└── tools
├── __init__.py
└── prices.py
開発
MCP サーバーへの新しいツールの追加
MCP サーバーに新しいツールを追加するには、次の手順に従ってください。
src/__init__.pyファイルに関数を定義しますmain()関数にツールを登録します- docstring でツールを説明します
例:
@server.add_tool
def my_new_tool(parameter1: str, parameter2: int) -> str:
"""
Description of what the tool does.
Args:
parameter1: Description of parameter 1
parameter2: Description of parameter 2
Returns:
Description of what is returned
"""
# Tool implementation
return result
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
