Agent Coherence — Stale Write Guard (FS)
OfficialServer Quality Checklist
Latest release: v0.12.0
- Disambiguation5/5
Each tool has a distinct and clearly defined purpose: read, write (two modes: normal and CAS), reacquire for recovery from stale views, and status reporting. No overlap in functionality.
Naming Consistency5/5All tool names follow the consistent pattern 'swg_<verb>' or 'swg_<verb>_<noun>', using snake_case throughout. The prefix 'swg_' clearly identifies the server's domain.
Tool Count5/5Five tools is well-suited for the server's purpose of managing stale write protection in a filesystem. It covers essential operations without being excessive or insufficient.
Completeness4/5The tool set covers core operations: read, write (with stale detection), compare-and-set, recovery, and status. It lacks explicit delete or list operations, but these may be out of scope for a coherence guard.
Average 4.2/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 205 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under Apache 2.0.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims a read-only operation, but annotations have readOnlyHint: false, indicating the tool may modify state. This is a direct contradiction, so score is reduced to 1 per rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with the main purpose first, then key details about return values, INVALID handling, and limitations. Each sentence adds value without unnecessary fluff, though it could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema), the description covers essential aspects: return format, version usage, INVALID recovery, and limitations. It lacks explicit path format details but is otherwise complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'path' has no schema description (0% coverage). The description adds minimal context: it is a 'workspace text file path'. While sufficient for basic understanding, it lacks details like allowed formats or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read') and the resource ('a workspace text file under coherence tracking'). It distinguishes from siblings by mentioning the version return for swg_write_cas and the need for swg_reacquire when in INVALID state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: it's for reading files under coherence tracking with version info for CAS. It also states when not to use it (SINGLE-HOST only, not for network mounts or multi-host scenarios) and points to swg_reacquire for recovery from INVALID state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnlyHint annotation by detailing the specific states reported (coordinator on/off/unknown, per-path enforced/not_registered, etc.) and explicitly lists limitations (e.g., 'Out of guarantee and NOT detected in v1: ...'). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and contains many technical details (fields, limitations). While front-loaded with 'Report coherence state', it could be more concise. The structure is somewhat fragmented with commas and semicolons.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully explains the return values (coordination state, per-path status, attachment/degradation, session ID, etc.) and covers limitations. It is sufficiently complete for the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%. Baseline for no parameters is 4. The description does not add parameter semantics but explains the output, which is not directly relevant to this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Report coherence state', a clear verb+resource combination. It lists specific fields and constraints, and it is distinct from sibling tools like swg_read, swg_write, etc., which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It mentions 'SINGLE-HOST only' as a constraint but does not provide when-to-use or when-not-to-use guidance relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=false annotation, the description explains re-minting identity, version lineage enforcement, and lists out-of-guarantee scenarios. This adds significant behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with additional clarifications. It conveys essentials without excess, though it could be slightly more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's niche purpose, the description covers recovery action, behavioral rules, and reliability caveats. It is sufficient for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter 'path' with no description. The tool description does not explain what 'path' represents, leaving ambiguity. With 0% schema coverage, the description should compensate but fails to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool recovers from stale_view deny by re-minting identity and returning current bytes. It distinguishes itself from siblings like swg_read and swg_write by specifying the recovery context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use ('recover from stale_view deny') and when-not-to-use (SINGLE-HOST only, not for divergent history). Also gives instructions to write FROM exact bytes returned, with warnings about limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description transparently discloses the tool's behavior: it rejects stale writes with a typed conflict (version_mismatch) and returns current_version, it does not auto-merge, and it has retry logic bounded by a per-session counter but not livelock-proof. It also documents critical limitations: single-host only, undetected issues for multi-host or network mounts. Annotations only indicate non-read-only (readOnlyHint=false), so the description provides extensive additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but well-structured: it starts with the core purpose, then explains the usage flow, conflict handling, and limitations. Every sentence provides useful information, but could be slightly condensed without losing clarity. The front-loading is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (CAS, conflict resolution, single-host constraint), the description covers most essential aspects: how to use, conflict response, retry guidance, and limitations. It lacks explicit return value documentation (no output schema), but implies the conflict response includes current_version. The distinction from siblings is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate. It explains that 'expected_version' comes from swg_read (not swg_reacquire) and 'new_content' is the merged result. 'path' is not elaborated, but its purpose is clear from the schema. The description adds meaningful context for two of three parameters, enhancing understanding beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a compare-and-set write operation for concurrent same-key updates. It explains the CAS pattern (read, merge, write with expected_version) and distinguishes from swg_write (non-CAS) and swg_reacquire (recovery only). The verb 'write' and resource 'shared file' with CAS semantics are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool (after reading and merging) and how to handle conflicts (re-read, re-merge, retry). It warns that swg_reacquire should not be used to get the version for CAS. It also notes the single-host limitation and the cooperative agent assumption. However, it does not explicitly list alternative tools for different scenarios, though siblings are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, so no contradiction. Description details stale view detection, preemption, single-host limitation, and v1 limitations. Adds significant behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Lengthy but efficient; every sentence adds value. Front-loaded with core action, then details. Not overly verbose given complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully explains error conditions, recovery procedures, limitations (single-host, no auto-merge). No output schema, but return values are implicitly clear from context. No gaps for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, requiring description to compensate. Description implies 'path' and 'content' via 'file' and 'bytes', but does not explicitly describe them. Since parameters are simple and purpose is clear, minimal but adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Write a workspace text file' with specific workflow (acquire->write->commit). Distinguishes from siblings like swg_write_cas and mentions recovery tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use (after acquire, before commit), when not (stale view, preempted), and recovery steps with alternative tools (swg_reacquire, reacquire_and_reconcile).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/Cohexa-ai/agent-coherence'
If you have feedback or need assistance with the MCP directory API, please join our Discord server