ellmos-controlcenter-mcp
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ellmos-controlcenter-mcplist my local MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 MCP profile files, groups servers into capability bundles, recommends profiles for a task, builds catalogs, probes real MCP tool lists from local repositories or profiles, assigns tools to capability bundles, and provides an optional local dashboard.
Provider note: ControlCenter works with any MCP-capable client (Claude Code, Codex, Gemini, or any stdio-based MCP host). The profile management tools default to Claude Code's profile directory (
~/.claude/profiles) but accept any directory viaELLMOS_PROFILE_ROOT. The skill and plugin inventory tools are scoped to Claude Code conventions by default; see the environment variables below for override options.
The first alpha release focuses on discovery, profile visibility, dashboard workflows, capability bundles, profile-aware tool-list probes, tool-bundle assignments, internationalization, 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.2.4Repository:
ellmos-ai/ellmos-controlcenter-mcpCI checks:
npm run testandnpm run buildGoal: Make local MCP stacks visible, inspectable, and easier to control
Focus: Catalogs, profile overview, profile recommendation, bundle recommendation, profile-aware tool-list probes, tool-bundle assignments, i18n, and early audits
Related MCP server: MCP Manager
Tools
Tool | Purpose |
| Show stack, profile, and detected-server status |
| Show the current ControlCenter output language |
| Set the ControlCenter output language for this running server instance |
| Scan local MCP repositories below the MCP root |
| Read registered stacks from |
| Describe typed components, roles, policies, and validation warnings for one registered stack |
| Build a bounded, manifest-only handoff for a registered stack at |
| Start local or profile-defined MCP servers and read their real |
| Assign probed MCP tools to capability bundles |
| Group local servers by capability bundle |
| Recommend bundles for a task |
| List MCP profiles from the profile root (defaults to |
| Recommend a profile for a task |
| Resolve a profile including |
| Prepare a generated |
| Run initial policy checks against a profile |
| Build a JSON catalog of local MCP servers, optionally including tool probes |
| Inventory deployed skills ( |
| Match keywords for a task or intent against the scanned skill catalogue and return ranked candidates — see Querying skill search |
| Inventory installed plugins ( |
Querying skill search
controlcenter_find_skill matches purely lexically over name, aliases, tags, category and
description. It does not yet do semantic/embedding search, so query with keywords and
technical terms, not with whole sentences. A natural-language sentence drags in filler words,
and those can outrank the correct hit.
Query | Top result | |
❌ |
|
|
✅ |
|
|
Two consequences:
Scores are only comparable within a single query. In the example above the wrong hit scored higher than the right one in a different query. Never treat the number as a confidence measure.
If the caller is an LLM, translate the user's phrasing into keywords first. That step is cheap and turns the weakest case into the strongest one.
Until semantic search is supported (tracked in TODO.md), keyword queries are the intended usage —
not a workaround.
Dashboard
After building the project, start the local dashboard with:
npm run dashboardDefault address:
http://127.0.0.1:3737The dashboard can currently show local servers and profiles, switch its UI language, enable or disable servers per profile, summarize profile audits, scan MCP tools for the selected profile or local repositories, display tool-to-bundle assignments, and write a generated --mcp-config file. Write actions ask for confirmation and create a backup before overwriting an existing file.
Discovery and Registry Metadata
ControlCenter ships MCP registry metadata for crawlers and catalog tools:
server.jsonuses the official MCP server metadata shape with the package name, repository, and stdio transport.llms.txtgives LLM crawlers a compact project summary, canonical links, and tool overview.package.jsonincludes both files in the npm package so registry indexers can read the same metadata from GitHub or npm.
The public npm package is the canonical install target. The GitHub repository remains the canonical source for development, issues, and release notes.
Search and Discovery Context
Use the full name ellmos ControlCenter MCP or the package name ellmos-controlcenter-mcp when linking or searching. The short phrase "control center" is too broad, and "ellmos" can collide with Elmo/ELMO motion-control, HR, and voice-generator results.
Best-fit search phrases:
ellmos ControlCenter MCPellmos-controlcenter-mcpMCP control plane for local serversMCP profile management dashboardlocal MCP stack discovery TypeScriptClaude Codex Gemini MCP profile switcherMCP policy audit profile management
Installation
Option 1: Install from npm
npm install -g ellmos-controlcenter-mcpStart the MCP server:
ellmos-controlcenterStart the dashboard:
ellmos-controlcenter-dashboardOption 2: Install from source
git clone https://github.com/ellmos-ai/ellmos-controlcenter-mcp.git
cd ellmos-controlcenter-mcp
npm install
npm run buildRun the server from source:
node dist/index.jsRun the dashboard from source:
node dist/dashboard.jsConfiguration
MCP Client Configuration
ControlCenter works with any MCP-capable client. The JSON snippet below uses the standard mcpServers format supported by Claude Code, Claude Desktop, Codex, Cursor, and other MCP hosts.
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_STACKS_ROOToverrides the stack catalog root (default: local.AI/.STACKS)ELLMOS_PROFILE_ROOToverrides the profile directory (default:~/.claude/profiles)ELLMOS_SKILLS_ROOToverrides the deployed skills directory (default:~/.claude/skills)ELLMOS_PLUGINS_ROOToverrides the plugins directory (default:~/.claude/plugins)ELLMOS_BUNDLE_CONFIGoverrides the capability bundle definition fileELLMOS_POLICY_CONFIGoverrides the profile audit policy rule fileELLMOS_LAUNCH_TEMPLATEoverrides the generated profile-switch launch command. Use{config}as placeholder for the generated MCP config path.CONTROLCENTER_LANGUAGEorELLMOS_CONTROLCENTER_LANGUAGEsets the initial output language
By default, the MCP repository root is derived from the OneDrive/ONEDRIVE environment variable and falls back to ~/OneDrive/.TOPICS/.AI/.MCP.
Internationalization
ControlCenter supports the language codes de, en, es, zh, ja, and ru. All six languages now have maintained text sets for MCP tool output, dashboard labels, policy hints, profile recommendations, and tool descriptions.
Use controlcenter_get_language to inspect the current language and controlcenter_set_language to switch MCP tool output at runtime. The dashboard also includes a language selector and accepts /?lang=en style links. Bundle titles and descriptions loaded from custom JSON config files are shown as authored.
Profile Switching
controlcenter_switch_profile does not change a running session. It creates a resolved MCP configuration and returns a launch command. The default remains compatible with Claude Code:
claude --mcp-config ~/.claude/profiles/_generated/software.mcp.jsonWith write: false, the switch runs as a preview. With write: true, ControlCenter writes the generated file. The generated mcpServers JSON is readable by any MCP-capable client. Use the launchTemplate input or ELLMOS_LAUNCH_TEMPLATE to return a Codex, Gemini, or custom launcher command, for example codex mcp run --config {config}.
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 loads capability bundle definitions from data/capability-bundles.json. The default file groups local servers into these bundles:
core-localsoftwarefilesystemautomationcontrol-plane
Custom bundle files can be supplied with ELLMOS_BUNDLE_CONFIG or with the optional bundleConfigPath input on bundle tools. A bundle file is a JSON object with schemaVersion and a bundles array. Each bundle needs id, title, description, and keywords.
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.
Tool Catalog
controlcenter_list_tools can start local stdio MCP servers or resolved Claude profile servers and call the standard MCP list_tools request. Profile scans support arbitrary stdio commands, including non-Node launchers, and URL-based remote configs using Streamable HTTP or legacy SSE. The scan is explicit, uses a per-server timeout, does not call any reported tool, and closes each spawned local server after reading the tool list.
controlcenter_build_catalog accepts includeTools: true to persist the same probe results alongside the local server catalog.
controlcenter_assign_tool_bundles compares probed tool names, titles, descriptions, server names, source, and transport metadata with capability-bundle keywords, then reports which tools belong to bundles such as filesystem, software, automation, or control plane.
Profile Audit
controlcenter_audit_profile is the first small policy layer. It currently flags:
npxstartsenvironment variables in server configurations
missing or invalid server commands
sensitive name fragments in arguments
Environment values are never printed.
Policy rules are loaded from data/policy-rules.json by default. The file can disable individual rules or override their severity, and controlcenter_audit_profile also accepts a policyConfigPath input for one-off audits.
Project Structure
ellmos-controlcenter-mcp/
|-- src/
|-- test/
|-- data/
|-- README.md
|-- README_de.md
|-- START.md
|-- ARCHITECTURE.md
|-- STATE.md
|-- DECISIONS.md
`-- TODO.mdDocumentation
For... | Read... |
Quick start | |
Current state | |
Architecture | |
Roadmap | |
Decisions | |
Open tasks | |
Changes | |
LLM crawler summary |
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 |
46 | Filesystem, process management, interactive sessions, cloud-lock-safe operations | ||
22 | Code analysis, JSON repair, imports, diffs, regex | ||
12 | File repair, format conversion, batch operations | ||
18 | n8n workflow management via AI assistants | ||
20 | MCP stack discovery, profile management, control plane | ||
45 | Local-first LLM memory, knowledge, state, routing, swarm orchestration |
| |
8 | Server operations: health checks, log analysis, deploy dry-runs, mail diagnostics |
| |
3 | Headless Blender asset QA and FBX reimport verification |
| |
10 | Model-agnostic computer use: capture, safety-gated actions, Windows UIA |
|
AI Infrastructure
Project | Description |
Local-first text-based OS for LLM agents — 113+ handlers, 550+ tools, SQLite memory | |
Model-agnostic computer-use core powering Open Compute MCP | |
Provider-neutral LLM orchestration with auto-routing and budget tracking | |
Lightweight agent memory, connectors, and automation infrastructure | |
Self-hosted AI research stack (Ollama + n8n + Rinnsal + KnowledgeDigest) | |
Autonomous agent chain framework for Claude Code | |
Minimalist database-driven LLM OS prototype (4 functions, 1 table) | |
Testing framework for LLM operating systems (7 dimensions) |
Desktop Software
Our partner organization open-bricks bundles AI-native desktop applications — a modern, open-source software suite built for the age of AI. Categories include file management, document tools, developer utilities, and more.
License
MIT - Lukas Geiger (ellmos-ai)
Bundles and partners
ControlCenter MCP remains a standalone, published MCP server. In the V4
composition it is an optional MCP access surface of the
ellmos-core-discovery-bundle: it exposes local MCP-stack, profile, tool and
skill discovery to people and MCP-capable clients. It is not the functional
owner of policies, decisions, memory, automations, system maps, or the modules
behind the discovered tools.
Configured component registries, local MCP servers, profile files and skill
libraries are discovery partners, not bundled ownership transfers. The
published ControlCenter identity and package name remain unchanged.
ControlRoom is a separate planned operator stack, not a rename or a hidden
replacement for this server.
Authoritative bundle membership, versions, profiles and any private composition recipes remain in the corresponding bundle manifests. This public section is discovery-only.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseDqualityDmaintenanceA unified control center for managing MCP servers, providing tooling for environment variable management, profile-based configurations, and local package installation automation.Last updated2430MIT
- Alicense-qualityBmaintenanceSelf-hosted MCP proxy and aggregation platform. Register multiple upstream MCP servers and expose them through a single unified endpoint with namespace routing, multi-transport support (HTTP/SSE, stdio, OpenAPI→MCP), per-tool overrides, and a web admin UI.Last updated15MIT
- Alicense-qualityCmaintenanceA lightweight control plane and local stdio agent that enables multiple MCP clients to connect to one local agent while configuration is managed from a remote control plane, supporting tool naming, exposure control, and multiple upstream source types.Last updated8801MIT
- Flicense-qualityCmaintenanceSafety-first local MCP tool gate with control plane, runtime security, and observability for managing MCP backends.Last updated
Related MCP Connectors
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ellmos-ai/ellmos-controlcenter-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server