mcpField
M
MCP Server (Model Context Protocol)

MCP Server (Model Context Protocol)

本地服务
github.com/Maf38记忆与知识079 周前更新

关于 MCP Server (Model Context Protocol)

这是一个基于 SQLite 的 MCP 上下文管理服务,通过 SSE 提供实时通信,并提供 REST 接口管理上下文数据。适用于需要在会话间保存上下文的 MCP 客户端。

主要功能

  1. 01SQLite 持久化上下文
  2. 02SSE 实时通信
  3. 03REST 上下文增删改查
  4. 04批量上下文操作
  5. 05健康状态与能力查询

适用场景

  1. 01在会话间保存上下文
  2. 02批量写入或更新上下文
  3. 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
  1. 前往 Apps
  2. 搜索 "MCP Server"
  3. 点击 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。