返回 MCP 目录
public公开dns本地运行

AndrewDonelson_go-mcp-server-service

一个基于JSON-RPC 2.0的跨平台笔记管理服务,实现Model Context Protocol协议,支持命令行和服务模式运行

article

README

🚀 基于Go的MCP服务器服务

这是一个符合JSON-RPC 2.0协议的服务器实现,专为模型上下文协议(MCP)的笔记管理而设计(以示例形式呈现)。您可以将此代码作为样板,修改后用于自己的项目。该项目支持跨平台开发,包含命令行界面和服务组件,适用于开发和发布构建。

✨ 主要特性

  • 提供符合JSON-RPC 2.0协议的API。
  • 支持跨平台,包括Windows、Linux和macOS。
  • 实现线程安全的笔记管理。
  • 具备开发和发布构建配置。
  • 包含命令行界面和服务组件。

📦 安装指南

先决条件

  • 需要Go 1.21或更高版本。
  • 需安装GNU Make或其他兼容构建工具。
  • 安装Git以获取版本信息。

构建命令

开发构建(包含调试符号和竞态检测)

# 构建所有组件的所有平台
make dev

# 为特定平台构建
make dev-windows
make dev-linux
make dev-darwin

# 构建特定组件
make build-cmd
make build-service

发布构建(优化并去除符号)

# 构建所有组件的所有平台
make release-all

# 为特定平台构建
make release-windows
make release-linux
make release-darwin

本地运行

# 运行命令行界面
make run-cmd

# 运行服务
make run-service

查看所有目标

make help

构建输出

可执行文件存放在以下目录:

  • 开发构建:bin/
  • 发布构建:dist/

💻 使用示例

基础用法

提示

  • summarize-notes:创建所有存储笔记的摘要。
    • 可选参数:style("brief"/"detailed")
    • 结合当前所有笔记并根据风格偏好显示结果,且线程安全的笔记访问。

工具

  • add-note:向服务器添加新的笔记。
    • 必要参数:name(字符串)、content(字符串)
    • 线程安全的状态更新,返回确认信息。

📚 详细文档

组件

命令行界面 (cmd)

命令行界面提供对笔记服务器功能的直接访问。

服务 (service)

服务组件实现系统级集成和后台运行功能。

资源

服务器实现了一个笔记存储系统,包括:

  • 自定义 note:// URI方案,用于访问单个笔记。
  • 资源元数据(名称、描述、MIME类型)。
  • 线程安全的并发访问。

配置

在以下位置查找配置文件:

$XDG_CONFIG_HOME/mcnotes.json

默认情况下,这相当于:

~/.config/mcnotes.json

项目结构图

.
├── README.md               # 项目说明文档
├── go.mod                 # Go模块文件
├── go.sum                 # Go依赖项检查和认证文件
├── cmd/
│   ├── add-note/
│   │   └── main.go       # 添加笔记的主程序
├── service/
│   └── server.go         # 服务端实现
└── resources/
    └── note_manager.go   # 笔记管理器

配置示例

{
  "debug": false,
  "port": 8080,
  "database": {
    "driver": "sqlite3",
    "path": "notes.db"
  }
}

错误代码

| 错误代码 | 描述 | | ---- | ---- | | -32700 | 解析错误 | | -32601 | 方法不存在 | | -32603 | 参数错误 |

🔧 技术细节

该项目实现了一个符合JSON-RPC 2.0协议的服务器,用于模型上下文协议(MCP)的笔记管理。它支持跨平台开发,包含命令行界面和服务组件,具备线程安全的笔记管理功能。服务器实现了自定义 note:// URI方案和资源元数据管理,支持线程安全的并发访问。

📄 许可证

此项目在MIT License下开源。

⚠️ 重要提示

如有其他问题,请参考官方文档

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端