mcp-c
@ZenWayne
关于 mcp-c
mcp server frarmwork written in c, developing efficiently and effortlessly
基本信息
配置
工具
未检测到工具
工具是从 README 中自动提取的。维护者可以在 ## Tools 标题下列出工具,即可填充这部分内容。
概览
What is mcp-c?
mcp-c is a framework written in C for building Model Context Protocol (MCP) servers efficiently. It uses annotation-based code generation to automate boilerplate, letting developers focus only on writing the server functions.
How to use mcp-c?
Write your MCP tools in src/mcp_server using the EXPORT and EXPORT_AS macros on functions and structs. Build with cmake -B build -S . && cmake --build ., then run the generated binary with ./mcpc (Windows users need vcpkg). The build process runs a code generator that creates serialization code and tool lists automatically.
Key features of mcp-c
- Annotate C structs to auto‑generate JSON schema definitions.
- Export function names as tool handlers via
EXPORT_ASmacro. - Automatic serialization between JSON and C structs.
- Built‑in bridge code generation for tool input/output parsing.
- Supports enums, nested structs, and descriptions with
DESmacro.
Use cases of mcp-c
- Rapidly prototyping an MCP server in C with minimal manual coding.
- Automatically generating JSON schemas for complex nested data types.
- Creating custom MCP tools without writing repetitive glue code.
- Integrating MCP capabilities into existing C‑based projects.
FAQ from mcp-c
What macros are available in mcp-c?
EXPORT marks a struct or function for export; EXPORT_AS(name) gives it a custom name for tool mapping; DES("description") adds JSON schema descriptions.
How do I define a tool in mcp-c?
Write a C function that returns cJSON* and annotate it with EXPORT_AS(tool_name). The tool name can be anything, including tools/list for the standard MCP list endpoint.
What files does the code generator produce?
It generates generated_bridge_code.c (JSON‑to‑struct parsing) and generated_function_signatures.c (struct definitions and the get_all_function_signatures_json function).
What are the prerequisites to build mcp-c?
You need cmake, clang, and cJSON. On Windows, vcpkg is also required.
How is the generated JSON schema structured?
It follows a $defs-based JSON Schema draft‑07 format, with separate definitions for enums, objects, and their properties, plus a tools array listing each exported tool and its input schema.
其他 分类下的更多 MCP 服务器
Awesome-MCP-ZH
yzflyMCP 资源精选, MCP指南,Claude MCP,MCP Servers, MCP Clients
MCP Go 🚀
mark3labsA Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.

EverArt
modelcontextprotocolModel Context Protocol Servers
Awesome Mcp Servers
punkpeyeA collection of MCP servers.
Codelf
unbugA search tool helps dev to solve the naming things problem.
评论