MatRouter
MatRouter is a local-first MCP server for agentic materials research. It gives AI agents structured access to materials databases through normalized tools, provenance-aware responses, and lightweight analysis utilities.
Status
v0.2.1 is an offline-tested local release focused on provenance-preserving materials retrieval, evidence workflows, and resilient upstream integrations.
Quick Start
MatRouter requires Python 3.11 or newer.
Install the published package:
uv tool install matrouter
Or install from a source checkout:
git clone https://github.com/MatRouter/matrouter.git
cd matrouter
uv sync
Optional bootstrap check before wiring an agent host:
matrouter --explain-sources
Agent hosts should run MatRouter as a local MCP stdio server:
matrouter
When running from a source checkout instead of the installed tool, prefix the same commands with uv run, for example uv run matrouter --explain-sources.
For Codex and Claude Code, prefer the installable plugin path in the user guide. For OpenCode or other hosts, configure MCP with command: "matrouter" or command: ["matrouter"] and install the portable skill if the host supports skills.
Most starter workflows can use public sources without MatRouter-specific credentials. Materials Project, MaterialsGalaxy detail routes, and MPDS require API keys. Keep real keys in a private env file such as ~/.config/matrouter/env, or in process environment variables; do not commit them to the repository or shared MCP client configuration.
Documentation
- User setup, data-source configuration, MCP client examples, prompts, FAQ, and troubleshooting: user guide
- Development guide, architecture notes, configuration contract, testing, and release workflow: development guide
- Validation report: test report
Agent Skill
The public MatRouter skill source lives in skills/matrouter/. It is for agents that have, or are being configured to have, MatRouter MCP access. It provides materials-research guidance: source selection, provenance handling, screening, comparison, report packages, conservative evidence interpretation, and MCP initialization when availability is blocked.
For Codex auto-discovery, install it by copying skills/matrouter/ to .agents/skills/matrouter/ in a repo or to $HOME/.agents/skills/matrouter/ for personal use.
For human-facing MCP client setup, use the user guide. After setup, a useful prompt is:
Use MatRouter to find the band structure of diamond and generate a plot.
Contact
Authors:
- Quansheng Wu quansheng.wu@iphy.ac.cn
- Tiannian Zhu (朱天念) tnzhu@iphy.ac.cn
Maintainer:
- Quansheng Wu wuquansheng@gmail.com
License
MatRouter source code is licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
MatRouter does not grant rights to third-party database content. Data retrieved through MatRouter remains subject to the terms, licenses, API policies, attribution requirements, and access restrictions of the respective upstream data providers.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file matrouter-0.2.1.tar.gz.
File metadata
- Download URL: matrouter-0.2.1.tar.gz
- Upload date:
- Size: 351.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0235ff8b0b682f5404053b5374d665e553cc86ee5d2e2050b7f8a9aab261b19d
|
|
| MD5 |
a9fbe23cac1894b1b909553ec9fde052
|
|
| BLAKE2b-256 |
cc4018aa2dc6cafd0f8c42fb52691731cbe69b2f302974758263d0f3ed48a596
|
Provenance
The following attestation bundles were made for matrouter-0.2.1.tar.gz:
Publisher:
publish.yml on MatRouter/matrouter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
matrouter-0.2.1.tar.gz -
Subject digest:
0235ff8b0b682f5404053b5374d665e553cc86ee5d2e2050b7f8a9aab261b19d - Sigstore transparency entry: 2243692094
- Sigstore integration time:
-
Permalink:
MatRouter/matrouter@dd420b9f46b115208b24589505effe8867145145 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/MatRouter
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dd420b9f46b115208b24589505effe8867145145 -
Trigger Event:
release
-
Statement type:
File details
Details for the file matrouter-0.2.1-py3-none-any.whl.
File metadata
- Download URL: matrouter-0.2.1-py3-none-any.whl
- Upload date:
- Size: 273.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f69e1b8f69356d8b0c3213a66e770ee50b185f2689fa051da102f120fe78f6f
|
|
| MD5 |
307307e35dd56155d6b60865428ce105
|
|
| BLAKE2b-256 |
f5e71cdb1694788291fd1d59cdfaed59014e4d7fdee8d3fde9a2c5e9b9d0ff8a
|
Provenance
The following attestation bundles were made for matrouter-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on MatRouter/matrouter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
matrouter-0.2.1-py3-none-any.whl -
Subject digest:
4f69e1b8f69356d8b0c3213a66e770ee50b185f2689fa051da102f120fe78f6f - Sigstore transparency entry: 2243692318
- Sigstore integration time:
-
Permalink:
MatRouter/matrouter@dd420b9f46b115208b24589505effe8867145145 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/MatRouter
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dd420b9f46b115208b24589505effe8867145145 -
Trigger Event:
release
-
Statement type: