AndrewDonelson_go Mcp Server Service

AndrewDonelson_go Mcp Server Service

🚀 基于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下开源。

⚠️ 重要提示

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

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-28 20:00

相似服务问题