An MCP (Model Context Protocol) server exposing authoritative, read-only Conda ecosystem metadata for AI agents.
📖 Read the introduction blog post: conda-meta-mcp: Expert Conda Ecosystem Data for AI Agents
Note
conda-meta-mcp provides read-only access to conda ecosystem metadata from channel data
(packages and repodata), conda-forge data, and the OpenTeams search index for package
content. Users are solely responsible for all requests they initiate, authorize, automate,
or cause to be made through conda-meta-mcp, including compliance with any applicable
third-party terms, rate limits, access requirements, and package licenses.
Metadata and license fields may be incomplete, outdated, or informational only. This project does not provide legal advice or grant rights to use third-party services or content.
“Meta” refers to structured, machine-consumable ecosystem intelligence about packages — not the upstream project documentation itself. This server provides (see also the schema server-info.json for current capabilities):
Currently available:
- Version metadata (MCP tool/library versions) via the
infotool - Package info tarball data via the
package_insightstool - Package search via the
package_searchtool - Import to package heuristic mapping via the
import_mappingtool - File path to package mapping via the
file_path_searchtool - PyPI name to conda package mapping via the
pypi_to_condatool - CLI help (for conda) via the
cli_helptool - Repository metadata queries (depends / whoneeds) via the
repoquerytool
Tools backed by channel-specific data sources require an explicit channel argument and
fail for unsupported channels before reading their data source.
Planned:
- Solver feasibility signals (dry-run outputs)
- Schema references and selected spec excerpts
- Binary linkage information
- Links (not copies) to sections of knowledge bases
It does not embed, index, or serve full library docs (e.g. numpy API pages); that remains out of scope by design.
Enable agents to answer packaging questions by providing up-to-date critical and fragmented expert knowledge. This project provides a safe, inspectable, zero‑side‑effect surface so agents deliver accurate, up‑to‑date guidance.
- Trustworthy machine interface
- Read‑only, hostable
- Fast startup, low latency
- Clear extension & testing pattern
- Performing installs / mutations
- Replacing human docs
- Re‑implementing conda‑forge processing logic
- Side‑effect free by contract
- Tool registration pattern (
conda_meta_mcp.tools) - Test + pre‑commit enforced consistency
- Incremental expansion
Install globally as a tool:
pixi global install conda-meta-mcpOr add to your project:
pixi add conda-meta-mcpconda install -c conda-forge conda-meta-mcpOr with mamba/micromamba:
mamba install -c conda-forge conda-meta-mcpPrerequisites: pixi
git clone https://github.com/conda-incubator/conda-meta-mcp.git
cd conda-meta-mcp
pixi run cmm --helpCall cmm mcp-json to get an json snippet containing the command with args to add to your agent configuration.
Call pixi run cmm mcp-json to get an json snippet containing the command with args to add to your agent configuration.
Create a GitHub workflow named copilot-setup-steps.yml containing (see also GitHub Documentation):
jobs:
copilot-setup-steps:
...
steps:
...
- name: Setup conda-meta-mcp
uses: conda-incubator/conda-meta-mcp@main
...Add this MCP configuration inside your repository under Settings -> Copilot -> Coding agent -> MCP Configuration:
{
"mcpServers": {
"conda-meta-mcp": {
"type": "local",
"command": "cmm",
"args": [
"run"
],
"tools": [
"*"
]
}
}
}Tasks (pixi):
- Tests:
pixi run test(for coverage openhtmlcov/index.html) - Lint / format / type / regenerate metadata:
pixi run pre-commit
-
Create
conda_meta_mcp/tools/<name>.pywith:from .registry import register_tool @register_tool # or @register_tool(cache_clearers=[...]) for custom cache clearers async def my_tool(...) -> dict: """Tool description (becomes MCP tool description).""" return await asyncio.to_thread(_helper_function, ...)
-
Add unit tests (mock heavy deps)
-
pixi run prek -
pixi run test -
Open PR
- No environment mutation
- No external command side effects
- Future additions must preserve read‑only contract