conda-incubator/conda-meta-mcp
If you are the rightful owner of conda-meta-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
An MCP (Model Context Protocol) server exposing authoritative, read-only Conda ecosystem metadata for AI agents.
conda-meta-mcp
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
What “Meta” Means Here
“Meta” refers to structured, machine-consumable ecosystem intelligence about packages — not the upstream project documentation itself. This server provides (see also the schema 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
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.
1. Purpose
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.
2. Scope
Goals
- Trustworthy machine interface
- Read‑only, hostable
- Fast startup, low latency
- Clear extension & testing pattern
Non‑Goals
- Performing installs / mutations
- Replacing human docs
- Re‑implementing conda‑forge processing logic
3. Design Principles
- Side‑effect free by contract
- Tool registration pattern (
conda_meta_mcp.tools) - Test + pre‑commit enforced consistency
- Incremental expansion
4. Quick Start
Prerequisites: pixi
git clone https://github.com/conda-incubator/conda-meta-mcp.git
cd conda-meta-mcp
pixi run cmm --help
The pixi command can be used to run the MCP locally in clients such as VSCode, Cursor, Claude Desktop, Goose and Zed:
{
"conda-meta-mcp": {
"command": "pixi",
"args": [
"run",
"--manifest-path",
"/path/to/pyproject.toml",
"cmm",
"run",
"-v"
],
"env": {}
}
}
Or call pixi run cmm mcp-json, which emits a JSON snippet with absolute paths that can be pasted into an MCP client configuration.
5. Usage inside GitHub Copilot coding agent
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": [
"*"
]
}
}
}
6. Development
Tasks (pixi):
- Tests:
pixi run test(for coverage openhtmlcov/index.html) - Lint / format / type / regenerate metadata:
pixi run pre-commit
7. Extending (New Tool)
-
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
8. Safety Model
- No environment mutation
- No external command side effects
- Future additions must preserve read‑only contract