MCP control plane: local server, tool and skill discovery, capability bundles, dashboard, policy audits, MCP profile resolution and config generation, plus a policy-gated, audited gateway that lists and invokes tools on backend MCP servers the host has not loaded
36 tools with mostly complete schemas and descriptions, but significant quality gaps. All tools have descriptions (10-200 chars, baseline 194), and input schemas are present with type definitions. However, descriptions are often generic or lack actionable context for LLM selection. Many tools accept path/root parameters that should be optional with sensible defaults. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite 34 READ_ONLY and 2 WRITE tools. Error handling is absent, no recovery guidance, no actionable error messages. Output schemas are not documented. Parameter descriptions exist but lack format constraints, ranges, or dependency hints. Composition is weak: many tools operate on the same resources (profiles, servers, bundles) without clear differentiation or chaining support.
Audit a resolved profile against policy rules
Build tool assignments for capability bundles
Build a comprehensive overview of all available capabilities
Check if a path is locked, including inherited locks from parent directories
Generate an actual-self receipt for the ControlCenter component with cryptographic proof
Get detailed information about a specific MCP server
Get detailed information about a specific resource from the inventory
Get detailed information about a specific stack
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classification. 34 READ_ONLY and 2 WRITE tools lack machine-readable safety hints.
Output schemas not documented. Tools like list_resources, describe_resource, scan_local_server_tools return structured data but LLMs cannot see the response schema to plan downstream calls.
Many tools accept optional path/root parameters (mcpRoot, profileRoot, stacksRoot, etc.) without defaults. LLMs must pass these explicitly every call, wasting tokens and inviting omission errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Evaluate permission for an agent to perform an action on a resource
Find capabilities matching specific criteria
Find skills matching specific criteria
Get the current language setting
Get list of supported languages
Invoke a tool through the policy-gated, audited gateway
List all available capability bundles
List decisions from the decision index with optional filtering
List all tools available through the policy-gated gateway
List governance norms combining decisions with policy registry and plans
List all MCP servers found in the local repository
List all locks in configured roots with wall-clock budget
List all available MCP profiles
List all installed plugins and modules
List resources from the inventory database
List all available skills
List all registered stacks
Load policy rules for governance and auditing
Load the semantic routing map for capability resolution
Prepare configuration for switching to a different MCP profile
Resolve and describe a specific MCP profile with all its server configurations
Resolve a semantic route to find matching capabilities
Scan and list all tools available from local MCP servers
Scan and list all tools available from servers in a specific profile
Set the language for UI and messages
Get capability bundle suggestions based on available tools
Get profile suggestions based on available servers and capabilities
Summarize policy audit findings
No error handling or recovery guidance. Tools lack actionable error messages. E.g., if a profile is not found, no suggestion of available profiles. If a tool scan times out, no guidance on retry or timeout adjustment.
Descriptions are generic and lack LLM-optimized context. E.g., 'List all available MCP profiles' does not explain WHEN to call this vs resolve_mcp_profile, or what structure is returned. Baseline is 194 chars; most here are 50-60 chars.