MCP.so
登录

mcp-c

@ZenWayne

关于 mcp-c

mcp server frarmwork written in c, developing efficiently and effortlessly

基本信息

分类

其他

许可证

MIT license

运行时

c++

传输方式

stdio

发布者

ZenWayne

配置

暂无标准配置

该服务器的 README 中没有可解析的 MCP 配置块,请前往代码仓库查看安装说明。

代码仓库

工具

未检测到工具

工具是从 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_AS macro.
  • Automatic serialization between JSON and C structs.
  • Built‑in bridge code generation for tool input/output parsing.
  • Supports enums, nested structs, and descriptions with DES macro.

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 服务器