MCP control plane for local server discovery, profile management, capability bundles, dashboard, and policy audits
ellmos ControlCenter MCP
Part of the ellmos-ai family.
An alpha-stage Model Context Protocol (MCP) control plane for local MCP stacks. ControlCenter discovers local MCP servers, reads Claude profile files, groups servers into capability bundles, recommends profiles for a task, builds catalogs, and provides an optional local dashboard.
The first alpha release focuses on discovery, profile visibility, dashboard workflows, capability bundles, and initial policy audits. Gateway mode, enforced tool-level permissions, authentication, and hard security boundaries are planned, but are not implemented yet.
Alpha note: This version is useful for local administration and preview testing. It is not a hardened MCP gateway and should not be used as a security layer for untrusted tools or other users.
Status
- Phase: Alpha
- Version:
0.1.0-alpha.2 - Repository:
ellmos-ai/ellmos-controlcenter-mcp - npm:
ellmos-controlcenter-mcp - CI checks:
npm run testandnpm run build - Goal: Make local MCP stacks visible, inspectable, and easier to control
- Focus: Catalogs, profile overview, profile recommendation, bundle recommendation, and early audits
Tools
| Tool | Purpose |
|---|---|
| controlcenter_status | Show stack, profile, and detected-server status |
| controlcenter_list_local_servers | Scan local MCP repositories below the MCP root |
| controlcenter_list_bundles | Group local servers by capability bundle |
| controlcenter_suggest_bundles | Recommend bundles for a task |
| controlcenter_list_profiles | List Claude profiles from the profile root |
| controlcenter_suggest_profile | Recommend a profile for a task |
| controlcenter_resolve_profile | Resolve a profile including extends chains |
| controlcenter_switch_profile | Prepare a generated --mcp-config file |
| controlcenter_audit_profile | Run initial policy checks against a profile |
| controlcenter_build_catalog | Build a JSON catalog of local MCP servers |
Dashboard
After building the project, start the local dashboard with:
npm run dashboard
Default address:
http://127.0.0.1:3737
The dashboard can currently show local servers and profiles, enable or disable servers per profile, summarize profile audits, and write a generated --mcp-config file. Write actions ask for confirmation and create a backup before overwriting an existing file.
Installation
Option 1: Install from npm
npm install -g ellmos-controlcenter-mcp
Start the MCP server:
ellmos-controlcenter
Start the dashboard:
ellmos-controlcenter-dashboard
Option 2: Install from source
git clone https://github.com/ellmos-ai/ellmos-controlcenter-mcp.git
cd ellmos-controlcenter-mcp
npm install
npm run build
Run the server from source:
node dist/index.js
Run the dashboard from source:
node dist/dashboard.js
Configuration
Claude Desktop / Claude Code
If installed globally from npm:
{
"mcpServers": {
"controlcenter": {
"command": "ellmos-controlcenter"
}
}
}
If installed from source:
{
"mcpServers": {
"controlcenter": {
"command": "node",
"args": [
"/absolute/path/to/ellmos-controlcenter-mcp/dist/index.js"
]
}
}
}
Optional environment variables:
ELLMOS_MCP_ROOToverrides the default MCP repository rootELLMOS_PROFILE_ROOToverrides the Claude profile directory
Profile Switching
controlcenter_switch_profile does not change a running Claude session. It creates a resolved MCP configuration and returns a launch command:
claude --mcp-config ~/.claude/profiles/_generated/software.mcp.json
With write: false, the switch runs as a preview. With write: true, ControlCenter writes the generated file.
Profile resolution supports single inheritance ("extends": "base"), multiple inheritance ("extends": ["base", "shared"]), and inherited-server removal via "remove", "disabled", or "disabledServers". Missing profiles, invalid JSON, invalid profile names, and inheritance cycles now return explicit profile errors with the affected file path or chain.
Capability Bundles
ControlCenter currently groups local servers into these bundles:
core-localsoftwarefilesystemautomationcontrol-plane
This is the basis for future tool-bloat management: instead of exposing many individual tools immediately, an agent can first choose the capability bundle that fits the task.
Profile Audit
controlcenter_audit_profile is the first small policy layer. It currently flags:
npxstarts- environment variables in server configurations
- missing or invalid server commands
- sensitive name fragments in arguments
Environment values are never printed.
Project Structure
ellmos-controlcenter-mcp/
├── src/
├── test/
├── data/
├── README.md
├── README_de.md
├── START.md
├── ARCHITECTURE.md
├── STATE.md
├── DECISIONS.md
└── TODO.md
Documentation
| For... | Read... | |---|---| | Quick start | START.md | | Current state | STATE.md | | Architecture | ARCHITECTURE.md | | Roadmap | ROADMAP.md | | Decisions | DECISIONS.md | | Open tasks | TODO.md | | Changes | CHANGELOG.md |
ellmos-ai Ecosystem
This MCP server is part of the ellmos-ai ecosystem: AI infrastructure, MCP servers, and intelligent tools.
MCP Server Family
| Server | Tools | Focus | npm |
|--------|-------|-------|-----|
| FileCommander | 43 | Filesystem, process management, interactive sessions | ellmos-filecommander-mcp |
| CodeCommander | 17 | Code analysis, AST parsing, import management | ellmos-codecommander-mcp |
| Clatcher | 12 | File repair, format conversion, batch operations | ellmos-clatcher-mcp |
| n8n Manager | 18 | n8n workflow management via AI assistants | n8n-manager-mcp |
| ControlCenter | 10 | MCP stack discovery, profile management, control plane | ellmos-controlcenter-mcp |
AI Infrastructure
| Project | Description | |---------|-------------| | BACH | Text-based OS for LLMs: handlers, tools, and skills | | clutch | Provider-neutral LLM orchestration with auto-routing and budget tracking | | rinnsal | Lightweight agent memory, connectors, and automation infrastructure | | ellmos-stack | Self-hosted AI research stack |