Skip to main content
Glama

MCP Server Demo

by csc-0812
README.md2.55 kB
# 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 # 项目说明 ``` ## 安装 本项目使用uv进行依赖管理。 ```bash # 安装依赖 uv pip install fastapi uvicorn pydantic pydantic-settings ``` ## 配置 1. 复制环境变量示例文件并进行配置: ```bash cp .env.example .env ``` 2. 编辑`.env`文件,设置您的配置。 ## 运行 ```bash # 启动服务器 python main.py ``` 服务器将在`http://localhost:8000`上运行,WebSocket端点为`ws://localhost:8000/ws`。 ## 测试客户端 打开`client/index.html`文件在浏览器中测试MCP服务器。 ## MCP协议 MCP协议是一个基于WebSocket的协议,用于控制和管理AI模型。 ### 请求格式 ```json { "id": "请求ID", "type": "request", "action": "动作名称", "messages": [ { "role": "user", "content": "消息内容" } ], "parameters": { "参数名": "参数值" } } ``` ### 响应格式 ```json { "id": "请求ID", "type": "response", "action": "动作名称", "messages": [ { "role": "assistant", "content": "响应内容" } ], "metadata": { "元数据名": "元数据值" } } ``` ### 错误格式 ```json { "id": "请求ID", "type": "error", "action": "动作名称", "error": "错误信息", "details": { "详情名": "详情值" } } ``` ### 事件格式 ```json { "id": "事件ID", "type": "event", "event": "事件名称", "data": { "数据名": "数据值" } } ``` ## 支持的动作 - `chat`: 聊天请求 - `completion`: 文本完成请求 ## 扩展 您可以通过以下方式扩展MCP服务器: 1. 创建新的处理器在`src/mcp/handlers/`目录 2. 在`main.py`中注册新的处理器 3. 自定义协议实现在`src/mcp/protocol/`目录

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/csc-0812/MCPServerDemo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server