Skip to main content

An MCP server that bridges LLMs to the Ceedling C unit testing framework

Project description

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

Project details


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.

Supported by

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