xlsx-audit-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a distinct audit aspect: structure, formula listing, single-cell tracing, and overall risk. No overlap or ambiguity, as even the two workbook-level tools (overview vs. audit) have clearly different outputs.
Naming Consistency4/5Most tools follow verb_noun pattern (list_formulas, trace_cell, audit_workbook), but workbook_overview is noun_noun, breaking the pattern slightly. The style is otherwise consistent and readable.
Tool Count5/5Four tools is ideal for an Excel audit server, covering the essential workflow without redundancy or bloat. Each tool has a clear, non-overlapping purpose.
Completeness5/5The tool set covers the full audit lifecycle: structure overview, formula discovery, cell-level tracing with precedents/dependents, and a comprehensive risk report. There are no obvious missing operations for the stated domain.
Average 4.2/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 3 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
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.
Add a glama.json file to provide metadata about your server.
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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It adds useful context like 'cached values' (indicating it reads cached results rather than recalculating) and the filtering behavior, but it does not explicitly state whether the operation is read-only, mention potential side effects, or discuss rate limits or performance considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose ('Formulas with addresses and cached values') and then immediately explain the filtering options with concrete examples. Every word adds value, with no redundancy or fluff.
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 that there is no output schema, the description provides a reasonable overview of what is returned (formulas with addresses and cached values) and mentions the key filtering capabilities. It lacks details about the exact return structure or pagination, but for a moderately simple list tool with thorough schema coverage, it is sufficiently complete.
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 input schema already describes all parameters with 100% coverage. The description's mention of filtering with `contains` and/or `sheet` adds a small amount of practical context, but it largely repeats what the schema already dictates, 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.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it lists formulas with their addresses and cached values. This is a specific verb+resource combination that distinguishes it from sibling tools like workbook_overview or trace_cell by focusing on formula listing and filtering.
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 provides clear context on how to use the tool by mentioning filtering options (`contains` and `sheet`). However, it does not explicitly state when to use this tool over the sibling tools or when not to use it, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It lists concrete behavioral aspects (e.g., circular references with example chains, volatile functions, hardcoded constants) which go beyond the tool name. However, it does not state output format or explicitly confirm read-only behavior, though 'audit' implies non-destructive. Overall, it adds substantial transparency beyond mere existence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence with a colon and a clear list. It front-loads the core purpose ('Risk report across the whole model') and then enumerates specifics without any fluff or repetition.
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?
The description covers the main scope comprehensively: it lists six distinct audit categories, which is substantial for a reporting tool. There is no output schema, so the return value is not fully specified, but 'Risk report' implies a textual summary. For moderate complexity with a single parameter, this is sufficiently complete.
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 description coverage is 100% for the single 'path' parameter, which already documents 'Path to an .xlsx workbook'. The tool description does not add further meaning to the parameter itself, so the baseline of 3 applies.
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 produces a risk report across the whole model, listing specific checks (circular references, volatile functions, etc.). This verb+resource+scope distinguishes it from siblings like workbook_overview or list_formulas by focusing on audit risks rather than general overview or formula listing.
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 implies usage: use this tool to get a comprehensive model-wide risk report. It does not explicitly exclude alternatives or mention when not to use it, but the specific scope ('across the whole model') and distinct checks provide clear context that differentiates it from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses what the tool computes (formula, cached value, precedents, dependents), how dependents are traced (directly or via ranges), and how unqualified addresses resolve. This goes beyond a basic statement, though it omits details about return format and max_dependents behavior, so it does not earn a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two tightly written sentences that are front-loaded with the core verb and scope. Every clause contributes important information, with no redundant words or filler, making it an exemplary concise tool description.
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?
For a per-cell audit tool with no output schema or annotations, the description provides the essential context: what it does, how to address cells, and what outputs to expect. It lacks a detailed return schema but enumerates the output categories adequately. The missing detail on max_dependents is a minor gap, but overall the description is sufficient for correct invocation.
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?
Schema coverage is 67%, so the description must add meaning for undocumented aspects. It explains the cell address format in detail, including unqualified address resolution, which is not fully covered by the schema. It does not explain max_dependents, but that parameter has constraints and a default in the schema, and the missing info is not critical for usage.
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 audits a single cell, listing specific outputs (formula, cached value, precedents, dependents) and distinguishing it from sibling tools that operate at the workbook level. The wording 'Audit one cell' is a specific verb+resource that unambiguously defines the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for single-cell auditing and provides address format guidance, but it does not explicitly contrast with sibling tools like audit_workbook or list_formulas. There is no statement of when-not-to-use or alternative tools, so the guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It specifies what the tool returns (structural details), and the phrasing 'overview' and 'map' implies a read-only inspection. However, it does not explicitly state safety (no modification) or mention error cases, which would have made it fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, the first giving a concise list of what the tool returns and the second using a helpful metaphor. It is front-loaded with the essential information and contains no unnecessary words.
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?
For a tool with a single parameter, no output schema, and clear structural return content, the description is complete. It tells the user exactly what to expect and when to use it, without needing to describe return formats or additional options.
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 100% for the single parameter 'path', which already has a descriptive comment. The description does not add any further meaning or nuance to the parameter beyond what the schema provides, so a baseline score of 3 is appropriate.
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 what the tool does: it provides the structure of an .xlsx workbook, including sheets with dimensions and formula counts, defined names, external workbook links, and merged cells. It distinguishes itself from sibling tools by positioning as 'the map you need before tracing or auditing.'
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 tells the user when to use this tool: as a preliminary step before tracing or auditing, which are clearly related to sibling tools (trace_cell, audit_workbook). It implies this tool should be used first to get an overview, providing context for alternatives.
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/arose26/xlsx-audit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server