目录

# TinyMCP 🧩

📖 What is TinyMCP?

TinyMCP is a lightweight C++ SDK for implementing the MCP Server.

🤔 What is MCP?

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

🔗 Reference for details

💻 TinyMCP supported system platforms

  • Windows
  • Linux
  • MacOS
  • Android
  • Other platforms that support standart c++…

🚀 Usage Guide

Please check the wiki for more information.

📦 Dependencies

📌 MCP protocol version

MCP Specification 2024-11-05

🗂️ Code structure brief

directory brief
Public SDK public directory, used to store global type definitions, global constant resources, helper classes, etc.
Message Definition and implementation of the basic data structures of the MCP protocol, mainly including the implementation of protocol data such as standard requests, responses, and notifications that follow the JSON-RPC 2.0 protocol.
Session Definition and implementation of MCP protocol interaction sessions, mainly including the implementation of stateful sessions based on the C/S architecture and the maintenance of the complete MCP session lifecycle (initialization phase, running phase, and closing phase).
Transport Definition of data transmission channels between various endpoints based on the C/S architecture, including an implementation scheme for the default standard stdio transmission channel and an optional SEE transmission channel.
Task Definition and implementation of various MCP tasks, such as the three - way handshake and capability negotiation task during the initialization phase, and the processing tasks for major requests like Prompts, Resources, Tools, etc. Time - consuming tasks are executed asynchronously, while ordinary tasks are executed synchronously.
Entity Definition of various protocol entity classes for MCP, mainly including the base class of the Server following the Singleton pattern.

✅ Feature support brief

🎉 All features defined by the MCP 2024-11-05 specification are fully implemented.

Feature Remarks Essential Features Supported or not
Base Protocol Core JSON-RPC message types Yes Yes
Lifecycle Management Connection initialization, capability negotiation, and session control Yes Yes
Transports stdio Yes Yes
Cancellation Cancellation of in-progress requests through notification messages. Yes Yes
Progress Progress tracking for long-running operations through notification messages. Yes Yes
Tools Tools enable models to interact with external systems, such as querying databases, calling APIs, or performing computations. Yes Yes
Resources Resources allow servers to share data that provides context to language models, such as files, database schemas, or application-specific information. Yes Yes
Transports HTTP with Server-Sent Events (SSE) No Yes
Pagination Pagination allows servers to yield results in smaller chunks rather than all at once. No Yes
Ping Ping mechanism that allows either party to verify that their counterpart is still responsive and the connection is alive. No Yes
Custom Notifications JSON-RPC 2.0 notifications that are sent by an MCP Server or Client using custom method names, intended for transmitting arbitrary business data. No Yes
Prompts Prompts allow servers to provide structured messages and instructions for interacting with language models. No Yes
Completion A standardized way for servers to offer argument autocompletion suggestions for prompts and resource URIs. No Yes
Logging A standardized way for servers to send structured log messages to clients. No Yes

📄 LICENSE

TinyMCP is licensed under the MIT License - see the LICENSE file for details.

关于
741.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号