
aaronwander/embedmcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
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.
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 のガイドから始めましょう →