AE

aaronwander/embedmcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

34 stars 8 forks Качество 51 Тренд 12MIT

Предоставляет простые в использовании наборы, которые позволяют быстро создавать 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**: Обработка как простых параметров, так и сложных структур данных

Быстрый старт

###Установка

  1. ** Скачать 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.

English • 简体中文

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

  1. Download EmbedMCP

    git clone https://github.com/AaronWander/EmbedMCP.git
    cd EmbedMCP
    
  2. 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

Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →