
aaronwander/embedmcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Предоставляет простые в использовании наборы, которые позволяют быстро создавать MCP-серверы. Любые встроенные устройства
Обзор
Легкая библиотека C для создания серверов MCP (Model Context Protocol), которая преобразует существующие функции C в доступные для ИИ инструменты с минимальными изменениями кода. EmbedMCP устраняет разрыв между существующей кодовой базой C и современными системами ИИ. Вместо того, чтобы переписывать проверенные в бою C-функции, EmbedMCP позволяет подвергать их воздействию моделей ИИ через стандартизированный протокол Model Context Protocol (MCP) с минимальными изменениями кода. Скопируйте одну папку, включите один файл заголовка - : вызовы функции Direct C с минимальными накладными расходами - : Запускается на 15+ платформах через Universal HAL - : Автономная библиотека без внешних требований - : Магические макросы для простых функций, полный контроль для сложных - : Потоковая поддержка HTTP и STDIO для различных вариантов использования - : Автоматическая очистка с четкими правилами владения - : Обработка как простых параметров, так и сложных структур данных EmbedMCP поддерживает два подхода к регистрации: Кроме того, чтобы получить *-помощников, вы можете использовать строгие аксессуары try get *, чтобы отличить...
Обзор (машинный перевод)
Легкая библиотека C для создания серверов MCP (Model Context Protocol), которая преобразует существующие функции C в доступные для ИИ инструменты с минимальными изменениями кода.
Английский язык 中
Почему EmbedMCP?
EmbedMCP устраняет разрыв между существующей кодовой базой C и современными системами ИИ. Вместо того, чтобы переписывать проверенные в бою C-функции, EmbedMCP позволяет подвергать их воздействию моделей ИИ через стандартизированный протокол Model Context Protocol (MCP) с минимальными изменениями кода.
Ключевые особенности
Простая интеграция: Скопируйте одну папку, включите один файл заголовка Высокий уровень производительности: вызовы с функцией Direct C с минимальными накладными расходами Кросс-платформа: работает на 15+ платформах через Universal HAL ** Нулевые зависимости**: Автономная библиотека без внешних требований Два метода регистрации: Магические макросы для простых функций, полный контроль для сложных ** Множественные перевозки**: Потоковая поддержка HTTP и STDIO для различных вариантов использования Умное управление памятью Автоматическая уборка с четкими правилами владения
- ** Support Array Support**: Обработка как простых параметров, так и сложных структур данных
Быстрый старт
###Установка
-
** Скачать EmbedMCP**
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
EmbedMCP - Embedded MCP Server Library
A lightweight C library for creating MCP (Model Context Protocol) servers that transforms your existing C functions into AI-accessible tools with minimal code changes.
Why EmbedMCP?
EmbedMCP bridges the gap between your existing C codebase and modern AI systems. Instead of rewriting your battle-tested C functions, EmbedMCP lets you expose them to AI models through the standardized Model Context Protocol (MCP) with minimal code changes.
Key Features
- 🚀 Simple Integration: Copy one folder, include one header file
- ⚡ High Performance: Direct C function calls with minimal overhead
- 🔧 Cross-Platform: Runs on 15+ platforms via Universal HAL
- 📦 Zero Dependencies: Self-contained library with no external requirements
- 🎯 Two Registration Methods: Magic macros for simple functions, full control for complex ones
- 🌐 Multiple Transports: Streamable HTTP and STDIO support for different use cases
- 🧠 Smart Memory Management: Automatic cleanup with clear ownership rules
- 📊 Array Support: Handle both simple parameters and complex data structures
Quick Start
Installation
-
Download EmbedMCP
git clone https://github.com/AaronWander/EmbedMCP.git cd EmbedMCP -
Copy to your project
cp -r embed_mcp/ your_project/
Basic Usage
#include "embed_mcp/embed_mcp.h"
// Your business function
double add_numbers(double a, double b) {
return a + b;
}
// Generate wrapper with macro
EMBED_MCP_WRAPPER(add_wrapper, add_numbers, DOUBLE, DOUBLE, a, DOUBLE, b)
int main() {
embed_mcp_config_t config = {
.name = "MathServer",
.version = "1.0.0",
.instructions = "Simple math operations server",
.port = 8080
};
embed_mcp_server_t *server = embed_mcp_create(&config);
// Register function
const char* names[] = {"a", "b"};
const char* descs[] = {"First number", "Second number"};
mcp_param_type_t types[] = {MCP_PARAM_DOUBLE, MCP_PARAM_DOUBLE};
embed_mcp_add_tool(server, "add", "Add two numbers",
names, descs, types, 2, MCP_RETURN_DOUBLE, add_wrapper, NULL);
embed_mcp_run(server, EMBED_MCP_TRANSPORT_HTTP);
embed_mcp_destroy(server);
return 0;
}
Build and Run
# Build
make
# Run Streamable HTTP server
./bin/mcp_server --transport http --port 8080
# Or run STDIO server
./bin/mcp_server --transport stdio
Function Registration
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →