
hkr04/cpp-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Лёгкий CDK для C++ MCP (Протокол контекста модели)
Обзор
Протокол контекста модели (MCP) — это открытый протокол, который предоставляет стандартизированный способ взаимодействия моделей и агентов ИИ с различными ресурсами, инструментами и сервисами. Этот фреймворк реализует основную функциональность протокола MCP, соответствующую базовой спецификации протокола 2025-03-26. - : Коммуникация запросов и ответов на основе стандарта JSON-RPC 2.0 - : Стандартные интерфейсы для ресурсов, таких как файлы, API и др. - : Инструменты регистра и вызова со структурированными параметрами - : Регистрация и экспозиция шаблонов запросов клиентам для рабочих процессов ИИ - : Простое расширение с помощью новых типов ресурсов и инструментов - : Поддержка HTTP и стандартных методов ввода/вывода (stdio) Вот несколько проектов с открытым исходным кодом, которые используют этот репозиторий. Если вы тоже пользуетесь им, не стесняйтесь отправить PR для публикации здесь! - humanus.cpp: Лёгкий фреймворк агентов C++ LLM - ... ждёт вашего вклада...
Обзор (машинный перевод)
Протокол контекста модели (MCP) — это открытый протокол, который предоставляет стандартизированный способ взаимодействия моделей и агентов ИИ с различными ресурсами, инструментами и сервисами. Этот фреймворк реализует основную функциональность протокола MCP, соответствующую базовой спецификации протокола 2025-03-26.
Основные особенности
- JSON-RPC 2.0 Коммуникация: Запрос/ответ на основе стандарта JSON-RPC 2.0
- Абстракция ресурсов: стандартные интерфейсы для ресурсов, таких как файлы, API и др.
- Регистрация инструментов: Инструменты регистрации и вызовов со структурированными параметрами
- Шаблоны запросов: Регистрация и предоставление шаблонов запросов клиентам для рабочих процессов ИИ
- Расширяемая архитектура: Легко расширяется с помощью новых типов ресурсов и инструментов
- Многотранспортная поддержка: поддерживает HTTP и стандартные методы ввода/вывода (stdio)
Как строить
Пример строительства с помощью CMake:
Сборка с помощью тестов:
Сборка с поддержкой SSL:
Усыновители
Вот несколько открытых проектов, которые используют этот репозиторий.
Если вы тоже пользуетесь, не стесняйтесь отправлять PR для публикации здесь!
- humanus.cpp: Лёгкий фреймворк агентов на C++ LLM
- … жду твоего вклада…
Компоненты
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
MCP Protocol Framework
Model Context Protocol (MCP) is an open protocol that provides a standardized way for AI models and agents to interact with various resources, tools, and services. This framework implements the core functionality of the MCP protocol, conforming to the 2025-03-26 basic protocol specification.
Core Features
- JSON-RPC 2.0 Communication: Request/response communication based on JSON-RPC 2.0 standard
- Resource Abstraction: Standard interfaces for resources such as files, APIs, etc.
- Tool Registration: Register and call tools with structured parameters
- Prompt Templates: Register and expose prompt templates to clients for AI workflows
- Extensible Architecture: Easy to extend with new resource types and tools
- Multi-Transport Support: Supports HTTP and standard input/output (stdio) communication methods
How to Build
Example of building with CMake:
cmake -B build
cmake --build build --config Release
Build with tests:
git submodule update --init --recursive # Get GoogleTest
cmake -B build -DMCP_BUILD_TESTS=ON
cmake --build build --config Release
Build with SSL support:
git submodule update --init --recursive # Get GoogleTest
cmake -B build -DMCP_SSL=ON
cmake --build build --config Release
Adopters
Here are some open-source projects that are using this repository.
If you’re using it too, feel free to submit a PR to be featured here!
- humanus.cpp: Lightweight C++ LLM agent framework
- …waiting for your contribution…
Components
The MCP C++ library includes the following main components:
Core Components
Client Interface (mcp_client.h)
Defines the abstract interface for MCP clients, which all concrete client implementations inherit from.
SSE Client (mcp_sse_client.h, mcp_sse_client.cpp)
Client implementation that communicates with MCP servers using HTTP and Server-Sent Events (SSE).
Stdio Client (mcp_stdio_client.h, mcp_stdio_client.cpp)
Client implementation that communicates with MCP servers using standard input/output, capable of launching subprocesses and communicating with them.
Message Processing (mcp_message.h, mcp_message.cpp)
Handles serialization and deserialization of JSON-RPC messages.
Tool Management (mcp_tool.h, mcp_tool.cpp)
Manages and invokes MCP tools.
Resource Management (mcp_resource.h, mcp_resource.cpp)
Manages MCP resources.
Server (mcp_server.h, mcp_server.cpp)
Implements MCP server functionality.
Examples
HTTP Server Example (examples/server_example.cpp)
Example MCP server implementation over HTTP/SSE with custom tools:
- Time tool: Get the current time
- Calculator tool: Perform mathematical operations
- Echo tool: Echo input with optional transformations (to uppercase, reverse)
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →