关于 MCP Server (Model Context Protocol)
这是一个基于 SQLite 的 MCP 上下文管理服务,通过 SSE 提供实时通信,并提供 REST 接口管理上下文数据。适用于需要在会话间保存上下文的 MCP 客户端。
主要功能
- 01SQLite 持久化上下文
- 02SSE 实时通信
- 03REST 上下文增删改查
- 04批量上下文操作
- 05健康状态与能力查询
适用场景
- 01在会话间保存上下文
- 02批量写入或更新上下文
- 03通过 REST 接口读取或删除上下文
MCP 相关
实现 MCP,使用 SSE 接收实时更新,并通过 JSON-RPC 2.0 消息处理上下文操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Server(Model Context Protocol)
兼容 MCP(Model Context Protocol)协议的上下文管理服务,使用 SQLite 进行持久化,并通过 SSE(Server-Sent Events)进行实时通信。
当前版本: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 替换为你要存储数据库的实际路径。
Unraid
- 前往 Apps
- 搜索 "MCP Server"
- 点击 Install
🔧 配置
环境变量
必需项
PORT:服务监听端口(默认:3000)DB_PATH:数据库路径(默认:/app/data/context.db)
日志记录
NODE_ENV:运行环境(设为 "docker" 可禁用日志文件)LOG_LEVEL:日志级别(error、warn、info、http、debug)(默认:info)
📖 API
MCP 路由
SSE(Server-Sent Events)路由
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"
}
}
}
REST 路由
保存/更新上下文
POST /context
Content-Type: application/json
{
"key": "string",
"value": "string",
"metadata": {
"type": "string",
"timestamp": "string",
"source": "string"
}
}
获取上下文
GET /context/:key
批量操作(batch)
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 天
- 每个文件大小上限为 20MB
日志格式
YYYY-MM-DD HH:mm:ss.SSS [LEVEL] [CONTEXT] Message {Metadata}
🔒 数据持久化
数据存储在 DB_PATH 指定的位置,使用 SQLite。
对于 Docker 和 Unraid,请将卷挂载到 /app/data。
🛠️ 开发
先决条件
- 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 Copilot 集成
此服务实现了 MCP(Model Context Protocol)协议,使 GitHub Copilot 能够在不同会话之间保持持久上下文。功能包括:
- 通过 SSE 进行双向通信
- JSON-RPC 2.0 消息格式
- SQLite 持久化
- 支持元数据
- 批量操作
如需了解 MCP 协议的更多信息,请参阅 docs/ 目录中的文档。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。