Metis
Governed tacit memory for AI agents: reviewed expert know-how, given only where conditions match
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
metis-memoryclaude mcp add metis -e 'METIS_HOME=<METIS_HOME>' -- uvx metis-memory==0.1.6 mcp
{
"mcpServers": {
"metis": {
"command": "uvx",
"args": [
"metis-memory==0.1.6",
"mcp"
],
"env": {
"METIS_HOME": "<METIS_HOME>"
}
}
}
}
Environment variables
METIS_HOMErequired The Metis project directory to serve. A directory with no workspace yet gets the pump demo, so there is governed memory to try at once.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Website · Documentation · Paper · PyPI · CHAP
Metis is an open-source toolkit for capturing fragments of expert practice and making them available to AI agents as memory, with human review and agreed conditions for use.
Tacit fragments: a fourth layer of agent memory
A tacit fragment records what an expert noticed, how they responded, and the circumstances of that response. After human review, it sits alongside procedures, facts, and past events in the agent's memory.
The gap between procedure and practice
Procedures describe what should happen, and logs record what happened. The cue behind an expert's decision, and the reason for it, often go unrecorded.
How a fragment reaches an agent
Every capture, confirmation, review decision, and retrieval is recorded through the
CHAP reference coordinator,
chap-coordinator, on a hash-linked evidence chain.
The capture loop
When a recorded action differs from the procedure, a capture agent asks the expert one short question, a whisper, and the expert confirms the account in their own words.
Seventeen kinds of know-how
Each fragment carries one of the paper's seventeen categories of tacit knowledge, K1 to K17. The atlas on the website gives an example of each and a way to capture it.
Quickstart: run the pump example
python -m pip install metis-memory
metis demo manufacturing-pump-vibration
metis fragment list
metis memory list
metis audit verify
The demo uses supplied observations, needs no model server, and keeps its records in ./.metis.
To work from source:
git clone https://github.com/BrightbeamAI/metis && cd metis
pip install -e .
Python example: capture, review, and the condition-aware gate
from metis import MetisEngine
from metis.conditions.context import TacitContext
from metis.consent.model import ConsentRecord, ConsentStatus
eng = MetisEngine() # local and deterministic
eng.join_default_participants()
# Capture the operator's practice where it departs from the procedure.
frag = eng.capture_observation(
{
"observation_id": "OBS-1",
"work_as_imagined": "Reduce load only when the alarm threshold is crossed.",
"work_as_done": "Ease back earlier, when high load meets a dull sound.",
"context": TacitContext(equipment_family="centrifugal_pump", operating_mode="high_load"),
},
consent=ConsentRecord(consent_status=ConsentStatus.granted),
category="K7_sensory",
).fragment # Evidence layer: reviewers only
# Two named reviewers promote it to Advisory.
eng.tier2_review(
frag.fragment_id, "promoted_to_advisory", summary="advisory cue only",
decided_by=["human:quality-lead@metis.local", "human:process-engineer@metis.local"],
)
# The gate returns it only where its conditions hold.
pump = TacitContext(equipment_family="centrifugal_pump", operating_mode="high_load", risk_class="moderate")
other = TacitContext(equipment_family="gear_pump", operating_mode="low_load", risk_class="moderate")
print(len(eng.retrieve(pump).eligible)) # 1
print(eng.retrieve(other).blocked[0].reason) # conditions_do_not_match
Connect Metis to your application
| Area | Metis provides | Your application supplies |
|---|---|---|
| Capture | Fragment schemas and the whisper flow | Capture tools, consent workflows, and access control |
| Review | Confirmation, review, and authority records | Reviewer identity and formal change control |
| Retrieval | The condition-aware gate and its reasons | Current context, permissions, and domain policies |
| Action | Guidance with its permitted uses | Action limits and human escalation |
| Records | Local persistence and CHAP evidence | Storage, retention, and access policy |
metis mcp serves the same governed memory to MCP clients such as Claude Desktop and Claude Code,
and uvx metis-memory mcp runs it with nothing installed first. See the
MCP server guide. To run Metis for a team, the
server guide covers sign-in, workspace roles, the web app, and PostgreSQL;
deploy/ runs it with Docker or Kubernetes; and the
agent integrations guide connects agents through remote MCP, a
Python client, or LangChain. Connectors capture from workplace systems
and put whispers in Slack or Teams, and the operations guide covers running
it in production.
Learn more
- Website: the interactive walkthrough, the atlas, and common questions.
- Documentation: architecture, governance, retrieval, and agent use.
- ABOUT.md: the repository map and how to develop.
- CHAP: the Collaborative Human-Agent Protocol.
docs/demo.htmlanddocs/explainer.html: an interactive demo and an illustrated explainer that open in any browser.
Ethical use
Metis captures fragments of human work with the worker's knowledge and consent. Do not use it for covert monitoring. It records no audio, video, biometrics, screenshots, or keystrokes. Production use needs worker consultation, legal review, and domain validation; read ETHICAL_USE.md first.
License
Apache-2.0. See LICENSE.
Citation
Metis is the reference implementation of *Tacit Fragments: Operationalising Tacit Knowledge as a Governed Memory Layer for Agentic AI*.
@article{shahid2026tacitfragments,
title = {Tacit Fragments: Operationalising Tacit Knowledge as a Governed Memory Layer for Agentic AI},
author = {Shahid, Arsalan and Suttie, Gordon and Black, Philip and Garz{\'o}n-Vico, Antonio},
journal = {Preprints},
year = {2026},
doi = {10.20944/preprints202608.0927.v1},
url = {https://brightbeam.works/metis/resources/tacit-fragments-preprint.pdf}
}
Frequently asked questions
What is Metis?
Governed tacit memory for AI agents: reviewed expert know-how, given only where conditions match
How do I install Metis?
It runs on your machine. In Claude Code: claude mcp add metis -e 'METIS_HOME=<METIS_HOME>' -- uvx metis-memory==0.1.6 mcp. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Metis need an API key?
Yes. It expects METIS_HOME, which you set in its configuration.
Is Metis open source?
Yes. Its code is on GitHub under the Apache-2.0 license.
Who maintains Metis?
It is published by BrightbeamAI. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.