Skip to main content
Glama
dihannahdi

Mycelium

by dihannahdi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DATAHUB_GMS_URLNoThe URL of the DataHub GMS endpoint.
DEEPSEEK_API_KEYNoAPI key for DeepSeek LLM (optional, for narrative).
MYCELIUM_BACKENDNoThe backend to use: 'snapshot' (offline) or 'live' (production). Default is 'snapshot'.snapshot
ANTHROPIC_API_KEYNoAPI key for Anthropic Claude LLM (optional, for narrative).
DATAHUB_GMS_TOKENNoThe authentication token for DataHub.
MYCELIUM_WRITEBACK_ENABLEDNoEnable writeback to DataHub (true/false). Default is false.false

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
mycelium_triageA

Triage a data incident end to end: cause, severity, blast radius, owner, next actions.

Use this instead of mycelium_ask whenever something is broken. ask answers a question; this does the on-call job, and returns a report rather than a paragraph.

What comes back is computed from DataHub, not inferred: the severity (P1-P4) with the inputs that produced it and the rule that combined them, the assets downstream and how many of them a person actually watches, the cause with its lineage path and evidence, the owner or the escalation path when there is no owner, a timeline, ranked next actions, and -- importantly -- a gaps list of what could not be determined.

Three things worth knowing before you act on it:

  • You may not overrule the severity. It is arithmetic over the catalogue and the rule is in the response. If you disagree, say which input you think is wrong.

  • status matters as much as severity. resolved_itself means the alert already cleared; ambiguous means several unrelated assets match and you should ask the user which fired, not guess; no_cause_found means the metadata genuinely does not explain the symptom, which is a finding and tells you to look outside the catalogue.

  • Read gaps before summarising. Reporting a cause while omitting that the suspect has no SLA recorded is how a confident wrong answer gets made.

mycelium_askA

Route a question and answer it if it does not need deliberation.

Start here for every question. Lookups ("who owns X", "is X fresh", "what columns does X have") come back answered, with zero model calls and no context spent. Anything genuinely open-ended comes back marked for investigation, at which point use mycelium_forage.

If the router escalated because the entity was ambiguous, the reasons say so -- resolve that with the user before investigating, rather than investigating the wrong asset thoroughly.

mycelium_forageA

Walk the lineage graph on a budget and return a ranked shortlist of what to look at.

This is not a lineage dump. Every candidate is fetched at forest resolution only -- the walk is deciding where to read, not reading. Results come back best-first, each with the trail that reached it.

Treat the ranking as a hypothesis. Investigate the top three; note the rest without reading them. An empty result is a real finding: it means the cause is outside the hop budget or the direction was wrong, not that there is no cause.

mycelium_zoomA

Materialise one entity at a chosen level of detail, and admit it to working memory.

Default to tree. Go to leaf only when you need column names, real query patterns, or assertion detail -- that is, when you are about to write SQL or name a specific field.

At most four entities sit at leaf resolution at once. If you need a fifth, the least-used one is demoted to make room; that is the mechanism working, not a failure. If the response says columns were truncated, quote the stated count rather than concluding a column is absent.

mycelium_stepA

Advance the reasoning loop one step: decay activation, demote, prune.

Call this between phases of a long investigation. Anything you have not referenced for three steps leaves working memory -- and is retrievable with mycelium_recall, at full fidelity. Letting things go is what keeps a long investigation coherent.

mycelium_recallA

Bring something back that was pruned. Nothing was ever destroyed, only set down.

Cheaper than re-foraging or re-zooming, so prefer this over hoarding context "in case" -- hoarding is what degrades your own reasoning.

mycelium_reinforceA

Lay pheromone on the trails that reached these entities.

This is the step that makes the next investigation cheaper. Be honest about the list: reinforcing something you merely looked at teaches the network a wrong path, and it will keep sending agents there for weeks. An empty reinforcement is better than a padded one.

mycelium_statsB

What the network has learned, and what is currently in mind.

Useful mid-investigation to see how much of the budget is left, and after one to see which paths the catalogue's traffic has carved.

mycelium_writebackA

Write the learned hot paths back into DataHub as a knowledge-base document.

Turns a private optimisation into shared context: the catalogue that fed the agent gets better because the agent used it. Requires MYCELIUM_WRITEBACK_ENABLED=true and the live backend -- writing to someone's catalogue is not something to do by surprise.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dihannahdi/mycelium'

If you have feedback or need assistance with the MCP directory API, please join our Discord server