Agent-First symbiotic cognitive substrate.
Project description
Myco
Devour everything. Evolve forever. You just talk.
Quick Start · Daily Flow · Architecture · Integrations
LangChain. LangGraph. CrewAI. DSPy. Claude Code skills. OpenHands. OpenClaw. Every few months the next framework drops and you migrate again.
Your notes rot too. The API you read three weeks back has changed. The doc you wrote last year is wrong now. Your AI does not even remember last week's decisions. Every new conversation starts from zero.
Now imagine one living substrate. It ingests the frameworks, the papers, the APIs, the codebases, the datasets, the decisions, the frictions. It keeps them connected in a graph the agent actually reads. It catches its own drift. It reshapes itself when your work outgrows its old form. For six months. For six years. No migration.
This is Myco.
What it is
Myco is a living cognitive substrate for your AI agent. Not a framework. A substrate that ingests frameworks.
Myco devours code repositories, framework documentation, datasets, papers, chat logs, decisions, and frictions. Anything the agent can point at becomes raw material. It digests the material, links it into a mycelium graph, immune-checks against drift, and propagates knowledge across projects. When the work changes shape, Myco changes with it: the agent proposes (craft), you approve, the kernel bumps. New canon fields, new lint dimensions, new verbs, new subsystems. Even a complete internal rewrite stays a myco release, not a new dependency. The underlying substrate is never thrown away.
You never migrate again.
This works now, not because the idea is new, but because agents are finally intelligent enough to maintain the system themselves. Earlier attempts died because humans could not keep up. Myco bakes the assumption "the maintainer is an agent" into every surface and every verb.
Five principles
- Only for the agent. You do not browse Myco. You talk to the agent. The agent reads Myco. Every surface (
_canon.yaml, notes, doctrine pages, the boot brief) is primary material for the agent, not documentation for a reader. - Devour everything. No filter on intake. Code repositories, frameworks, papers, datasets, logs, half-formed hunches, raw decisions. Whatever the agent can point at, the substrate eats. Shape comes later. The cost of missing a signal is always higher than the cost of eating too much.
- Self-evolving shape. Canon schema, lint dimensions, verbs, the contract itself, all mutable. When the work outgrows the current shape, the agent proposes, you approve, Myco reshapes. A frozen substrate is a dead substrate.
- Nothing is final.
integratedis a state, not an endpoint. A note digested today gets re-digested tomorrow as context sharpens. Reflection is a heartbeat. - Mycelium network. Every note, canon field, and doctrine page links to every other by traversal. Orphans are dead tissue. The graph is how the agent reads, so the graph stays alive.
Three roles
You set direction. You never memorize a CLI, organize files, or explain your project twice.
The agent brings intelligence. It reads your words, reads Myco, picks verbs, writes back.
Myco runs a metabolism. Between your turns it asks what is missing (hunger), takes in raw material (eat), cooks raw into structured knowledge (reflect, digest, distill), defends its identity against drift (immune), and propagates learning across projects (propagate). Twelve verbs, one manifest, two surfaces: a CLI for observation, an MCP server for the agent to drive.
Stable kernel, mutable substrate.
pip installlocks the kernel at a released version. The substrate (_canon.yaml,notes/,docs/primordia/) evolves daily through the twelve MCP verbs. The kernel itself evolves across versions, proposed by the agent through craft, approved by you, never by drift.
Quick Start
pip install 'myco[mcp]'
cd /path/to/your/project
myco genesis . --substrate-id my-project
Three scripts land on your PATH:
myco: the twelve-verb CLI.mcp-server-myco: the universal MCP stdio launcher. Drop it into any host.myco-install: one-command install into any of seven MCP hosts.
For Claude Code and Cowork, the official plugin wires the MCP server, hooks, and slash skills in one step:
/plugin marketplace add Battam1111/Myco
/plugin install myco@myco
For every other MCP host, one helper writes the correct config for you:
myco-install cursor # or: claude-desktop, windsurf, zed, vscode, openclaw
Or paste the universal snippet into the host's config. It works across the mcpServers family (Claude Desktop, Cursor, Windsurf, Cline, Roo Code, Gemini CLI, Qwen Code, JetBrains AI, Augment Code, AiderDesk):
{ "mcpServers": { "myco": { "command": "mcp-server-myco", "args": [] } } }
The nine hosts with divergent schemas (VS Code Copilot servers, Zed context_servers, OpenClaw mcp.servers + CLI, OpenHands TOML, OpenCode and Kilo Code mcp, Codex CLI TOML, Goose YAML extensions, Continue YAML block, Warp mcp_servers) each get their own exact snippet in docs/INSTALL.md, along with Python-framework adapters for LangChain, CrewAI, DSPy, Smolagents, Agno, PraisonAI, Microsoft Agent Framework, and Claude Agent SDK.
For library embedding:
from myco.mcp import build_server
build_server().run() # stdio (default)
build_server().run(transport="sse") # HTTP SSE
Contributing or forking? Use editable install:
git clone https://github.com/Battam1111/Myco && cd Myco
pip install -e '.[dev,mcp]'
Daily Flow
The agent drives it. You memorize nothing. Twelve verbs group into five subsystems:
| Subsystem | Verbs | What happens |
|---|---|---|
| Genesis | genesis |
Bootstrap a fresh substrate. |
| Ingestion | hunger, sense, forage, eat |
What the substrate needs; keyword search; list ingestibles; capture a raw note. |
| Digestion | reflect, digest, distill |
Promote raw to integrated; distill integrated to doctrine. |
| Circulation | perfuse, propagate |
Graph health; publish to downstream substrates. |
| Homeostasis | immune |
Eight-dimension lint across four categories, with --fix available. |
| (meta) | session-end |
reflect plus immune --fix, auto-fired by PreCompact. |
CLI usage is myco VERB, with global flags (--project-dir, --json, --exit-on) placed before the verb. MCP exposes one tool per verb, derived mechanically from src/myco/surface/manifest.yaml, the shared source of truth.
Architecture
You ──▶ Agent ──▶ Myco substrate
├── _canon.yaml SSoT: identity · write-surface · lint policy
├── MYCO.md agent entry page (R1)
├── notes/{raw,integrated,distilled}/
├── docs/architecture/ L0 vision · L1 contract · L2 doctrine · L3 impl
├── src/myco/ genesis · ingestion · digestion · circulation · homeostasis · surface
└── .claude/hooks/ SessionStart → hunger · PreCompact → session-end
Seven hard rules (R1 through R7) are enforced partly by hooks, partly by the immune system, partly by agent discipline. Full contract at L1_CONTRACT/protocol.md.
Cross-platform enforcement: no host left behind
R1 through R7 are hook-enforced inside Claude Code and Cowork. Everywhere else (Cursor, Windsurf, Zed, Codex, Gemini, Continue, Claude Desktop, OpenClaw, OpenHands) they ride inside the MCP server itself:
- Initialization instructions. On
initialize, every host receives a short R1 through R7 summary linking toL1_CONTRACT/protocol.md. Agents that read instructions see the contract before the first tool call. substrate_pulsesidecar. Every tool response includes asubstrate_pulsefield carrying the currentcontract_version,substrate_id, and a rule hint that escalates from R1 (hunger not called) to R3 (sense before assert) once boot is confirmed. The sidecar is a server-side push. Agents cannot accidentally forget the contract.
Zero host-side configuration. Works on every MCP client.
Integrations
- Claude Code and Cowork:
/plugin marketplace add Battam1111/Myco, then/plugin install myco@myco. Or drop.claude/in by hand. - Any MCP host:
myco-install <client>for the seven most common hosts,mcp-server-mycoover stdio anywhere else. Exact per-host snippets live indocs/INSTALL.md. - Python agent frameworks: LangChain, CrewAI, DSPy, Smolagents, Agno, PraisonAI, Microsoft Agent Framework, and Claude Agent SDK all consume Myco via
StdioServerParameters(command="mcp-server-myco"). - Downstream substrates:
myco propagatepublishes; adapters live inmyco.symbionts.
Learn more
L0_VISION.md · L1_CONTRACT/ · L2_DOCTRINE/ · INSTALL.md · CONTRIBUTING.md · Issues
Contributing: pip install -e ".[dev]"; architectural changes land as dated craft docs under docs/primordia/.
Project details
Release history Release notifications | RSS feed
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 myco-0.4.2.tar.gz.
File metadata
- Download URL: myco-0.4.2.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e12509410c50c5c5d1fcb8a2544d1d1dcc4042855f096858775628302b2978ec
|
|
| MD5 |
a65be8bced9247fa06c8e8f9f091839a
|
|
| BLAKE2b-256 |
448ec4cdafaaa4403d13907780056e0338ba84fba89891745ec8784d7f8aefd8
|
File details
Details for the file myco-0.4.2-py3-none-any.whl.
File metadata
- Download URL: myco-0.4.2-py3-none-any.whl
- Upload date:
- Size: 91.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14df75fe71facf71a71b99db55700cf44931d8059696fdef251f0eb17570ea96
|
|
| MD5 |
d07427f3e474af7d139b547e9ed5e757
|
|
| BLAKE2b-256 |
e93aa76f6092b2da3d647110c599278ee5b0a2f60c7844c404fc4ab6bf902d2b
|