📝 Creación de MCP Servers y su uso con GitHub Copilot en modo Agente について
開発者向けのMCP講演資料とサンプルを収録したリポジトリです。テキストファイルに付箋を保存するサーバーを含み、GitHub CopilotのエージェントモードやClaude AIとの連携例も紹介します。
主な機能
- 01付箋の追加と読み取り
- 02最新の付箋をリソースとして公開
- 03付箋要約プロンプトの生成
- 04MCP講演資料とサンプルの提供
- 05CopilotとClaudeの連携例
活用シーン
- 01ファイルベースの付箋サーバーの構築
- 02AIによる付箋の追加や読み取り
- 03最新の付箋の取得と要約
- 04独自MCPサーバーの接続方法の学習
MCP 対応
付箋を追加・読み取るツール、最新の付箋リソース、要約プロンプトを公開するMCPサーバーを含みます。GitHub CopilotのエージェントモードやClaude AIへの接続方法も説明しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
📝 MCP サーバーの作成とエージェントモードでの GitHub Copilot との使用
このリポジトリには、エージェントモードでの GitHub Copilot と MCP サーバーの統合に関する講演で使用する、資料、サンプル、および付箋を管理する MCP(Model Context Protocol)サーバーの実装が含まれています。
📢 第 1 部:講演について
📋 概要
この 1 時間の講演は、カスタム MCP サーバーを使用して GitHub Copilot の機能を拡張することに関心があり、エージェントのワークフローを理解したい開発者を対象としています。GitHub Copilot と Claude AI で MCP サーバーを作成し、統合する方法を学びます。
📚 アジェンダ
- MCP とその目的の紹介
- MCP サーバーのアーキテクチャ
- 実践例:基本的な MCP サーバーの作成
- GitHub Copilot(エージェントモード)および Claude AI との MCP サーバーの統合
- VS Code での MCP 拡張機能の設定
- サーバーの実行と Copilot への接続
- Copilot を使用して MCP サーバーとやり取りする例
- Claude AI を使用して MCP サーバーとやり取りする例
- ユースケースとベストプラクティス
- 質疑応答
⚙️ 要件
- Python:バージョン 3.10 以降
- Node.js:バージョン 18 以降
- npm または yarn:JavaScript の依存関係の管理用
- uv:Python 環境と依存関係を管理する最新のツール
- GitHub アカウント:Copilot(エージェントモード)へのアクセス権が必要です
- エディター:MCP 拡張機能を備えた VS Code を推奨します
- Claude AI:(任意)Claude との統合デモ用
🚀 インストール
# Clonar el repositorio
git clone https://github.com/ingfcetina/mcp-servers.git
# Navegar al directorio del proyecto
cd mcp-servers
🔗 追加リソース
🤖 第 2 部:AI Sticky Notes MCP Server
📋 概要
このリポジトリの実践パートでは、付箋を管理する MCP(Model Context Protocol)サーバーを実装します。AI モデルが、テキストファイルに保存されたメモを作成、読み取り、要約できます。
🏗️ アーキテクチャ
graph TD
A[Cliente MCP] -->|Solicita acción| B[Servidor FastMCP]
B -->|Herramientas| C[add_note]
B -->|Herramientas| D[read_notes]
B -->|Recursos| E[get_latest_note]
B -->|Prompts| F[note_summary_prompt]
C -->|Escribe en| G[sticky_notes.txt]
D -->|Lee de| G
E -->|Lee de| G
F -->|Lee de| G
🧩 コンポーネント
MCP サーバーは、主に 3 種類のコンポーネントを提供します。
🛠️ ツール(@mcp.tool())
ツールは、モデルがアクションを実行するために呼び出せる関数です。
classDiagram
class Tool {
+add_note(message: str) str
+read_notes() str
}
- add_note:ファイルに新しいメモを追加します
- read_notes:保存されたすべてのメモを読み取ります
📚 リソース(@mcp.resource())
リソースは、モデルが参照できるデータを提供します。
classDiagram
class Resource {
+get_latest_note() str
}
- get_latest_note:最新のメモのみを返します
💬 プロンプト(@mcp.prompt())
プロンプトは、AI モデル向けのカスタム指示を生成します。
classDiagram
class Prompt {
+note_summary_prompt() str
}
- note_summary_prompt:すべてのメモを要約するためのプロンプトを作成します
📊 データフロー
sequenceDiagram
participant AI as Modelo de IA
participant MCP as Servidor MCP
participant File as sticky_notes.txt
AI->>MCP: Invocar add_note("Nueva nota")
MCP->>File: Escribir "Nueva nota"
MCP->>AI: "Note added: Nueva nota"
AI->>MCP: Invocar read_notes()
MCP->>File: Leer contenido
MCP->>AI: "Nueva nota\nOtra nota anterior"
AI->>MCP: Consultar notes://latest
MCP->>File: Leer última línea
MCP->>AI: "Nueva nota"
AI->>MCP: Usar note_summary_prompt()
MCP->>File: Leer contenido
MCP->>AI: "Summarize the following notes:\nNueva nota\nOtra nota anterior"
🚀 使用方法
環境の準備
-
uv をインストールします(パッケージと仮想環境を管理するツール):
# En Windows PowerShell (ejecutar como administrador) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # En Linux/macOS curl -LsSf https://astral.sh/uv/install.sh | sh -
Python 3.10 以降で仮想環境を作成します:
# Navega al directorio del proyecto cd C:\mcp-servers # Crea el entorno virtual uv venv --python=3.10 .venv -
仮想環境を有効にします:
- PowerShell の場合:
.venv\Scripts\Activate.ps1 # 権限の問題がある場合は、最初に次のコマンドを実行します: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - CMD の場合:
.venv\Scripts\activate.bat - Bash の場合:
source .venv/Scripts\activate
- PowerShell の場合:
-
MCP の依存関係とその他の必要な依存関係をインストールします:
# SDK de MCP con CLI incluido uv pip install "mcp[cli]" # Otras dependencias útiles uv pip install pydantic python-dotenv pyyaml
VS Code との連携
-
GitHub Copilot がインストールされていることを確認します:
- VS Code を開きます
- 拡張機能タブに移動します(Ctrl+Shift+X)
- 「GitHub Copilot」を検索し、公式拡張機能をインストールします
- エージェントモードで Copilot の機能を利用できることを確認します
-
settings.json で MCP サーバーを設定します:
- 共有された画像
に示されているように、VS Code にはすでに MCP の設定があります - settings.json で設定を確認または変更できます:
"mcp": { "servers": { "Demo": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "C:\\mcp-servers\\project\\main.py" ] } } } - 共有された画像
-
GitHub Copilot を通じて MCP サーバーを操作します:
- Copilot のエージェントモードでは、
add_note、read_notes、get_latest_noteなどのコマンドを直接使用できます
- Copilot のエージェントモードでは、
Claude AI との連携
-
Claude AI に MCP サーバーをインストールします:
# Asegúrate de tener el entorno virtual activado .venv\Scripts\Activate.ps1 # Instala tu servidor en Claude AI mcp install C:\mcp-servers\project\main.py -
claude_desktop_config.jsonを設定します:{ "mcpServers": { "Demo": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "C:\\mcp-servers\\project\\main.py" ] } } } -
Claude AI を通じてサーバーを操作します:
- Claude AI クライアントを再起動します
- 設定で MCP サーバー「Demo」を選択します
- 会話で
add_note、read_notes、get_latest_noteなどのコマンドを使用します
開発用の直接実行
MCP サーバーを直接実行するには:
# Activa el entorno virtual
.venv\Scripts\Activate.ps1
# Ejecuta el servidor MCP en modo desarrollo
uv run --with mcp mcp dev project/main.py
# Alternativa para ejecución sin inspector
uv run --with mcp mcp run project/main.py
MCP Inspector がブラウザーで http://localhost:6277 に自動的に開きます。
🔧 よくある問題の解決
-
エラー:ポートが使用中です(6277)
# Identifica el proceso usando el puerto netstat -ano | findstr :6277 # Termina el proceso (reemplaza <PID> con el número identificado) taskkill /F /PID <PID> -
接続エラー:「Connection Error, is your MCP server running?」と表示された場合:
- サーバーが実行中であることを確認します
- ファイアウォールが接続をブロックしていないことを確認します
- main.py へのパスが正しいことを確認します
-
仮想環境が有効にならない:
- conda と uv を同時に使用している場合は、まず conda を無効にします:
conda deactivate - 次に uv 環境を有効にします
- conda と uv を同時に使用している場合は、まず conda を無効にします:
📋 付箋用 MCP サーバーのコンポーネントリファレンス
以下に、この MCP サーバーに実装されているコンポーネントを、種類と機能別に詳しく示します:
| 種類 | 名前 | 説明 | パラメーター | 戻り値 |
|---|---|---|---|---|
| 🛠️ ツール | add_note | 保存ファイルに新しい付箋を追加します | message (str):保存するメモのテキスト | 追加したメモのテキストを含む確認メッセージ |
| 🛠️ ツール | read_notes | 保存されているすべてのメモを取得して表示します | なし | 既存のすべてのメモの一覧 |
| 📚 リソース | notes://latest | 最新のメモにすばやくアクセスできるようにします | なし | 最後に追加されたメモのテキスト |
| 💬 プロンプト | note_summary_prompt | モデルが構造化された要約を作成するための指示を生成します | なし | 現在のメモを含むプロンプトテンプレート |
これらのコンポーネントが連携し、モデルコンテキストプロトコル(MCP)を通じて付箋を包括的に管理します。
📄 ライセンス
このリポジトリのコードとサンプルには、GNU General Public License v3.0(GPL-3.0)が適用されます。このライセンスの条件に従って、コードを使用、変更、配布できます。詳細については、LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。