maideo
Server Quality Checklist
Latest release: v0.1.3
- Disambiguation5/5
Each tool has a distinct, non-overlapping purpose: search_coverage checks service availability, get_quote provides pricing, create_booking initiates a booking, enroll_avance_immediate handles tax credit enrollment, and get_booking_status tracks progress. The descriptions clearly differentiate their roles in the booking workflow, leaving no ambiguity for agent selection.
Naming Consistency4/5Four tools follow a consistent verb_noun pattern (create_booking, get_booking_status, get_quote, search_coverage), but enroll_avance_immediate deviates with a mixed verb_noun structure and includes a French term. This minor inconsistency slightly disrupts the pattern but remains readable and understandable.
Tool Count5/5With 5 tools, this server is well-scoped for its domain of booking and managing cleaning services. Each tool serves a specific step in the workflow (coverage check, quoting, booking, enrollment, status tracking), and none feel redundant or missing, making the count appropriate for the purpose.
Completeness5/5The tool set provides complete coverage for the booking lifecycle: search_coverage initiates the process, get_quote handles pricing, create_booking creates the booking, enroll_avance_immediate manages tax credit enrollment, and get_booking_status allows tracking. There are no obvious gaps, and the tools support a seamless workflow from start to finish.
Average 4.1/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
- 0 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.
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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions the outcome ('user pays only half the gross hourly rate via SEPA'), it doesn't describe what happens during enrollment, whether this is a one-time or reversible action, what permissions are needed, or what the response looks like. For a complex enrollment tool with 12 parameters, this is insufficient 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 appropriately concise with three sentences that each add value: purpose, outcome, and requirements. It's front-loaded with the main action and efficiently structured, though the requirement list could be slightly more organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex enrollment tool with 12 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain the enrollment process, potential errors, response format, or how the various identity parameters relate to each other. The agent would struggle to understand the full context of this operation.
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 only 8% schema description coverage, the description compensates by listing key required parameters ('full identity, birth place, postal address, IBAN') and connecting bookingToken to create_booking. It provides meaningful context about what data is needed for enrollment, though it doesn't cover all 12 parameters or explain their relationships.
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 specific action ('Enroll the end user with URSSAF for the 50% immediate tax credit advance'), identifies the resource (end user's tax credit enrollment), and distinguishes from siblings by mentioning a prerequisite from create_booking. It provides concrete purpose beyond just the tool name.
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 this tool ('After this succeeds, the user pays only half the gross hourly rate via SEPA') and mentions a required prerequisite ('Required: bookingToken from create_booking'). However, it doesn't specify when NOT to use it or mention alternatives among sibling tools, keeping it at a 4 rather than a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/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 discloses that this is a polling operation (implying potential repeated calls) and specifies required authentication tokens (bookingToken), which adds useful context. However, it lacks details on rate limits, error handling, or response format, leaving behavioral gaps.
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 sentences, front-loaded with the core purpose and followed by prerequisite details. Every word earns its place with no redundancy or fluff, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% schema coverage, and no output schema, the description does well by covering purpose, prerequisites, and parameter semantics. However, for a status-polling tool, it lacks details on return values (e.g., status states like 'pending', 'completed') or polling behavior (e.g., intervals, timeouts), leaving some context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description fully compensates by explaining both parameters: bookingId and bookingToken, including their source (from create_booking). This adds essential meaning beyond the bare schema, making the parameters understandable and actionable.
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 specific action ('poll the current status') and resource ('booking'), with explicit examples of what a booking might represent (order, mission, worker assignment, URSSAF enrollment). This distinguishes it from sibling tools like create_booking (creation) or get_quote (price estimation).
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 for when to use this tool: after create_booking, as it requires bookingId and bookingToken from that operation. However, it does not explicitly state when NOT to use it (e.g., vs. search_coverage for broader queries) or name alternatives, keeping it from 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 burden and does well by disclosing key behavioral traits: it returns a quoteToken valid for 72 hours that must be passed to create_booking. This adds valuable context about output format, validity, and dependencies, though it could mention error handling or rate limits.
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 front-loaded and concise with two sentences that efficiently convey purpose and output behavior. Every sentence earns its place by adding critical information without 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 the complexity (7 parameters, nested objects) and no annotations or output schema, the description is reasonably complete for a quote tool. It covers purpose, output usage, and validity, but could improve by hinting at parameter roles or error cases to fully guide the agent.
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 low at 29%, but the description doesn't add any parameter-specific information beyond what the schema provides. It implies parameters relate to booking details but doesn't explain semantics like zip vs. city or prestationInfo. Baseline is 3 as the schema does some work, but the description doesn't compensate for the coverage gap.
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's purpose with a specific verb ('Get') and resource ('firm price quote for a cleaning booking'), and it distinguishes from siblings by mentioning the output is used by create_booking. It goes beyond just restating the name to explain the functional outcome.
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 by stating the quote is used for create_booking, implying this tool should be called before that sibling. However, it doesn't explicitly mention when not to use it or alternatives like search_coverage, which could help in decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
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 explains the tool's purpose (checking service coverage and providing rates) and mentions a key financial detail ('gross, before the 50% tax credit advance'), which adds useful context. However, it doesn't cover other behavioral aspects like error handling, rate limits, or authentication requirements.
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 front-loaded with the core purpose in the first sentence and includes a crucial usage guideline in the second. Both sentences earn their place by providing essential information without redundancy, making it highly efficient and well-structured.
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 moderate complexity (2 parameters, no output schema, no annotations), the description is reasonably complete. It covers the purpose, usage sequence, and key financial context. However, it lacks details on return format (e.g., structured data vs. simple yes/no) and doesn't fully address all behavioral aspects, leaving some gaps for an agent to infer.
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 50% (only 'zip' has a description), so the description must compensate. It adds meaning by explaining that the postal code is 'French' and that the output includes coverage status and hourly rate, which helps interpret the 'zip' parameter. However, it doesn't provide additional context for the 'prestation' parameter beyond what the enum suggests.
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 specific action ('Check whether Maideo serves a given French postal code and get the estimated hourly rate') and distinguishes it from sibling tools by explicitly mentioning 'Use this BEFORE get_quote'. It identifies the resource (French postal code) and outcome (coverage status and rate).
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 guidance on when to use this tool ('Use this BEFORE get_quote'), establishing a clear sequence in the workflow. It implicitly distinguishes from alternatives like 'get_quote' by positioning this as a prerequisite check, though it doesn't explicitly mention other siblings like 'create_booking'.
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 and does well by disclosing key behavioral traits: the 72h bookingToken validity, 48h hold before worker dispatch as anti-fraud protection, and the return values (bookingToken and bookingId). It doesn't cover rate limits or error conditions, but provides substantial operational context.
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 perfectly front-loaded with the core action and prerequisites, followed by return values and behavioral details. Every sentence earns its place with zero waste, making it highly efficient for an agent to parse.
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 complex booking creation tool with 9 parameters, no annotations, and no output schema, the description does remarkably well by explaining prerequisites, return values, and key behavioral constraints. The main gap is lack of error handling or edge case information, but it covers the essential workflow comprehensively.
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 only 22% schema description coverage, the description compensates well by explaining the purpose of quoteToken (from get_quote) and clarifying that client includes identity, address includes location, and agentConsent represents explicit consent. It doesn't detail all 9 parameters but adds meaningful context for the most critical ones.
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 specific action ('Create a booking') and distinguishes it from siblings by mentioning the required quoteToken from get_quote. It provides a complete picture of what the tool does beyond just the verb.
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 prerequisites ('Requires a quoteToken from get_quote plus the end-user's identity, address, and explicit consent'), providing clear context for when to use this tool. However, it doesn't mention when NOT to use it or explicitly compare it to alternatives like enroll_avance_immediate.
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/ikki-ai/maideo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server