MCP服务器管理工具

一个用于管理便签的MCP服务器,可与GitHub Copilot和Claude AI集成,支持创建、读取和总结便签。

  • by ingfcetina
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ingfcetina/mcp-servers

使用说明

📝 MCP服务器的创建及其在代理模式下与GitHub Copilot的使用

该存储库包含用于管理粘贴笔记的MCP服务器(Model Context Protocol)的材料、示例和实现,该服务器用于讨论以代理模式将MCP服务器与GitHub Copilot集成。


📢 第一部分:关于谈话

📋 描述

本次为期一小时的演讲面向有兴趣通过定制的MCP服务器扩展GitHub Copilot功能并了解代理工作流的开发人员。您将学习如何使用GitHub Copilot和Claude AI创建和集成MCP服务器。

📚 议程

  1. MCP及其目的简介
  2. MCP服务器的体系结构
  3. 示例:创建基本MCP服务器
  4. MCP服务器与GitHub Copilot(代理模式)和Claude AI的集成
    • 在VS代码中配置MCP扩展
    • 服务器运行并连接到copilot
    • 使用Copilot与MCP服务器交互的示例
    • 使用Claude AI与MCP服务器交互的示例
  5. 使用案例和最佳做法
  6. 问题和答案

⚙️ 要求

  • python:版本3.10或更高
  • Node.js:版本18或更高
  • npm 英语字母表的第15个字母 纱线:用于管理JavaScript依赖项
  • 紫外线:现代Python环境和依赖关系管理器
  • GitHub帐户:可访问copilot(代理模式)
  • 编辑:vs建议使用MCP扩展的代码
  • 克劳德·艾:(可选)用于与Claude的集成演示

🚀 安装

# Clonar el repositorio
git clone https://github.com/ingfcetina/mcp-servers.git

# Navegar al directorio del proyecto
cd mcp-servers

🔗 额外资源


🤖 第二部分: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服务器提供三种主要类型的组件:

🛠️ 工具(@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. 紫外线照射 (包和虚拟环境管理器):

    # 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
      
      # Si tienes problemas de permisos, ejecuta primero:
      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代码的集成

  1. 确保已安装GitHub Copilot:

    • 缩写VS代码
    • 转到扩展选项卡(Ctrl+Shift+X)
    • 搜索“GitHub Copilot”并安装官方扩展
    • 确保您可以在代理模式下访问copilot功能
  2. 在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"
                ]
            }
        }
    }
    
  3. 通过GitHub Copilot与MCP服务器交互:

    • 在代理模式下使用copilot,您可以使用以下命令 add_note, read_notesy 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服务器“演示”
    • 美国哥伦比亚 add_note, read_notes y 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检查员将在您的浏览器中自动打开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>
    
  • 连接错误:Si ves“连接错误,您的MCP服务器是否正在运行?”:

    • 确保服务器正在运行
    • 验证没有防火墙阻止连接
    • 检查main.py文件的路径是否正确
  • 虚拟环境未激活:

    • 如果同时使用Conda和UV,请首先禁用Conda:
      conda deactivate
      
    • 然后激活UV环境

📋 用于粘性笔记的MCP服务器组件参考

以下是在这个MCP服务器上实现的组件的完整细节,按其类型和功能组织:

类型 名称 描述 参数 返回值
🛠️ 工具 add_note 向存储文件添加新的粘合说明 message (str):要保存的注释文本 添加注释文本的确认
🛠️ 工具 read_notes 检索并显示所有存储的笔记 无 所有现有笔记的完整列表
📚 资源 notes://latest 提供快速访问最新注释 无 添加的最后一个注释的文本
💬 提示 note_summary_prompt 生成命令,以便模型创建带有当前注释的结构化摘要 无 提示模板

这些组件共同工作,通过模型上下文协议(MCP)提供完整的粘贴说明管理。


📄 许可证

对于该存储库中的代码和示例,GNU通用公共许可证V3.0(GPL-3.0)适用。您可以根据本许可证的条款使用、修改和分发代码。查询文件 LICENSE 更多细节。