Ceedling Server
FreeNot checkedBridges LLMs to the Ceedling C unit testing framework, enabling test execution, module-specific testing, and scaffolding of source/test file triplets.
About
Bridges LLMs to the Ceedling C unit testing framework, enabling test execution, module-specific testing, and scaffolding of source/test file triplets.
README
An MCP (Model Context Protocol) server that bridges LLMs to the Ceedling C unit testing framework. Designed for zero-setup execution via uvx.
Features
| Tool | Description |
|---|---|
run_all_tests |
Execute the full Ceedling test suite |
run_module_tests |
Run tests for a specific module by name |
create_module |
Scaffold new source/header/test file triplets |
Intelligent output filtering — Successes are summarized compactly; failures are extracted with precise file, line number, and assertion error messages.
Prerequisites
- Python ≥ 3.10
- Ceedling installed and on PATH (
gem install ceedling) - uv (for
uvxexecution): https://docs.astral.sh/uv/
Project Structure
ceedling-mcp-server/
├── pyproject.toml
├── README.md
└── src/
├── __init__.py
├── server.py # FastMCP server + tool definitions
└── parser.py # Intelligent output parser
Quick Start
Run directly with uvx (no install needed)
From the project root:
uvx --from . ceedling-mcp
Or if published to PyPI:
uvx ceedling_mcp
Install locally for development
uv venv
uv pip install .
ceedling-mcp
Note: Editable installs (
-e) are not supported with thesrc/→ceedling_mcpsource remapping. Useuv pip install .instead.
Use with the MCP Inspector
npx -y @modelcontextprotocol/inspector uvx --from . ceedling-mcp
Client Configuration
Gemini CLI / Claude Desktop
Add to your MCP config:
{
"mcpServers": {
"ceedling": {
"command": "uvx",
"args": ["--from", "/absolute/path/to/ceedling-mcp-server", "ceedling-mcp"]
}
}
}
Output Examples
All tests pass
✅ All 12 tests passed.
Failures detected
❌ 2 of 12 tests FAILED (10 passed, 0 ignored)
--- Failure Details ---
FAIL test/test_Foo.c:42 — test_Foo_should_ReturnOne
Expected 1 Was 0
FAIL test/test_Bar.c:18 — test_Bar_should_Initialize
Expected TRUE Was FALSE
Build error
🔴 BUILD ERRORS — tests did not execute
src/Foo.c:10: use of undeclared identifier 'x'
License
MIT
Install Ceedling Server in Claude Desktop, Claude Code & Cursor
unyly install ceedling-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add ceedling-mcp-server -- uvx ceedling_mcpFAQ
Is Ceedling Server MCP free?
Yes, Ceedling Server MCP is free — one-click install via Unyly at no cost.
Does Ceedling Server need an API key?
No, Ceedling Server runs without API keys or environment variables.
Is Ceedling Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Ceedling Server in Claude Desktop, Claude Code or Cursor?
Open Ceedling Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Ceedling Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
