PROTOTYPE: CRM NETWORKS

Mycelium

Query-driven. Agent-native. Growing.

Open-source framework for agent-native data networks: scoped ecosystems where a supervisor routes entity queries to specialist agents. Exposed via MCP and CLI; shipped with CRM reference examples.

What ships today

Mycelium is an open-source framework for agent-native data networks: scoped ecosystems where a supervisor routes entity queries to specialist agents that classify, research, and persist attributes. Person-CRM reference examples ship today; custom networks via network create.

307 pytest green on the framework repo. Prototype quality, not enterprise-ready.

Networks

Isolated network_root per domain. network create scaffolds ontology (optional --seed); names register in ~/.config/mycelium/networks.json.

Entity registry

Canonical entities.json at runtime — not SQLite. Optional seed.json bootstrap fixture imports at refresh or create only; queries never read seed.json.

MCP + CLI

Query-only public API: describe_network, query_entity, and health_check. Callers do not submit ingest payloads.

Specialist research

Generated specialists per category. Sync LLM + Tavily on cache miss; findings persist under agents/<category>/.

Examples

crm (bootstrap fixture → entities.json), empty-crm (no seed — first query bind creates the row), crm-metering (quote_required demo).

Admin demo

./bin/restart-admin: read-only status UI polling entity and specialist growth on localhost.

Try it

Clone the framework, bootstrap a reference network (CRM example), and run your first entity query.

bash
git clone https://github.com/myceliumdata/mycelium.git
cd mycelium && uv sync --all-extras
./bin/refresh-example-network crm
uv run mycelium query --entity-key "Nichanan Kesonpat"

New contributors: onboarding README quick start architecture

Example Command Story
crm ./bin/refresh-example-network crm 15-person bootstrap → entities.json
empty-crm ./bin/refresh-example-network empty-crm No seed.json — empty registry until first query bind creates the row
crm-metering ./bin/refresh-example-network crm-metering Priced research negotiation (quote_required)

Custom network: network create <name> --root <path> [--seed <file>]--seed is optional; an empty registry plus first-query bind is valid.

How a query works

From network bootstrap to cached specialist results (CRM reference example).

1

Refresh or create a network

Copy an example (./bin/refresh-example-network) or run network create with optional --seed. empty-crm needs no fixture — first bind writes entities.json. Queries always read the registry, never seed.json.

2

Connect an agent (MCP)

Call describe_network at connect time. The response includes guide.md, ontology categories, and framework usage policy.

3

Query an entity

Send entity_key plus optional requested_attributes. The supervisor classifies fields, routes to specialists, and runs sync research on cache miss.

crm example

Agent asks for Andrea Kalmans's email → supervisor routes to the contact specialist → research runs once → result cached → repeat query is fast.

empty-crm example

First bind for Paul Murphy @ Acme Corp creates the registry row. The network grows from zero without bootstrap people.

For agents (MCP)

Built for LLM client integrators. One long-lived MCP server per network; call describe_network at connect time. query_entity is lookup-only — no caller ingest payload.

describe_networkquery_entityhealth_check

query_entity request

json
{
  "entity_key": "Andrea Kalmans",
  "requested_attributes": ["email"],
  "thread_id": "optional-session-id"
}

QueryResponse snippet

json
{
  "outcome": "assembled",
  "suggestions": [],
  "results": [
    {
      "id": "3fe6db14-a41d-50fe-9959-c5263dc5f53b",
      "name": "Andrea Kalmans",
      "employer": "Lontra Ventures",
      "email": "[email protected]"
    }
  ],
  "message": "Found record for Andrea Kalmans; assembled from registry and specialist contributions."
}

Agents should branch on outcome before trusting results. Values include found, assembled, not_found, and entity_key_unresolved.

MCP setup: framework README

Under the hood

Supervisor routing, specialist research, and a query-only public surface.

Entity registry and bootstrap fixture — canonical JSON identity, not a live ingest pipeline

Entity registry

Canonical entities.json (UUID + bind keys) — not the SQLite people table. Optional seed.json bootstrap fixture imports at refresh or create only.

Specialist collectives: generated agents per category with lazy ontology growth

Specialist collectives

Generated agents per category under specialists/. Classification grows attribute_map lazily; research persists per entity.

Structured agent API: MCP with outcome, suggestions, and metering hooks

Structured agent API

MCP and CLI return QueryResponse with outcome, suggestions, results, and message. Metering negotiation on crm-metering demo network.

Query graph (simplified)

CLI or MCP supervisor build_context invoke_specialists assemble_response
entities.json (registry)
Direction: not all shipped yet

Vision

Today's data sources are rigid, manually maintained, and lag behind the speed of agentic AI systems.

Mycelium aims to change that.

Agents bind and enrich entities; operators steer via network guides and validation rules. The long-term goal is data infrastructure where AI agents take primary ownership of organization, quality, and evolution.

"Mycelium lets AIs discover, structure, update, and serve data in real time, with operators setting policy instead of hand-curating every field."

Future directions

  • Networks beyond the committed CRM examples (e.g. fleet, agronomic via network create)
  • Schema evolution guided by operator ontology and validation rules
  • Inter-network handoff between scoped ecosystems

What we don't claim yet

  • · Turnkey networks for every domain without operator setup
  • · Public data-ingest API (returns as internal agent coordination later)
  • · Inter-network routing
  • · Fully autonomous schema evolution without operator ontology

Join

Open source under MIT. Clone, bootstrap a network, and query.

Star on GitHub →