AE

aaronwander/embedmcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

34 stars 8 forks 品質 51 トレンド 12MIT

MCPサーバーをすばやく作成できる使いやすいキットを提供 埋め込まれた装置

概要

既存のC関数をAIアクセス可能なツールに変えるMCP(Model Context Protocol)サーバーを作成するための軽量Cライブラリです。 EmbedMCP は既存の C のコードベースと現代の AI システム間のギャップを埋めます。 戦闘テスト済みC関数を書き換える代わりに、EmbedMCP は、最小限のコード変更で標準化されたモデルコンテキストプロトコル(MCP)を介してAIモデルにそれらを公開することができます。 - : 1つのフォルダをコピーし、1つのヘッダーファイル - : 最小限のオーバーヘッドで直接C関数呼び出し - : ユニバーサルHALを介して15 +プラットフォーム上で実行 - : 外部の要件のない自己完結ライブラリ - : 単純な機能のためのマジックマクロ、複雑な機能の完全な制御 - : 異なる使用例のストリーミング可能なHTTPとSTDIOサポート - : 明確な所有権規則で自動クリーンアップ - : 簡単なパラメータと複雑なデータ構造の両方を処理する EmbedMCP は2つの登録方法をサポートしています。 get * ヘルパーに加えて、厳密な try get * アクセサを区別するために使用できます.

概要(AI 翻訳)

既存のC関数をAIアクセス可能なツールに変えるMCP(Model Context Protocol)サーバーを作成するための軽量Cライブラリです。

English • 日本語

#EmbedMCP の理由

EmbedMCP は既存の C のコードベースと現代の AI システム間のギャップを埋めます。 戦闘テスト済みC関数を書き換える代わりに、EmbedMCP は、最小限のコード変更で標準化されたモデルコンテキストプロトコル(MCP)を介してAIモデルにそれらを公開することができます。

主な特長

  • ** シンプルな統合**: 1つのフォルダをコピーし、1つのヘッダーファイルを含む
  • ** ⚡ 高性能**:最低の頭上式の C 機能呼出しを指示して下さい -******** クロスプラットフォーム**:ユニバーサルハール経由15以上のプラットフォームで実行
  • ** ゼロ依存関係**: 外部要件のない自己完結ライブラリ
  • 2つの登録方法:簡単な機能のためのマジックマクロ、複雑なものの完全な制御
  • ** コネクターの多数の輸送**: さまざまなユースケースに対応した HTTP と STDIO のサポート -スマートメモリ管理: 明確な所有権規則の自動クリーンアップ
  • 配列サポート: 簡単なパラメータと複雑なデータ構造の両方を処理する

クイックスタート

インストール

1.EmbedMCPのダウンロード

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

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

GitHub で README 全文を見る

インストール

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

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →