Metacoder
A unified interface for command line AI coding assistants (claude code, gemini-cli, codex, goose, qwen-coder)
# Use default coder
metacoder "Write a Python function to calculate fibonacci numbers" -w my-scripts/
...
# list coders
metacoder list-coders
Available coders:
✅ goose
✅ claude
✅ codex
✅ gemini
✅ qwen
✅ dummy
# With a specific coder
metacoder "Write a Python function to calculate fibonacci numbers" -c claude -w my-scripts/
...
# Using MCPs
metacoder "Fix issue 1234" -w path/to/my-repo --mcp-collection github_mcps.yaml
...
# Using coders for scientific QA, with a literature search MCP
metacoder "what diseases are associated with ITPR1 mutations" --mcp-collection lit_search_mcps.yaml
...
Why Metacoder?
Each AI coding assistant has its own:
- Configuration format
- Command-line interface
- Working directory setup
- Means of configuring MCPs
Metacoder provides a single interface to multiple AI assistants. This makes it easier to:
- switch between agent tools in GitHub actions pipelines
- perform matrixed evaluation of different agents and/or MCPs on different tasks
One of the main use cases for metacoder is evaluating semantic coding agents, see:
Mungall, C. (2025, July 22). Open Knowledge Bases in the Age of Generative AI (BOSC/BOKR Keynote) (abridged version). Intelligent Systems for Molecular Biology 2025 (ISMB/ECCB2025), Liverpool, UK. Zenodo. https://doi.org/10.5281/zenodo.16461373
Mungall, C. (2025, May 28). How to make your KG interoperable: Ontologies and Semantic Standards. NIH Workshop on Knowledge Networks, Rockville. Zenodo. https://doi.org/10.5281/zenodo.15554695
Features
- Unified CLI for all supported coders
- Consistent configuration format (YAML-based)
- Unified MCP configuration
- Standardized working directory management
Evaluation Framework
Metacoder includes a comprehensive evaluation framework for systematically testing and comparing AI coders, MCPs, and models.
# Run evaluation suite
metacoder eval tests/input/example_eval_config.yaml
Example evaluation configuration:
name: pubmed tools evals
description: Testing coders with PubMed MCP integration
coders:
claude: {}
goose: {}
models:
gpt-4o:
provider: openai
name: gpt-4
servers:
pubmed:
name: pubmed
command: uvx
args: [mcp-simple-pubmed]
env:
PUBMED_EMAIL: user@example.com
cases:
- name: "title"
metrics: [CorrectnessMetric]
input: "What is the title of PMID:28027860?"
expected_output: "From nocturnal frontal lobe epilepsy to Sleep-Related Hypermotor Epilepsy: A 35-year diagnostic challenge"
threshold: 0.9
Getting Started
- [Installation and Setuphttps://ai4curation.github.io/metacoder/getting-started)
- Supported Coders
- Configuration Guide
- MCP Support - Extend your AI coders with additional tools
- Evaluations - Test and compare AI coders
Release files for metacoder 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| metacoder-0.1.0.tar.gz | 1.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| metacoder-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / metacoder-0.1.0.tar.gz
| Download URL | metacoder-0.1.0.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f5a39d93a830a0cce9d0e975fd3367150fd9ef1988a360f8db1d2084266a656
|
|
BLAKE2b-256 checksum How to use checksums |
f9ec09b7aa6018dac8f492bf16f54862c6c2114d2d39f05d3f549d3b8beab016
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2025.
Transparency logRelease files / metacoder-0.1.0-py3-none-any.whl
| Download URL | metacoder-0.1.0-py3-none-any.whl |
|---|---|
| Size | 36.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b765ab0e493969ebe6cf86871e971f092cbc67096379582a422aaa3f6dd542d2
|
|
BLAKE2b-256 checksum How to use checksums |
2b16495f47d2ab6eea1aca3225e549b7389fbf6f3576d15c0aed2926e78b3a95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2025.
Transparency log