mcpField
📝
📝 Creación de MCP Servers y su uso con GitHub Copilot en modo Agente

📝 Creación de MCP Servers y su uso con GitHub Copilot en modo Agente

ローカル
github.com/ingfcetinaバージョン管理377 週間前に更新

📝 Creación de MCP Servers y su uso con GitHub Copilot en modo Agente について

開発者向けのMCP講演資料とサンプルを収録したリポジトリです。テキストファイルに付箋を保存するサーバーを含み、GitHub CopilotのエージェントモードやClaude AIとの連携例も紹介します。

主な機能

  1. 01付箋の追加と読み取り
  2. 02最新の付箋をリソースとして公開
  3. 03付箋要約プロンプトの生成
  4. 04MCP講演資料とサンプルの提供
  5. 05CopilotとClaudeの連携例

活用シーン

  1. 01ファイルベースの付箋サーバーの構築
  2. 02AIによる付箋の追加や読み取り
  3. 03最新の付箋の取得と要約
  4. 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 サーバーを作成し、統合する方法を学びます。

📚 アジェンダ
  1. MCP とその目的の紹介
  2. MCP サーバーのアーキテクチャ
  3. 実践例:基本的な MCP サーバーの作成
  4. GitHub Copilot(エージェントモード)および Claude AI との MCP サーバーの統合
    • VS Code での MCP 拡張機能の設定
    • サーバーの実行と Copilot への接続
    • Copilot を使用して MCP サーバーとやり取りする例
    • Claude AI を使用して MCP サーバーとやり取りする例
  5. ユースケースとベストプラクティス
  6. 質疑応答
⚙️ 要件
  • 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"
🚀 使用方法
環境の準備
  1. 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
    
  2. Python 3.10 以降で仮想環境を作成します:

    # Navega al directorio del proyecto
    cd C:\mcp-servers
    
    # Crea el entorno virtual
    uv venv --python=3.10 .venv
    
  3. 仮想環境を有効にします:

    • PowerShell の場合:
      .venv\Scripts\Activate.ps1
      
      # 権限の問題がある場合は、最初に次のコマンドを実行します:
      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
      
    • CMD の場合:
      .venv\Scripts\activate.bat
      
    • Bash の場合:
      source .venv/Scripts\activate
      
  4. MCP の依存関係とその他の必要な依存関係をインストールします:

    # SDK de MCP con CLI incluido
    uv pip install "mcp[cli]"
    
    # Otras dependencias útiles
    uv pip install pydantic python-dotenv pyyaml
    
VS Code との連携
  1. GitHub Copilot がインストールされていることを確認します:

    • VS Code を開きます
    • 拡張機能タブに移動します(Ctrl+Shift+X)
    • 「GitHub Copilot」を検索し、公式拡張機能をインストールします
    • エージェントモードで Copilot の機能を利用できることを確認します
  2. settings.json で MCP サーバーを設定します:

    • 共有された画像 alt text に示されているように、VS Code にはすでに MCP の設定があります
    • settings.json で設定を確認または変更できます:
    "mcp": {
        "servers": {
            "Demo": {
                "command": "uv",
                "args": [
                    "run",
                    "--with",
                    "mcp[cli]",
                    "mcp",
                    "run",
                    "C:\\mcp-servers\\project\\main.py"
                ]
            }
        }
    }
    
  3. GitHub Copilot を通じて MCP サーバーを操作します:

    • Copilot のエージェントモードでは、add_note、read_notes、get_latest_note などのコマンドを直接使用できます
Claude AI との連携
  1. 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
    
  2. claude_desktop_config.json を設定します:

    {
      "mcpServers": {
        "Demo": {
          "command": "uv",
          "args": [
            "run",
            "--with",
            "mcp[cli]",
            "mcp",
            "run",
            "C:\\mcp-servers\\project\\main.py"
          ]
        }
      }
    }
    
  3. 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 環境を有効にします

📋 付箋用 MCP サーバーのコンポーネントリファレンス

以下に、この MCP サーバーに実装されているコンポーネントを、種類と機能別に詳しく示します:

種類名前説明パラメーター戻り値
🛠️ ツールadd_note保存ファイルに新しい付箋を追加しますmessage (str):保存するメモのテキスト追加したメモのテキストを含む確認メッセージ
🛠️ ツールread_notes保存されているすべてのメモを取得して表示しますなし既存のすべてのメモの一覧
📚 リソースnotes://latest最新のメモにすばやくアクセスできるようにしますなし最後に追加されたメモのテキスト
💬 プロンプトnote_summary_promptモデルが構造化された要約を作成するための指示を生成しますなし現在のメモを含むプロンプトテンプレート

これらのコンポーネントが連携し、モデルコンテキストプロトコル(MCP)を通じて付箋を包括的に管理します。


📄 ライセンス

このリポジトリのコードとサンプルには、GNU General Public License v3.0(GPL-3.0)が適用されます。このライセンスの条件に従って、コードを使用、変更、配布できます。詳細については、LICENSE ファイルを参照してください。

コメント

MCP は初めてですか?

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

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