Skip to main content
Glama
csc-0812

MCP Server Demo

by csc-0812

MCP Server

基于WebSocket的MCP(Model Control Protocol)服务器,用于处理模型请求并提供响应。

项目结构

MCPServerDemo/
├── src/                    # 源代码目录
│   └── mcp/                # MCP实现
│       ├── handlers/       # 请求处理器
│       ├── models/         # 数据模型
│       ├── protocol/       # 协议定义
│       └── server/         # 服务器实现
├── client/                 # 客户端示例
│   └── index.html          # 测试用HTML客户端
├── .env                    # 环境变量配置(需要从.env.example创建)
├── .env.example            # 环境变量示例
├── main.py                 # 应用程序入口点
└── README.md               # 项目说明

Related MCP server: FastAPI MCP Server

安装

本项目使用uv进行依赖管理。

# 安装依赖
uv pip install fastapi uvicorn pydantic pydantic-settings

配置

  1. 复制环境变量示例文件并进行配置:

cp .env.example .env
  1. 编辑.env文件,设置您的配置。

运行

# 启动服务器
python main.py

服务器将在http://localhost:8000上运行,WebSocket端点为ws://localhost:8000/ws

测试客户端

打开client/index.html文件在浏览器中测试MCP服务器。

MCP协议

MCP协议是一个基于WebSocket的协议,用于控制和管理AI模型。

请求格式

{
  "id": "请求ID",
  "type": "request",
  "action": "动作名称",
  "messages": [
    {
      "role": "user",
      "content": "消息内容"
    }
  ],
  "parameters": {
    "参数名": "参数值"
  }
}

响应格式

{
  "id": "请求ID",
  "type": "response",
  "action": "动作名称",
  "messages": [
    {
      "role": "assistant",
      "content": "响应内容"
    }
  ],
  "metadata": {
    "元数据名": "元数据值"
  }
}

错误格式

{
  "id": "请求ID",
  "type": "error",
  "action": "动作名称",
  "error": "错误信息",
  "details": {
    "详情名": "详情值"
  }
}

事件格式

{
  "id": "事件ID",
  "type": "event",
  "event": "事件名称",
  "data": {
    "数据名": "数据值"
  }
}

支持的动作

  • chat: 聊天请求

  • completion: 文本完成请求

扩展

您可以通过以下方式扩展MCP服务器:

  1. 创建新的处理器在src/mcp/handlers/目录

  2. main.py中注册新的处理器

  3. 自定义协议实现在src/mcp/protocol/目录

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A template repository for building Model Context Protocol (MCP) servers that enables developers to create interactive AI agents with real-time bidirectional communication capabilities through WebSocket and SSE endpoints.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A high-performance Model Context Protocol (MCP) server designed for large language models, enabling real-time communication between AI models and applications with support for session management and intelligent tool registration.
    2
    MIT