One config. Every AI tool. Every machine.
The universal config orchestrator for AI coding tools.
Define your skills, MCPs, agents, rules, and hooks once β sync everywhere.
Quick Start Β· Why Mycelium Β· Features Β· Dashboard Β· MCP Server
You use Claude Code, Cursor, Codex, Gemini CLI, and VS Code. Each has its own config format. Each stores skills, MCPs, and agents in different locations. You add an MCP server β now you update 5 config files. You switch machines β now you do it all again.
Mycelium fixes this. One config β synced to every tool β on every machine.
npm install -g @mycelish/cli
mycelium initThat's it. init detects your tools, migrates your existing configs, creates a sync repo, and registers Mycelium as an MCP server in every tool.
mycelium sync # Push config to all tools
mycelium sync --watch # Auto-sync on changes
mycelium serve # Launch visual dashboardNew machine? Run
mycelium initagain β it finds your repo and pulls everything down.
| Capability | What it means | |
|---|---|---|
| π― | Per-skill plugin control | Disable individual skills, agents, or commands within a plugin β without disabling the entire plugin. The only tool that does this. |
| 𧬠| 6 item types sync | Skills + MCPs + Agents + Rules + Commands + Hooks. Competitors sync 1β2 types. |
| π‘οΈ | Built-in security scanner | 80+ detection rules scan skills before install. Catches prompt injection, reverse shells, credential harvesting, data exfiltration. |
| ποΈ | 3-tier config merge | Project > Machine > Global. Different MCPs per project, different paths per machine. Automatic. |
| π₯οΈ | Visual control plane | React Flow dashboard β see your entire tool landscape, toggle items, migrate, browse marketplace. |
| π | Self-registering MCP server | Mycelium exposes itself as MCP β any AI tool can manage its own config through natural language. |
| π©Ί | Doctor with 8 health modules | Config integrity, MCP connectivity, plugin invariants, tool versions, self-registration, symlinks. |
| π | Built-in observability | SQLite trace DB with 16 indexed dimensions, auto-snapshots on errors, queryable reports. |
| π | Zero-friction migration | Scan existing tools, generate a plan, import everything. Dry-run by default. |
The most-requested missing feature in Claude Code β granular control over plugin components:
# Disable a specific skill from a plugin
mycelium disable commit-push-pr
# β Plugin taken over: 'commit-push-pr' disabled, all other skills preserved
# Re-enable it
mycelium enable commit-push-pr
# β Plugin released: all components restored to native modeHow it works: When you disable any component from a Claude Code plugin, Mycelium disables the plugin natively, then symlinks all the enabled components from cache. You get per-item control that Claude Code doesn't support natively.
mycelium syncOne command writes your config into every tool's native format:
| Tool | Skills | MCPs | Agents | Rules | Hooks | Commands |
|---|---|---|---|---|---|---|
| Claude Code | β | β | β | β | β | β |
| Codex CLI | β | β | β | β | β | β |
| Gemini CLI | β | β | β | β | β | β |
| OpenCode | β | β | β | β | β | β |
| OpenClaw | β | β | β | β | β | β |
| Cursor | β | β | β | β | β | β |
| VS Code | β | β | β | β | β | β |
| Antigravity | β | β | β | β | β | β |
Mycelium never overwrites your config. It uses overlay sync β symlinks for skills/agents/commands, section-only writes for MCPs/hooks. Your manual settings are preserved.
~/.mycelium/global/ β Your base config (everywhere)
~/.mycelium/machines/ β Per-hostname overrides (different paths per machine)
.mycelium/ β Per-project config (different MCPs per project)
Priority: Project > Machine > Global. Conflicts are detected and surfaced.
mycelium push # Save config to GitHub
mycelium pull # Pull on another machineMachine-specific paths (like MCP binary locations) are auto-detected per hostname. Secrets stay in .env.local (gitignored), templates in .env.template (tracked).
mycelium migrate # Dry-run: see what would be imported
mycelium migrate --apply # Import everythingScans all 8 tools for existing skills, MCPs, and hooks. Generates a plan. Handles conflicts with configurable strategies (--strategy latest|interactive|all).
Every skill and MCP gets scanned before installation β 80+ rules across 20 categories, adapted from Cisco AI Defense (Apache 2.0):
mycelium doctor --security # Scan all installed skills
mycelium add some-skill # Auto-scans before installDetection categories include prompt injection, command injection, reverse shells, credential harvesting, data exfiltration, hardcoded secrets, cryptomining, and more. The dashboard shows trust badges (Official / Verified / Community) and an inline Audit button on every marketplace card.
mycelium marketplace list # Browse available plugins
mycelium marketplace plugins # See installed plugins
mycelium preset save my-react-setup # Snapshot current config
mycelium preset load my-react-setup # Restore it on any machinePluggable registry sources β add your own skill/MCP repositories. Default sources include npm (OpenSkills), MCP Registry, Anthropic Skills, and awesome-mcp-servers.
mycelium serve # β http://localhost:3378- Graph View β React Flow visualization of your entire tool landscape: tools, MCPs, skills, plugins, all connected
- Toggle switches β Enable/disable any item directly from the graph
- Migration Wizard β 4-step guided import from existing tools
- Marketplace Browser β Search, install, and audit from configured sources with trust badges and type filters
- Plugin Detail Panels β Click any plugin node to manage individual components
Mycelium registers itself as an MCP server in all your tools during init. This means any AI tool can manage its own config:
"Hey Claude, disable the filesystem MCP for this project"
"Add the postgres MCP server to my global config"
"Run mycelium doctor and tell me what's wrong"
14 tools, 2 resources, 2 prompts β full reference β
| Command | Description |
|---|---|
mycelium init |
Auto-setup: detect, migrate, sync, register MCP |
mycelium sync [--watch] |
Sync to all tools |
mycelium status [--json] |
Show sync status across tools |
mycelium doctor [--security] |
Health checks + security scan |
mycelium add <skill|mcp> |
Add items to config |
mycelium remove <name> |
Remove items |
mycelium enable <name> [--tool] |
Enable items (with plugin release) |
mycelium disable <name> [--tool] |
Disable items (with plugin takeover) |
mycelium migrate [--apply] |
Scan and import from tools |
mycelium marketplace list|plugins |
Browse and manage marketplace |
mycelium preset save|load|list |
Config presets/profiles |
mycelium snapshot create|restore |
Named config snapshots |
mycelium push / pull |
Git-based multi-PC sync |
mycelium env list / setup |
Environment variable management |
mycelium report [--level] [--since] |
Query traces and generate reports |
mycelium teams generate |
Agent team manifests |
mycelium mcp |
Start MCP server |
mycelium serve |
Start dashboard (port 3378) |
Alias: myc β e.g., myc sync, myc status
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Your Config (~/.mycelium/) β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β Skills β β MCPs β β Agents β β Rules β ... β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β mycelium sync
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Config Merger (3-tier: project > machine > global) β
β Overlay Sync (symlinks + section-only config writes) β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
ββββββββββ¬ββββββββΌββββββββ¬βββββββββ¬βββββββββ
βΌ βΌ βΌ βΌ βΌ βΌ
Claude Codex Gemini Cursor VS Code OpenCode
Code CLI CLI + more
- Skills/Agents/Commands: Symlinked from central store into each tool's directory
- MCPs: Written into each tool's native config file (JSON, JSONC, TOML) β only the managed section
- Hooks: Written into tool-specific hook config formats
- Machine overrides: Per-hostname MCP paths via
whichauto-detection
mycelium doctor # Run all health checks
mycelium report --level error --since 1h # Recent errors
mycelium status # Sync state per tool| Problem | Solution |
|---|---|
| Sync fails for a tool | mycelium doctor β checks tool detection and paths |
| Skills not appearing | Verify tool supports the skill directory |
| MCP not connecting | mycelium status β check config format per tool |
| Plugin takeover issue | mycelium doctor β runs 8 plugin invariant checks |
| Need a bug report | mycelium report --issue β generates diagnostic JSONL |
See Reporting Issues for the full diagnostic workflow.
| Document | Description |
|---|---|
| Capability Matrix | Full tool Γ item type support matrix with paths |
| MCP Server | MCP tools, resources, prompts reference |
| Plugin Takeover | Per-component plugin control β how it works |
| Multi-PC Sync | Git-based sync, machine overrides, env templates |
| Migration Guide | Migration workflow, strategies, and cleanup |
| Reporting Issues | Traces, diagnostics, and filing bug reports |
| Contributing | Developer guide: structure, conventions, testing |
MIT β Like real mycelium shares nutrients between trees without charging a subscription fee. Fork it, grow it, spread it. π