MatRouter
MatRouter is an agent-native materials evidence substrate. It routes explicit
EvidenceRequirement objects to source-qualified operations and uses
deterministic Python operators to decide whether returned evidence is admissible
for a ClaimSpec.
The Agent control plane (LLM + MCP + Skill) plans and writes. The Python evidence
plane owns capability truth, execution outcomes, provenance, scientific gates,
and ClaimSupportMap. MatRouter therefore keeps availability → execution →
admissibility separate: retrievable data or a successful API call is not by
itself support for a scientific claim.
Install
MatRouter requires Python 3.11 or newer.
# Python dependency
uv add --prerelease=allow matrouter
# Standalone MCP command
uv tool install --prerelease=allow matrouter
From a checkout:
git clone https://github.com/MatRouter/matrouter.git
cd matrouter
uv sync
uv run matrouter
Python
from matrouter import create_router
with create_router() as router:
print(router.explain_sources())
EvidenceBundle is the sole evidence truth. Deterministic qualification returns
exactly four scientific dispositions: supported, conflicted,
incomparable, and incomplete. An Agent may revise its plan but may not
upgrade a MatRouter disposition.
Agent plugin
Codex and Claude Code can install the bundled plugin; other MCP hosts can run
matrouter as a local stdio server and use the portable Skill when supported.
See the user guide
for the current installation and configuration procedure.
The sole distributable Skill source is
plugins/matrouter/skills/matrouter/.
Scope
MatRouter does not mirror upstream databases, infer missing scientific context, or impose a fixed end-to-end research workflow. OPTIMADE remains complementary: OPTIMADE standardizes provider-side common records; MatRouter supplies agent-side evidence routing and task-relative scientific admissibility across native and OPTIMADE sources.
Documentation
- User guide: installation, configuration, MCP, sources, and usage.
- Development guide: architecture, contracts, and maintenance.
- Verification report: current tested surface and limits.
- Plugin guide: agent-host installation.
Contact
- Quansheng Wu quansheng.wu@iphy.ac.cn, wuquansheng@gmail.com
- Tiannian Zhu (朱天念) tnzhu@iphy.ac.cn
License
MatRouter is licensed under Apache-2.0; see LICENSE and NOTICE. Retrieved data remains subject to each upstream provider's terms, licenses, attribution requirements, and access restrictions.
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.3.5.tar.gz.
File metadata
- Download URL: matrouter-0.3.5.tar.gz
- Upload date:
- Size: 833.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6e67a485c2dc6dee2a0090c6d545ace538f4168ae3dbe985b63edf67eae98a3
|
|
| MD5 |
e72919abeb9d9d52cbd82b503b7834e8
|
|
| BLAKE2b-256 |
6c34822a89e00069fb688f366edeb82d0e42eedf45c1603724601ad08b4b635b
|
Provenance
The following attestation bundles were made for matrouter-0.3.5.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.3.5.tar.gz -
Subject digest:
f6e67a485c2dc6dee2a0090c6d545ace538f4168ae3dbe985b63edf67eae98a3 - Sigstore transparency entry: 2319237589
- Sigstore integration time:
-
Permalink:
MatRouter/matrouter@26004366ee9ab3e93eee2a196a403aac7a21c935 -
Branch / Tag:
refs/tags/v0.3.5 - Owner: https://github.com/MatRouter
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@26004366ee9ab3e93eee2a196a403aac7a21c935 -
Trigger Event:
release
-
Statement type:
File details
Details for the file matrouter-0.3.5-py3-none-any.whl.
File metadata
- Download URL: matrouter-0.3.5-py3-none-any.whl
- Upload date:
- Size: 359.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
239a7f8e7f24ef046da054edbd61b9ad19ba681efa2aa8654fa481c80674946e
|
|
| MD5 |
f7429987a2f000984d170f5985af1a22
|
|
| BLAKE2b-256 |
4a1023fb0a2ff7cc984bcda79ef9141c52fdc8c649fae18f18dacaa07777f426
|
Provenance
The following attestation bundles were made for matrouter-0.3.5-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.3.5-py3-none-any.whl -
Subject digest:
239a7f8e7f24ef046da054edbd61b9ad19ba681efa2aa8654fa481c80674946e - Sigstore transparency entry: 2319237804
- Sigstore integration time:
-
Permalink:
MatRouter/matrouter@26004366ee9ab3e93eee2a196a403aac7a21c935 -
Branch / Tag:
refs/tags/v0.3.5 - Owner: https://github.com/MatRouter
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@26004366ee9ab3e93eee2a196a403aac7a21c935 -
Trigger Event:
release
-
Statement type: