mcpField
M
MCP Server Setup Documentation

MCP Server Setup Documentation

ローカル
github.com/mounirelbakkali1メモリ・ナレッジ079 週間前に更新

MCP Server Setup Documentation について

Python で MCP サーバーを構築し、Claude Desktop から AWS や GitHub の API を利用するための開発者向けガイドです。セットアップ、認証情報の管理、テスト、トラブルシューティングを扱います。

主な機能

  1. 01Python MCP サーバーの構築
  2. 02Claude Desktop 接続の設定
  3. 03環境変数による認証情報管理
  4. 04サーバーのテストと問題解決

活用シーン

  1. 01Claude に AWS リソース管理機能を提供
  2. 02Claude から GitHub リポジトリ情報を取得

MCP 対応

カスタム関数をツールとして Claude Desktop に公開する MCP サーバーの作成方法と、ローカルテストおよびクライアント設定を説明します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP サーバーのセットアップドキュメント

概要

このガイドでは、Claude Desktop と連携する Model Control Protocol(MCP)サーバーのセットアップ方法を詳しく説明します。MCP サーバーを使用すると、Claude は AWS サービスや GitHub などの外部システムや API と連携できるようになり、その機能が拡張されます。

前提条件

  • Python 3.8+ がインストールされていること
  • Claude Desktop アプリケーション
  • uv パッケージマネージャーがインストールされていること
  • Python とコマンドライン操作の基本的な知識

インストール手順

1. 必要なパッケージをインストールする

まず、必要なパッケージが揃っていることを確認します。

# Install UV if not already installed
pip install uv

# Install MCP and dependencies using UV
uv add mcp[cli] pygithub boto3
2. サーバースクリプトを作成する

任意のディレクトリに server.py という名前のファイルを作成し、独自の関数を実装します。

server.py の構成例:

from mcp.server.fastmcp import FastMCP
import boto3
from dotenv import load_dotenv
from github import Github

load_dotenv()

# Initialize MCP server
mcp = FastMCP("Custom MCP Server", "0.1.0")

# Define your custom functions
@mcp.tool()
def fetch_aws_ec2_instances(region_name="us-east-1"):
    """
    Fetches and describes all EC2 instances in the specified AWS region.
    :param region_name: The name of the AWS region (e.g., 'us-east-1')
    :return: A list of EC2 instances in the specified region.
    """
    ec2 = boto3.client('ec2', region_name=region_name)
    return ec2.describe_instances()

# Add more custom tools as needed...
3. サーバーをテストする

Claude Desktop に接続する前に、サーバーが正常に動作することを確認するため、テストします。

uv run mcp install server.py

通常はポート 8000 でサーバーが実行中であることを示す出力が表示されます。

4. Claude Desktop を設定する
  1. Claude Desktop アプリケーションを開きます
  2. 「File」>「Settings」>「Developer」>「Edit Config」に移動します
  3. MCP サーバーの詳細を設定に追加します。
{
  "mcpServers": {
    "Custom MCP Server": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli], pygithub, boto3",
        "mcp",
        "run",
        "/full/path/to/your/server.py"
      ]
    }
  }
}

重要な設定に関する注意事項:

  • /full/path/to/your/server.py を、server.py ファイルの絶対パスに置き換えてください
  • 必要に応じて、追加のパッケージを --with 引数に追加してください
  • 「Custom MCP Server」は任意の名前に変更できます
5. MCP サーバーを有効にして起動する
  1. Claude Desktop で「File」>「Settings」>「Developer」に移動します
  2. 設定した MCP サーバーをオンにします
  3. Claude がサーバーへの接続を試みます

高度な設定

環境変数

API キーや認証情報を安全に扱うには、.env ファイルを使用します。

server.py と同じディレクトリに .env ファイルを作成します。

.env file

AWS_ACCESS_KEY_ID=your_access_key_here AWS_SECRET_ACCESS_KEY=your_secret_key_here GITHUB_TOKEN=your_github_token_here

必要に応じて、ほかの環境変数を追加します

カスタム依存関係の追加

サーバーで追加の Python パッケージが必要な場合は、Claude Desktop の設定にある --with 引数に追加します。

"args": [
  "run",
  "--with",
  "mcp[cli], pygithub, boto3, pandas, requests",
  "mcp",
  "run",
  "/path/to/server.py"
]
エラー処理

サーバーの関数に適切なエラー処理を実装します。

@server.function()
def some_function(param):
    try:
        # Function logic
        return result
    except Exception as e:
        return {"error": str(e), "status": "failed"}

トラブルシューティング

よくある問題と解決方法
  1. 接続拒否

    • サーバーが実行中であることを確認します
    • ポートがすでに使用中でないか確認します
    • ファイアウォールの設定を確認します
  2. インポートエラー

    • すべての依存関係が --with 引数に含まれていることを確認します
    • パッケージを手動でインストールしてみます:uv pip install [package-name]
  3. 権限エラー

    • server.py のファイル権限を確認します
    • AWS/GitHub の認証情報が正しく設定されていることを確認します
  4. 関数が見つからない

    • 関数に @server.function() デコレーターが正しく付与されていることを確認します
    • サーバーと Claude Desktop の両方を再起動します

使用例

AWS リソース管理
@server.function()
def describe_ec2_instances(region_name="us-east-1"):
    ec2 = boto3.client('ec2', region_name=region_name)
    return ec2.describe_instances()

@server.function()
def start_ec2_instance(instance_id, region_name="us-east-1"):
    ec2 = boto3.client('ec2', region_name=region_name)
    return ec2.start_instances(InstanceIds=[instance_id])
GitHub 連携
@server.function()
def fetch_github_repo_info(repo):
    g = Github(os.getenv("GITHUB_TOKEN"))
    repo = g.get_repo(repo)
    return {
        "name": repo.name,
        "description": repo.description,
        "stars": repo.stargazers_count,
        "forks": repo.forks_count
    }

セキュリティに関する考慮事項

  • server.py ファイルに認証情報をハードコードしないでください
  • 機密情報には環境変数を使用してください
  • MCP サーバーに認証を実装することを検討してください
  • MCP サーバーを通じて公開する関数には注意してください

リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。