maideo
@maideo/mcp
Maideo Agent API用の公式MCP(Model Context Protocol)サーバーです。
MCP互換のAIエージェント(Claude Desktop、Claude Code、ChatGPT desktop、Continue.dev、Cursorなど)を使用して、フランス全土でプロのハウスクリーニング(ménage à domicile)を、人間の介入なしにエンドツーエンドで予約できます。
機能
郵便番号による対応エリアの確認
確定見積もりの取得
Maideoのバックオフィスでの予約作成(運用チームが確認可能)
50%の即時税額控除前払い(URSSAF)のためのエンドユーザー登録(カード決済不要 — 各作業後にSEPA口座振替)
予約ステータスの確認
Related MCP server: French Tax MCP Server
公開ツール
ツール | 目的 |
| Maideoがその郵便番号に対応しているか確認 |
| 72時間有効な確定見積もりを取得 |
| 予約を作成(72時間有効な |
| URSSAF登録を送信(IBAN + 本人確認情報) |
| ステータスを確認(注文、作業員、URSSAF) |
インストール
npm install -g @maideo/mcp
# or use npx without installing:
npx @maideo/mcpClaude Desktopの設定
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) または %APPDATA%\Claude\claude_desktop_config.json (Windows) を編集します:
{
"mcpServers": {
"maideo": {
"command": "npx",
"args": ["-y", "@maideo/mcp"],
"env": {
"MAIDEO_AGENT_NAME": "claude-desktop"
}
}
}
}Claude Desktopを再起動します。これでClaudeに以下のように依頼できます:
「来週の月曜日から、パリの12 rue de Rivoli, 75001で毎週3時間の掃除を予約してくれますか?」
Claudeが自動的に5つのツールを連携させます。
Claude Codeの設定
claude mcp add maideo npx -- -y @maideo/mcp環境変数
変数 | デフォルト | 目的 |
|
| APIベースURL(ステージング/開発用に上書き可能) |
|
|
|
不正防止のための保留
このMCPサーバー経由で作成されたすべての予約は、作業員が派遣されるまで48時間保留されます。Maideoの運用チームがエンドユーザーに電話やSMSで確認を行う場合があります。本番環境で偽のデータを使用して予約を送信しないでください。 MAIDEO_AGENT_NAME がブロックリストに入れられる可能性があります。
また、create_booking を呼び出す前に、エンドユーザーから明示的な同意を得る必要があります。バインディングの証明として agentConsent: true を渡してください。
支払い方法(支払いステップはありません)
Maideoは、フランス政府の家庭向けサービスプログラムであるURSSAFの avance immédiate de crédit d'impôt(即時税額控除前払い)を利用しています。
エンドユーザーが
enroll_avance_immediateを通じて登録 — 本人確認情報、出生地、住所、IBANを提供作業員が掃除を実施
MaideoがURSSAFに作業時間を申告
URSSAFが金額の50%(税額控除分)をMaideoに直接支払う
URSSAFが残りの50%をSEPA口座振替でエンドユーザーから徴収
カードもStripeも、前払いも、署名済みPDFも不要です。 IBANと本人確認情報だけで十分です。
リンク
ライセンス
MIT
Available Tools
5 toolscreate_bookingA
Create a booking. Requires a quoteToken from get_quote plus the end-user's identity, address, and explicit consent. Returns a bookingToken (72h) for subsequent calls and a bookingId. The booking is held for 48h before worker dispatch as anti-fraud protection.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteToken | Yes | ||
| client | Yes | ||
| address | Yes | ||
| dateDebut | Yes | First intervention date (ISO 8601) | |
| frequency | No | ||
| nbHeuresSemaine | No | ||
| nbPrestaSemaine | No | ||
| comments | No | ||
| agentConsent | Yes | Attest that the end-user explicitly consented to share their data via your agent |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
enroll_avance_immediateA
Enroll the end user with URSSAF for the 50% immediate tax credit advance. After this succeeds, the user pays only half the gross hourly rate via SEPA. Required: bookingToken from create_booking, full identity, birth place, postal address, IBAN.
| Name | Required | Description | Default |
|---|---|---|---|
| bookingId | Yes | ||
| bookingToken | Yes | ||
| civilite | Yes | 1=Monsieur, 2=Madame (NOT M/MME) | |
| nomNaissance | Yes | ||
| nomUsage | No | ||
| prenoms | Yes | ||
| dateNaissance | Yes | ||
| lieuNaissance | Yes | ||
| numeroTelephonePortable | Yes | ||
| adresseMail | Yes | ||
| adressePostale | Yes | ||
| coordonneeBancaire | Yes |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
get_booking_statusA
Poll the current status of a booking (order, mission, worker assignment, URSSAF enrollment). Requires bookingId + bookingToken from create_booking.
| Name | Required | Description | Default |
|---|---|---|---|
| bookingId | Yes | ||
| bookingToken | Yes |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
get_quoteA
Get a firm price quote for a cleaning booking. Returns a quoteToken valid for 72h that must be passed to create_booking.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | ||
| city | No | ||
| nbHeuresSemaine | Yes | Number of hours per intervention | |
| nbPrestaSemaine | No | Number of interventions per week | |
| frequency | Yes | ||
| prestation | No | MENAGE | |
| prestationInfo | No |
TDQS
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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
search_coverageA
Check whether Maideo serves a given French postal code and get the estimated hourly rate (gross, before the 50% tax credit advance). Use this BEFORE get_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | 5-digit French postal code | |
| prestation | No | MENAGE |
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 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.
Is 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.
Given 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.
Does 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.
Does 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.
Does 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.3- First observed
create_booking - First observed
enroll_avance_immediate - First observed
get_booking_status - First observed
get_quote - First observed
search_coverage
TDQS
Scored across 5 tools
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.
Four 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.
With 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.
The 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.
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
Search and book local services in France: real availability, quotes, consented one-tap bookings.
Agentic CRM for service businesses — bookings, customers, WhatsApp, loyalty, invoicing.
Rooftop solar potential, RGE installer search and quote requests. France only, no API key.
France payments for AI agents — Cartes Bancaires via Stripe. Never holds funds.
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceEnables booking cleaning services in San Francisco by collecting customer details and automatically sending booking requests via email to service partners.1-
- FlicenseBqualityDmaintenanceEnables AI assistants to calculate French individual income tax and retrieve current tax brackets using official government data. Supports household composition calculations and provides up-to-date tax information for French residents.1114-
- FlicenseNot gradedqualityFmaintenanceFrench real estate data platform for AI agents. Identifies property owners likely to sell and tracks behavioral signals on active listings. Coverage: metropolitan France.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to access French residential rental tools including lease creation and e-signing, rent control checks, rent revision, and document generation.MIT