使用说明
项目简介
本项目是一个实现了 Model Context Protocol (MCP) 协议的服务器,旨在为大型语言模型(LLM)应用提供结构化的上下文管理服务。它允许开发者通过标准化的 API 接口,轻松地管理用户会话、存储和检索上下文数据,并利用配置的 AI 模型进行上下文处理和查询。
主要功能点
- 会话管理: 支持创建、获取、更新和删除用户会话,方便跟踪用户交互历史。
- 上下文存储与检索: 允许存储和检索与会话相关的上下文数据,例如对话历史、用户偏好等。
- 模型查询: 支持使用存储的上下文数据向配置的 AI 模型发送查询请求,实现上下文相关的智能问答。
- 上下文处理: 提供上下文合并和总结功能,帮助提炼和管理复杂的上下文信息。
- API 鉴权: 所有 API 接口均通过 API 密钥进行保护,确保服务安全。
安装步骤
-
克隆仓库:
git clone https://github.com/evinhua/model-context-protocol-server.git cd model-context-protocol-server -
安装依赖:
npm install -
配置环境变量: 在项目根目录下创建 '.env' 文件,并根据需要配置以下环境变量:
PORT=3000 # 服务器端口号 (默认: 3000) API_KEY=your_api_key_here # API 密钥,用于接口鉴权 (请替换为你的密钥) MODEL_ENDPOINT=http://localhost:8000/v1/completions # AI 模型 API 接口地址 (请替换为你的模型服务地址) CONTEXT_DB_PATH=./data/context_db.json # 上下文数据存储路径 (默认: ./data/context_db.json) MODEL_TYPE=mistral # 模型类型 (支持: mistral, openai, anthropic, generic,默认: mistral)注意: 'API_KEY' 环境变量用于保护服务器 API 接口,请务必设置一个安全的密钥。 'MODEL_ENDPOINT' 需要配置为你实际使用的 AI 模型服务的 API 地址。
-
启动服务器:
npm start服务器成功启动后,将在控制台输出运行地址,例如 'MCP Server running on port 3000' 和 'API available at http://localhost:3000/api'。
服务器配置 (MCP 客户端)
对于 MCP 客户端,你需要配置以下信息以连接到此 MCP 服务器。以下是 JSON 格式的配置示例,请根据实际情况修改:
{ "serverName": "MCP Context Server", "command": "npm", "args": ["start"], "description": "模型上下文管理服务器", "baseUrl": "http://localhost:3000/api" }
配置参数说明:
- 'serverName': 服务器名称,可以自定义。
- 'command': 启动服务器的命令,这里使用 'npm'。
- 'args': 启动命令的参数,这里使用 'start',对应 'npm start' 命令。
- 'description': 服务器描述,可以自定义。
- 'baseUrl': 服务器 API 的基础 URL,MCP 客户端将基于此 URL 构建请求。
MCP 客户端需要能够执行 'npm start' 命令来启动此 MCP 服务器。 实际部署时,请根据服务器的部署方式调整 'command' 和 'args' 配置。
基本使用方法
以下是一些基本 API 使用示例,你可以使用 'curl' 或其他 HTTP 客户端进行测试。
1. 创建会话:
curl -X POST http://localhost:3000/api/session \ -H "Authorization: Bearer your_api_key_here" \ -H "Content-Type: application/json" \ -d '{"metadata": {"user": "example_user"}}'
成功创建会话后,服务器将返回包含会话信息的 JSON 响应。
2. 创建上下文:
curl -X POST http://localhost:3000/api/context \ -H "Authorization: Bearer your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "sessionId": "session_id_from_previous_step", "data": { "conversation": [ {"role": "user", "content": "你好!"}, {"role": "assistant", "content": "你好!很高兴为您服务。"} ] } }'
将 'session_id_from_previous_step' 替换为实际的会话 ID。成功创建上下文后,服务器将返回包含上下文信息的 JSON 响应。
3. 使用上下文查询模型:
curl -X POST http://localhost:3000/api/model/query \ -H "Authorization: Bearer your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "prompt": "刚才我们聊了什么?", "contextId": "context_id_from_previous_step", "sessionId": "session_id_from_session_creation" }'
将 'context_id_from_previous_step' 和 'session_id_from_session_creation' 替换为实际的上下文 ID 和会话 ID。 服务器将返回模型生成的回复。
更多 API 接口和详细使用方法请参考仓库 README.md 文件和代码注释。
信息
分类
AI与计算