返回市场
迷你MCP服务器

迷你MCP服务器

作者:Qihoo36078 星标更新:2025-05-16

项目介绍

TinyMCP

TinyMCP 是什么?

TinyMCP 是一个用于实现 MCP 服务器的轻量级 C++ SDK。

MCP 是什么?

MCP 是一个开放协议,标准化了应用程序如何向大语言模型提供上下文。可以将 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 提供了一种标准方式来连接设备到各种外设和配件一样,MCP 提供了一种标准方式来连接 AI 模型到不同的数据源和工具。

详情参考

TinyMCP 支持的系统平台

  • Windows
  • Linux
  • MacOS
  • Android
  • 其他支持标准 C++ 的平台...

使用指南

请参阅 wiki 获取更多信息。

依赖项

jsoncpp 1.9.5

MCP 协议版本

MCP 规范 2024-11-05

代码结构简介

目录简介
PublicSDK 公共目录,用于存储全局类型定义、全局常量资源、辅助类等。
Message定义和实现 MCP 协议的基本数据结构,主要包括遵循 JSON-RPC 2.0 协议的标准请求、响应和通知等协议数据的实现。
Session定义和实现 MCP 协议交互会话,主要包括基于 C/S 架构的状态化会话实现以及完整的 MCP 会话生命周期管理(初始化阶段、运行阶段和关闭阶段)。
Transport基于 C/S 架构的各种端点之间的数据传输通道定义,也包括默认 stdio 传输通道的实现。
Task定义和实现各种 MCP 任务,例如初始化阶段的三次握手和能力协商任务,以及处理主要请求如 Prompts(尚未实现)、Resources(尚未实现)、Tools(已实现)等的任务。耗时任务异步执行,普通任务同步执行。
Entity定义 MCP 各种协议实体类,主要包括遵循单例模式的 Server 基类。

功能支持简介

尽管并非所有的 MCP 功能都已实现,但对于 Tools 类型的 MCP 服务器已经足够。

功能备注是否支持
基础协议核心 JSON-RPC 消息类型
生命周期管理连接初始化、能力协商和会话控制
传输stdio
取消通过通知消息取消正在进行中的请求。
进度通过通知消息跟踪长时间运行操作的进度。
工具工具使模型能够与外部系统进行交互,例如查询数据库、调用 API 或执行计算。
分页分页允许服务器以较小的数据块提供结果,而不是一次性全部提供。
传输带有服务端发送事件(SSE)的 HTTP尚未实现
心跳允许任一方验证对方仍然响应且连接活跃的心跳机制。尚未实现
资源资源允许服务器共享为语言模型提供上下文的数据,例如文件、数据库模式或应用特定信息。尚未实现
提示提示允许服务器提供与语言模型交互的结构化消息和指令。尚未实现
补全一种标准化的方式,让服务器为提示和资源 URI 提供参数自动补全建议。尚未实现
日志一种标准化的方式,让服务器向客户端发送结构化的日志消息。尚未实现

LICENSE

TinyMCP 在 MIT 许可证下发布 - 查看 LICENSE 文件获取详细信息。