agent-config
This server is an MCP companion runtime that inspects agent hosts, persists user-confirmed profiles, and safely previews/applies/validates execution configuration across supported harnesses.
Inspect host capabilities (
inspect_host): query available models, supported reasoning effort values, concurrency/subagent capabilities, and execution topology.Check setup readiness (
get_setup_status): report whether the current host/workspace has a configured profile, stale status, protocol version, and companion registration state.Retrieve and save profiles (
get_profile,save_profile): read and atomically persist host-scoped, user-confirmed Agent Config profiles with schema/host validation.Preview configuration changes (
preview_configuration): generate a read-only diff, preview hash, expiration, and mutation targets before any change is applied.Apply configuration (
apply_configuration): apply a previously previewed configuration by preview ID through the appropriate host adapter.Validate configuration (
validate_configuration): verify actual host state matches expected configuration or a known preview baseline.Reset profiles (
reset_profile): clear stored profile configuration for the current host and workspace.Cross-harness support: native adapters for Codex, Claude Code, Antigravity, DeepSeek Harness, OpenCode, ZCode, Cursor, Grok Build, Hermes, Pi, plus a generic plan-only fallback.
Safe mutation gate: enforces preview → apply → validate workflow and requires explicit approval for configuration mutations.
Provides a native adapter for the Hermes harness, enabling host inspection, profile persistence, and configuration preview, apply, and validation for Hermes user and project configuration.
Click 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., "@agent-configCheck the setup status and show my current profile for this workspace."
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.
Agent Config Companion MCP Server
Companion MCP runtime for cross-harness host inspection, profile persistence, and execution configuration.
Overview
agent-config is an independent Model Context Protocol (MCP) server that acts as the companion runtime for the agent-config Skill.
Architectural Separation
The system uses a strict two-repository architecture:
skills/agent-config (Skill)
│ (Reasoning & Policy)
│ • Task shape assessment (single-pass vs decomposed)
│ • Work-item difficulty assessment (routine / moderate / demanding / critical)
│ • Execution tier selection (routine / standard / high / review)
│ • Execution topology selection (single session / controller-workers)
▼
agent-config (Companion MCP Server)
│ (Runtime & Persistence)
├─ inspect_host: Inspect host capabilities & available models
├─ get_profile / save_profile: Atomic, host-scoped profile persistence
├─ preview_configuration: Generates preview diff & hash
├─ apply_configuration: Mutates host configuration via Adapter
└─ validate_configuration: Confirms applied state matches expected
▼
Host Adapters
├─ Native (10): Codex, Claude Code, Antigravity / agy, DeepSeek Harness (DSH), OpenCode, ZCode, Cursor, Grok Build, Hermes, Pi
└─ Generic Adapter (plan-only fallback)Related MCP server: Agent Tools Runtime
Installation
Clone and install globally:
git clone https://github.com/LightDevCoder/agent-config.git
cd agent-config
npm ci
npm run build
npm install -g .Verify that the CLI is available and can probe the environment:
agent-config setup --check(Note: setup --check returns non-zero exit code when the companion is not yet registered or configured for the current workspace. This confirms the CLI is functional.)
Companion MCP Registration
To preview and apply companion MCP registration into your current agent host configuration:
# Preview registration diff (read-only)
agent-config setup --preview
# Apply registration with explicit approval
agent-config setup --apply --yes
# Validate health after registration
agent-config setup --checkRelationship with LightDevCoder/skills
Skill (
agent-config): Installed from LightDevCoder/skills:npx skills add LightDevCoder/skills --skill agent-configCompanion MCP Runtime (this repository): Provides optional host inspection, profile persistence, configuration preview/apply, and health verification. Without the companion, the Skill remains fully functional in session-local, plan-only mode.
Core Principles
Cross-Harness by Design: Designed from the start for seamless operation across different agent hosts (Codex, OpenCode, Claude Code, Cursor, generic).
Single-Model as a First-Class Citizen: Single-model mode is NOT a degraded fallback; it is a primary operating mode with full topology, concurrency, thread dispatch, and effort controls.
Strict Separation of Evidence and Tier Mappings:
Host inspection reports factual model availability and supported discrete effort values.
Capability tiers (
routine,standard,high,review) are exclusively mapped by the user during setup.No model intelligence guessing: The runtime forbids static ranking fields (
routing_rank) or heuristic guessing based on model names.
Abstract Effort Policies vs. Host Discrete Values:
Profiles and plans can specify abstract policies (e.g.
highest-supported,default,lowest-supported).Adapters resolve policies into the concrete discrete string values actually supported by the host (e.g.
high).
Safe Mutation Gate: Configuration changes always require explicit preview generation before application (
preview_configuration→apply_configuration), followed by post-mutation validation (validate_configuration).
Standard MCP Tool Surface
Tool | Purpose |
| Returns whether the current host/workspace has a configured profile, its version, and stale status. |
| Queries the active Host Adapter for available models, supported effort values, and concurrency/subagent capabilities. |
| Retrieves the stored, user-confirmed profile for the current host and workspace scope. |
| Validates against schema and host inventory, then atomically persists the profile. |
| Previews configuration changes and produces a verifiable preview hash/ID. |
| Applies a previously previewed configuration via the corresponding Host Adapter. |
| Compares host state with a canonical |
| Clears stored profile configuration for the current host and workspace. |
Canonical Schemas
Schemas are defined under schemas/ and canonical contracts under src/contracts/:
schemas/profile.schema.json: User-confirmed profile schema (host+workspace scoped, single/multi modes, tier mapping, abstract effort policies).schemas/host-capabilities.schema.json: Host capability evidence schema (models inventory, discrete effort values, concurrency, subagents/threads).schemas/execution-config.schema.json: Resolved execution configuration schema (topology, controller/worker models and resolved discrete effort values).schemas/preview.schema.json: Canonical configuration preview schema (preview_id,preview_hash,diff,expires_at,target,baseline_hash).schemas/apply.schema.json: Canonical apply mutation result schema (preview_id,applied_targets,target,baseline_hash,message).schemas/validation.schema.json: Canonical post-apply host validation schema (valid,workspace,message,details).schemas/companion-contract.schema.json: Canonical companion MCP contract specification covering protocol version 1, all 8 tools, request/response schemas, and error format.
Harness Support Matrix
Harness | Tier | Scope | Configuration Path | MCP Registration |
Codex CLI | Native | Project / User |
|
|
Claude Code | Native | Project / User |
|
|
Antigravity / agy | Native | Project / User |
|
|
DeepSeek Harness (DSH) | Native | Project / User |
|
|
OpenCode | Native | Project / User |
|
|
ZCode | Native | Project / User |
|
|
Cursor | Native | Project / User |
|
|
Grok Build | Native | Project / User |
|
|
Hermes | Native | User / Project |
|
|
Pi Coding Agent | Native settings; MCP extension required | Project / User |
|
|
Generic / Fallback | Fallback | Plan-only | N/A (read-only execution plan) | Manual export |
Pi MCP registration requires an installed and enabled npm:pi-mcp-adapter package and a Pi restart/reload. Project settings additionally require Pi project trust. The adapter verifies model/provider pairs and model-specific thinking evidence; extension dispatch capabilities remain unknown until evidenced. See Pi adapter.
Setup CLI & Companion Health Verification
The companion provides a standalone CLI runner for safe host registration and health verification:
agent-config setup --check: Executes a live MCP protocol and contract probe.Exit semantics: Exits with code
0only when the Companion is healthy and ready; exits non-zero (1) if unregistered, unreachable, or unhealthy.Strict state separation: Distinguishes
Registered,Configured,Reachable, andHealthy(registration != reachability != health).Canonical health definition: Requires syntactically valid registration, live process reachability, compatible MCP transport protocol, exact Agent Config Companion contract version match (
protocol_version === 1), and all 8 canonical tools with compatible input and output schemas.
agent-config setup --preview: Read-only inspection generating a unified diff and mutation ownership block.agent-config setup --apply --yes: Atomically applies host configuration mutations. Requires explicit approval (--yes). Full setup completion requires post-mutation health probe verification; registration mutation success alone does not mean setup completion.
Development
# Install dependencies
npm install
# Type-check
npm run check:types
# Build TypeScript to dist/
npm run build
# Run test suite
npm testLicense
MIT License. See LICENSE for details.
Available Tools
8 toolsapply_configurationA
Apply a previously previewed configuration using a valid preview ID.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | No | Workspace directory path (defaults to current working directory) | |
| preview_id | Yes | The preview ID generated by preview_configuration |
Output Schema
| Name | Required | Description |
|---|---|---|
| target | No | Primary target file path |
| message | Yes | Apply result message |
| success | Yes | Whether apply operation succeeded |
| preview_id | Yes | Preview ID applied |
| baseline_hash | No | Baseline hash |
| applied_targets | Yes | Paths of files modified |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It signals a mutation ('apply') but does not mention side effects, reversibility, required permissions, or what happens on failure. For a state-changing operation, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It states the action, the object, and the key prerequisite efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, both parameters are documented, and an output schema exists, so return-value details are not required. However, for a mutating tool with no annotations, the lack of any behavioral or consequence information makes the description slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds little beyond restating that preview_id must be valid and generated from a prior preview, which earns the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb—'apply'—with a clear object ('configuration') and a precise prerequisite (a previously previewed configuration with a valid preview ID). This clearly distinguishes it from sibling tools like preview_configuration and validate_configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly establishes when to use the tool: after previewing a configuration and using its preview ID. It does not explicitly name alternatives or exclusions, but the prerequisite is clear enough to guide the agent toward correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileB
Retrieve the stored, user-confirmed Agent Config profile for the specified host and workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Configuration scope ('project' or 'global', defaults to 'project') | |
| host_id | No | Host identifier (optional, auto-detected from adapter if omitted) | |
| workspace | No | Workspace directory path (defaults to current working directory) |
Output Schema
| Name | Required | Description |
|---|---|---|
| found | Yes | Whether stored profile was found |
| message | No | Informational message |
| profile | No | Stored profile if found |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. 'Retrieve' implies a read-only operation, and 'stored, user-confirmed' adds a qualifier about which profiles are returned, but the description does not disclose what happens when no profile exists, whether any side effects occur, or what response is expected beyond what the output schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It front-loads the action, resource, and scoping qualifiers efficiently, making it easy for an agent to parse the core purpose quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema means return values do not need to be explained. For a simple read-only getter with fully documented schema parameters, this description is reasonably complete, though it could have noted the scope parameter or provided guidance on sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented with defaults and meanings. The description adds a minor semantic link by naming host and workspace as selectors, but it does not provide meaningful information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Retrieve') and a specific resource ('stored, user-confirmed Agent Config profile'), scoped by host and workspace. It is distinct from siblings like get_setup_status or inspect_host because it targets the Agent Config profile, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use get_profile versus siblings like get_setup_status, inspect_host, or save_profile. There are no exclusions, prerequisites, or conditions that would help an agent choose this tool over alternatives; usage must be inferred solely from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_setup_statusC
Query setup and configuration readiness status for the current host and workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Configuration scope ('project' or 'global', defaults to 'project') | |
| host_id | No | Host identifier (optional, auto-detected from adapter if omitted) | |
| workspace | No | Workspace directory path (defaults to current working directory) |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | No | Configuration scope |
| stale | Yes | Whether stored configuration is stale |
| host_id | Yes | Target harness host ID |
| adapter_id | No | Underlying host adapter ID |
| configured | Yes | Whether configuration exists and is valid |
| stale_reasons | Yes | Reasons why configuration is stale |
| profile_version | No | Stored profile version |
| protocol_version | Yes | Agent Config companion protocol version |
| companion_registered | No | Whether companion is registered |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'Query', but does not disclose what readiness status contains, whether it triggers any side effects, how host detection works, or what kinds of output/errors to expect beyond the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no filler. It is front-loaded with the key verb and resource, though it could have used the available space to add sibling differentiation or usage guidance without becoming overly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, all parameters are documented in the schema, and an output schema exists, so return-value details are not required in the description. However, given the sibling tools, some usage guidance or clarification of what 'setup and configuration readiness status' means relative to inspect_host or validate_configuration would make the definition more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides, but because the schema fully documents scope, host_id, and workspace, this gap is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('Query') and resource ('setup and configuration readiness status') for the current host and workspace. It is not a tautology and gives a reasonably distinct purpose, though it does not explicitly differentiate itself from siblings like inspect_host or validate_configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context that this queries status for the current host and workspace, but provides no guidance on when to prefer this tool over alternatives such as validate_configuration, inspect_host, or preview_configuration. There are no explicit exclusions or conditional usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_hostA
Inspect host runtime capabilities, available models, supported effort values, and execution topology.
| Name | Required | Description | Default |
|---|---|---|---|
| host_id | No | Host identifier (optional, auto-detected if omitted) | |
| workspace | No | Workspace directory path (defaults to current working directory) |
Output Schema
| Name | Required | Description |
|---|---|---|
| host_id | Yes | Target host ID |
| platform | No | Operating system platform |
| workspace | No | Workspace path |
| adapter_id | Yes | Adapter ID |
| observed_at | Yes | ISO timestamp of observation |
| capabilities | Yes | Host capability flags |
| available_models | Yes | Available model capabilities |
| default_effort_value | No | Default reasoning effort value |
| supported_effort_values | Yes | Supported reasoning effort values |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'Inspect' strongly implies a read-only, non-destructive operation, which is useful behavioral context. However, with no annotations provided, the description carries the full burden and does not disclose details such as whether the inspection is local or remote, potential latency, failure modes, or implications of host auto-detection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and resource, then lists the specific inspection areas. There is no redundant wording or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only inspection tool with optional, well-documented parameters and an output schema available, the description is largely complete. It lacks explicit usage boundaries relative to siblings, but the purpose and scope are clear enough for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters already have clear descriptions: host_id is optional and auto-detected, workspace defaults to the current directory. The tool description itself adds no extra parameter-level meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Inspect') and a clear resource ('host') with enumerated focus areas: runtime capabilities, available models, supported effort values, and execution topology. This is immediately distinguishable from sibling tools like get_setup_status, get_profile, and configuration-related tools without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you need host runtime capabilities, models, effort values, or topology. However, it does not explicitly state when not to use it or mention alternatives, such as get_setup_status or get_profile, so the guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_configurationA
Generate a configuration preview (diff and mutation targets) before applying any changes.
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes | Canonical ExecutionConfig object conforming to execution-config.schema.json | |
| host_id | No | Host identifier (optional, auto-detected from adapter if omitted) | |
| workspace | No | Workspace directory path (defaults to current working directory) |
Output Schema
| Name | Required | Description |
|---|---|---|
| diff | Yes | Human-readable configuration diff |
| target | Yes | Target configuration file path |
| expires_at | Yes | ISO expiration timestamp |
| preview_id | Yes | Unique preview identifier |
| preview_hash | Yes | SHA-256 hash of proposed changes |
| baseline_hash | No | Hash of baseline content |
| mutation_targets | Yes | List of target paths to mutate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It communicates that the tool generates a preview rather than applying changes, but it does not explicitly confirm that no side effects occur, whether it performs validation, or what conditions might cause failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It front-loads the primary action ('Generate a configuration preview') and then adds clarifying detail about what the preview includes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides sufficient context for a preview tool, especially given the output schema exists, so return details need not be in the description. However, it lacks explicit non-mutation guarantees or distinctions from the validate_configuration sibling, leaving some ambiguity about when this tool is the correct choice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no parameter-specific meaning beyond referring to the configuration generally, which meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generating a configuration preview with diff and mutation targets. It is distinct from sibling tools like apply_configuration and validate_configuration, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before applying any changes' implies the tool should be used before apply_configuration, but it does not explicitly describe when to choose this tool over validate_configuration or other siblings, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_profileA
Safely clear and remove the host-scoped profile for the specified workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Configuration scope ('project' or 'global', defaults to 'project') | |
| host_id | No | Host identifier (optional, auto-detected from adapter if omitted) | |
| workspace | No | Workspace directory path (defaults to current working directory) |
Output Schema
| Name | Required | Description |
|---|---|---|
| reset | Yes | Whether reset state is confirmed |
| scope | Yes | Scope reset |
| cleared | Yes | Whether profile file was cleared |
| host_id | Yes | Host identifier |
| message | Yes | Reset outcome message |
| success | Yes | Whether profile reset succeeded |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly communicates that the profile is removed, which implies destructiveness and irreversibility, but it does not elaborate on side effects, whether configuration reverts to defaults, or what 'safely' guarantees. The word 'safely' adds a reassuring tone but no concrete detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant phrasing. It conveys the action, scope, and a safety framing without wasting words, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and parameters are fully documented, the description is thin for a destructive operation. It does not mention whether the reset triggers any re-initialization, whether it can be undone, or how it interacts with saved profiles. These gaps could leave an agent uncertain about consequences beyond the literal removal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all three parameters, achieving 100% coverage. The description does not add parameter-specific meaning beyond the schema, so the baseline of 3 applies; it briefly references workspace and host scope, but these are already covered in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('clear and remove') with a clear resource ('host-scoped profile') and scope ('for the specified workspace'), making the action unambiguous. It also distinguishes itself from siblings like get_profile and save_profile by focusing on deletion rather than retrieval or persistence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not state when to use this tool versus alternatives, nor does it mention any prerequisites or conditions that would make resetting appropriate. While the verb implies a reset scenario, there is no explicit routing guidance relative to sibling tools such as apply_configuration or preview_configuration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_profileB
Atomically validate and save a user-confirmed Agent Config profile.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | Complete Agent Config profile document to save | |
| workspace | No | Optional workspace path override (defaults to profile.scope.workspace) |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Save result message |
| profile | Yes | Saved profile document |
| success | Yes | Whether save operation succeeded |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add meaningful behavior: the operation is atomic and includes validation. However, it does not disclose whether an existing profile is overwritten, what happens on validation failure, or what side effects persist beyond saving.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one tight, front-loaded sentence with no filler. It efficiently communicates the core action, resource, and two key behavioral traits (atomicity and user-confirmation).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and parameter coverage is complete, the description lacks enough context for an agent to reliably choose this tool over closely related siblings. It does not explain how 'saving' differs from 'applying' or 'validating', nor does it clarify overwrite or confirmation workflow expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters. The description adds no parameter-specific semantics beyond the schema, which is acceptable per the baseline when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('save') and resource ('Agent Config profile'), and adds behavioral qualifiers ('atomically validate', 'user-confirmed'). It is clear about what the tool does, though it does not explicitly distinguish it from siblings like apply_configuration or validate_configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'user-confirmed' implies this tool should be used after user approval, giving some contextual signal. However, there is no explicit guidance about when to choose save_profile over siblings such as apply_configuration, validate_configuration, or reset_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_configurationB
Verify that actual host configuration matches expected configuration after apply.
| Name | Required | Description | Default |
|---|---|---|---|
| host_id | No | Host identifier (optional, auto-detected from adapter if omitted) | |
| workspace | No | Workspace directory path (defaults to current working directory) | |
| preview_id | No | Preview ID to extract expected configuration from if omitted | |
| expected_config | No | Expected configuration object to validate against actual host state |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | Whether configuration is valid |
| details | No | Validation details |
| message | Yes | Validation outcome message |
| workspace | Yes | Workspace path validated |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The verb 'verify' suggests a read-only operation, but the description does not explicitly state that no changes are made, whether a mismatch causes an error or returns a report, or any prerequisites beyond 'after apply'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action verb, no filler or redundant detail. It communicates the essential purpose in minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema and fully documented parameters reduces the burden on the description. However, with no annotations, the description omits side-effect and error-handling behavior, which an agent would need for confident invocation in a mutation-related workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters clearly. The tool description adds no additional parameter meaning, which matches the baseline of 3 for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Verify') and resource ('actual host configuration'), and clarifies the goal is comparing against expected configuration. The phrase 'after apply' distinguishes it from preview/apply siblings, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The temporal condition 'after apply' gives implied usage context — this is the post-apply validation step. However, it does not explicitly mention alternatives, when not to use it, or how it relates to preview_configuration or inspect_host.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v0.1.0- First observed
apply_configuration - First observed
get_profile - First observed
get_setup_status - First observed
inspect_host - First observed
preview_configuration - First observed
reset_profile - First observed
save_profile - First observed
validate_configuration
TDQS
Most tools map cleanly to distinct actions (profile CRUD vs configuration preview/apply/validate), but get_setup_status and validate_configuration both touch configuration state, which could cause minor confusion. Overall, descriptions are clear enough to guide correct selection.
All tool names follow a consistent verb_noun snake_case pattern with specific verbs like get, save, reset, preview, apply, validate, and inspect. The naming style is uniform and predictable.
Eight tools is well-scoped for an agent configuration server. Each tool serves a clear purpose without redundancy, covering status discovery, host inspection, profile management, and configuration lifecycle actions.
The tool set supports the full configuration workflow: check readiness, inspect the host, retrieve/save/reset profiles, preview changes, apply changes, and validate results. No critical operations appear to be missing for the stated purpose.
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 Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Hosted MCP memory and agent control plane for durable conversations, jobs, and operations.
Read-only MCP access to a documented IT fleet: state, changes, posture. 15 tools.
Run, build, and validate firmware on virtual hardware from your AI agent. Hardware knowledge corpus.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables management of Proxmox VE infrastructure via its REST API and execution of commands inside LXC containers via SSH, with built-in trust layers for planning, audit, undo, and diagnosis.743Apache 2.0
- AlicenseNot gradedqualityAmaintenancePersistent MCP server runtime for progressively discovering and loading MCP, REST, and local CLI adapters, with host-side credentials and explicit confirmation for mutations.301MIT
- AlicenseNot gradedqualityCmaintenanceEnables secure SSH-based operations on Oracle Linux 8+ hosts through a curated, YAML-defined capability catalog, with typed parameters, two-phase confirmations for mutations, and full audit logging.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to list hosts, run commands, and orchestrate fleet automation over SSH, with per-host opt-in and approval-gated actions while keeping credentials secure.3MIT
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/LightDevCoder/agent-config'
If you have feedback or need assistance with the MCP directory API, please join our Discord server