Skip to main content

Add your description here

Project description

Metacoder

Metacoder Logo

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:

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

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

metacoder-0.1.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

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

metacoder-0.1.0-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: metacoder-0.1.0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for metacoder-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1f5a39d93a830a0cce9d0e975fd3367150fd9ef1988a360f8db1d2084266a656
MD5 9403b6e77a4d9afa75b4f8a8ab67685f
BLAKE2b-256 f9ec09b7aa6018dac8f492bf16f54862c6c2114d2d39f05d3f549d3b8beab016

See more details on using hashes here.

Provenance

The following attestation bundles were made for metacoder-0.1.0.tar.gz:

Publisher: pypi-publish.yaml on ai4curation/metacoder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: metacoder-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for metacoder-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b765ab0e493969ebe6cf86871e971f092cbc67096379582a422aaa3f6dd542d2
MD5 899efdbc612abe5249930afab96239c7
BLAKE2b-256 2b16495f47d2ab6eea1aca3225e549b7389fbf6f3576d15c0aed2926e78b3a95

See more details on using hashes here.

Provenance

The following attestation bundles were made for metacoder-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yaml on ai4curation/metacoder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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