Skip to main content

Ceedling MCP Server

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

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 the src/ceedling_mcp source remapping. Use uv 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ceedling_mcp-0.1.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ceedling_mcp-0.1.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file ceedling_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: ceedling_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for ceedling_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 019004d18f4203888a0858c44c8dc2a040083c2358c145f531849b9c33d0e8fe
MD5 1bf6f2724be58067e6db3299c362787d
BLAKE2b-256 32435347a3221f86b7e19609bdfb62ea43820103bb933e067bf1b0224d7e6205

See more details on using hashes here.

File details

Details for the file ceedling_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ceedling_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ec54d049ab284a695017b72f65a26645ce330d5b5651b7abbc0f36d6e553d5c
MD5 d3e4b407577611bc2782b2440b4e8bb8
BLAKE2b-256 20707dcf5a22c7b701fc943728cafd0285448de9a0ae2a94f4e77b6e02ecb0e1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page