使用说明
MCP服务器(模型上下文协议)
与模型上下文协议(MCP)兼容的上下文管理服务器,使用SQLite进行持久性,使用服务器发送事件(SSE)进行实时通信。
实际版本:2.0.0
🚀 安装
Docker(单命令)
docker run -d --name mcp-server --restart unless-stopped -p 3000:3000 -v "$(pwd)/data":/app/data -e NODE_ENV=docker -e PORT=3000 -e DB_PATH=/app/data/context.db -e LOG_LEVEL=info --memory=512m --cpus=1 --health-cmd="wget -qO- http://localhost:3000/health || exit 1" --health-interval=30s --health-timeout=10s --health-retries=3 --health-start-period=10s --log-driver json-file --log-opt max-size=10m --log-opt max-file=3 maf38/mcp-server:2.0.0
Docker Compose(高级安装)
version: '3'
services:
mcp-server:
image: maf38/mcp-server:2.0.0
container_name: mcp-server
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /path/to/data:/app/data
environment:
NODE_ENV: docker
PORT: 3000
DB_PATH: /app/data/context.db
LOG_LEVEL: info
deploy:
resources:
limits:
memory: 512M
cpus: '1.0'
⚠️ 别忘了更换 /path/to/data 通过要存储数据库的实际路径。
取消突袭
- 转到应用程序
- 重新研究“MCP服务器”
- 点击安装
🔧 配置
环境变量
基本
PORT:服务器侦听端口(默认值:3000)DB_PATH:数据库路径(默认值:/app/data/context.db)
日志记录
NODE_ENV:运行时环境(“docker”用于禁用日志文件)LOG_LEVEL:日志级别(错误、警告、信息、http、调试)(默认值:信息)
📖 API
MCP路线
路由SSE(服务器发送事件)
GET /sse
建立SSE连接以接收实时更新。
消息MCP
POST /message
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "context/update",
"params": {
"key": "string",
"value": "string",
"metadata": {
"type": "string",
"timestamp": "string",
"source": "string"
}
}
}
路线休息
保存/更新上下文
POST /context
Content-Type: application/json
{
"key": "string",
"value": "string",
"metadata": {
"type": "string",
"timestamp": "string",
"source": "string"
}
}
恢复上下文
GET /context/:key
批处理操作(批处理)
POST /context/batch
Content-Type: application/json
[
{
"key": "string",
"value": "string",
"metadata": {
"type": "string",
"timestamp": "string",
"source": "string"
}
}
]
删除上下文
DELETE /context/:key
道路系统
检查服务器状态
GET /health
获取服务器功能
GET /capabilities
🔍 日志记录
Docker环境
- 日志发送到stdout/stderr
- 可通过以下方式访问
docker logs mcp-server - 可通过配置日志级别
LOG_LEVEL
在标准环境中
- 存储在文件夹中的日志
logs/ - 每日文件旋转
- 旧日志的自动压缩
- 保护吊坠14 jours
- 每个文件限制为20MB
日志格式
YYYY-MM-DD HH:mm:ss.SSS [LEVEL] [CONTEXT] Message {Metadata}
🔒 数据的持久性
数据存储在SQLite中指定的位置 DB_PATH.
对于Docker和Unraid,将卷装载到 /app/data.
🛠️ 发展
Prérequis
- Node.js>=18
- npm
安装
npm install
npm run build
npm start
测试
npm test
📦 发布Docker
图像可在Docker Hub上获得:
- 版本稳定(2.0.0):
maf38/mcp-server:2.0.0 - 最新版本:
maf38/mcp-server:latest
🔄 与GitHub副驾驶集成
该服务器实现了模型上下文协议(MCP),允许GitHub副驾驶在会话之间保持持久上下文。功能包括:
- 通过SSE进行双向通信
- JSON-RPC 2.0消息格式
- 持久性SQLite
- 元数据支持
- 批处理操作
有关MCP协议的更多信息,请参阅文件中的文档 docs/.
