AI模型控制协议服务器

一个实现模型控制协议(MCP)的演示服务器,用于AI模型交互,提供资源访问、工具执行和预定义提示功能。

  • by abducodez
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 abducodez/mcp-server-demo

使用说明

MCP服务器演示

实现用于AI模型交互的模型控制协议(MCP)的演示服务器。

概述

该项目展示了一个模块化的MCP服务器实现,允许AI模型:

  • 执行工具(计算用户统计数据并更新用户状态)
  • 访问资源(用户数据和系统信息)
  • 使用预定义的提示进行常见交互

我们提供了一些基本的静态资源、工具和提示,以说明如何构建MCP服务器。服务器被设计为与Claude桌面客户端兼容。

包裹

  • mcp[cli] 软件包版本1.9.4或更高

安装

  1. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # On Unix/MacOS
# or
.\.venv\Scripts\activate   # On Windows
  1. 安装所需的软件包:
uv sync 

用法

将服务器添加到MCP客户端配置中: 要将此MCP服务器与Claude桌面客户端一起使用,您需要修改客户端配置文件以包含服务器详细信息。 根据您的操作系统,您可以在以下位置找到配置文件:

MacOS/Linux code ~/Library/Application\ Support/Claude/claude_desktop_config.json 视窗 code %APPDATA%\Claude\claude_desktop_config.json

并添加以下配置:

{
  "mcpServers": {
    "demo": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/demo",
        "run",
        "demo.py"
      ]
    }
  }
}

资源

服务器提供两种内存资源:

  • memory://users:包含基本信息的用户记录集合
  • memory://system-info:服务器的系统元数据

工具

实施了两个工具:

  1. calculate_user_stats:分析用户数据并返回统计数据
  2. update_user_status:修改用户的活动状态

鼓励

预定义的交互模板:

  • analyze-user-data:用于分析用户数据中的模式
  • generate-report:用于根据可用数据创建格式化报告

项目结构

该项目遵循模块化组织:

mcp-server-demo/
├── demo.py                    # Main entry point
├── pyproject.toml             # Project configuration
├── README.md                  # This documentation
├── uv.lock                    # Dependencies lock file
└── src/                       # Main package
    ├── __init__.py            # Package initialization
    ├── server.py              # Server creation and configuration
    ├── resources/             # Resource-related modules
    │   ├── __init__.py
    │   └── handlers.py        # Resource handlers implementation
    ├── tools/                 # Tool-related modules
    │   ├── __init__.py
    │   └── handlers.py        # Tool handlers implementation
    └── prompts/               # Prompt-related modules
        ├── __init__.py
        └── handlers.py        # Prompt handlers implementation

协议细节

模型控制协议(MCP)定义了AI模型与应用程序交互的标准化方式。它提供:

  • 资源:应用程序控制的上下文数据源
  • 工具:执行动作的模型控制功能
  • 鼓励:LLM交互的用户控制模板