mycelium
Provides MCP tools for semantic search over personal knowledge sources using pluggable embeddings and local vector indexing.
README
mycelium
Shared toolkit for building agent plugins over personal knowledge sources (documents, notes,
and whatever comes next) — extracted out of the OpenClaw
plugins for paperless-ngx and Trilium Notes, which had independently grown near-identical
semantic search implementations. Those plugins — plus the 1Password secret-provider plugin —
now live in this same repo (apps/paperless-ngx, apps/trilium, apps/onepassword), so they
can consume the shared packages below as ordinary workspace dependencies instead of a
publish-then-consume round trip across separate repos. Each still publishes to npm
independently, under its own name.
Three problems, three packages:
| Package | Problem it solves |
|---|---|
@mycelium/embed |
"I want to use any LLM for embeddings/retrieval, not just one hardcoded provider." Pluggable client for any OpenAI-compatible endpoint (OpenAI, OpenRouter, Ollama, vLLM, LM Studio, ...), plus an opt-in local CPU fallback with zero API dependency. |
@mycelium/index |
"I want semantic search over my personal document/note corpus without running a vector DB server." A local, file-backed sqlite-vec index with incremental sync and hybrid lexical+semantic search (Reciprocal Rank Fusion). |
@mycelium/mcp |
"I want my plugin's tools usable outside one specific agent host." Bridges the same tool definitions onto a standalone MCP server, over stdio and Streamable HTTP. |
Plus @mycelium/tooling-config: shared biome/tsconfig presets, and
@mycelium/openapi-codegen: shared OpenAPI-schema-to-types codegen
logic used by the plugin apps' own generator scripts. Both published, but enablers rather than
features in their own right.
Why "mycelium"
The fungal network that links otherwise-separate organisms and moves nutrients between them — which is the job here: linking separate personal-data sources to any LLM provider, over any transport, without each plugin reinventing the same wiring.
Development
pnpm workspaces, TypeScript 7, Biome for lint/format, Changesets
for versioning and releasing the core/*/tools/* packages. Node only, deliberately — see
AGENTS.md for why this isn't Bun.
pnpm install
pnpm run build
pnpm run lint
pnpm run test
See AGENTS.md for repo layout and conventions.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.