mcp-c
@ZenWayne
About mcp-c
mcp server frarmwork written in c, developing efficiently and effortlessly
Config
No standard config provided
This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.
RepositoryTools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
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.
Frequently asked questions
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](https://github.com/DaveGamble/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.
Basic information
More Other MCP servers
MCP Toolbox for Databases
googleapisMCP Toolbox for Databases is an open source MCP server for databases.

YOUB
Connect your AI assistant to your own YOUB endurance training account. Read recorded activities with full analysis, planned sessions, race goals, wellness (HRV, sleep, resting HR) and your athletic profile. Create or mov
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
Codelf
unbugA search tool helps dev to solve the naming things problem.
MCP Registry
modelcontextprotocolA community driven registry service for Model Context Protocol (MCP) servers.
Comments