hemmabo-mcp-server
Server Details
Vacation rental booking infrastructure for independent hosts. 0% commission. MCP + Stripe ACP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- HemmaBo-se/hemmabo-mcp-server
- GitHub Stars
- 1
- Server Listing
- HemmaBo
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 13 of 13 tools scored.
All tools have distinct purposes with clear boundaries. The booking lifecycle tools (create, checkout, cancel, reschedule, etc.) are differentiated by payment method and stage, while search tools are separated by scope (initial search, availability check, similarity, comparison). Verification tools are unique.
All tools follow a consistent 'hemmabo_<service>_<action>' pattern using snake_case. Verbs are descriptive and paired with appropriate nouns (e.g., booking_cancel, search_properties). The two verification tools ('get_verified_stay_offer', 'verify_vacation_rental_node') match the pattern despite longer names.
13 tools is an ideal size for a vacation rental booking server. It covers search, comparison, availability, pricing, booking lifecycle, and host verification without being overwhelming. Each tool serves a necessary function in the workflow.
The tool set covers the main booking flow from search to cancellation, including price locking and verification. Missing are tools for listing all bookings for a user and updating booking details (e.g., guest count), but these are minor gaps that agents can work around.
Available Tools
13 toolsget_verified_stay_offerARead-onlyIdempotentInspect
Fetch, verify, and render a live host-domain signed VRP stay offer for exact dates and guest count. The tool reads the host's verified stay-offer endpoint, verifies the Ed25519 compact JWS against the domain JWKS, and returns structuredContent plus the ChatGPT Apps widget template. Use it whenever the user asks to show, present, verify, or render a stay offer or widget after a property search result contains a host domain. This is read-only: it must not lock a quote, create a booking, start checkout, ask for payment confirmation, or collect guest contact details. If the guest wants to book, route only to the signed direct host-domain booking URL from the verified offer. Do not present discounts, savings, OTA comparisons, or invented availability in guest-facing copy.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Canonical public host-owned vacation-rental domain returned by search or verify_vacation_rental_node, e.g. villaakerlyckan.se. Provide only the domain, not a URL or path. | |
| guests | Yes | Total guest count for the stay as an integer >= 1. The host node uses this for capacity checks and guest-based pricing. | |
| check_in | Yes | Requested arrival date in YYYY-MM-DD format, e.g. 2026-11-14. Must be before check_out. | |
| language | No | Optional BCP-47/RFC 5646 language hint for labels and formatting, e.g. en, sv, de, or sv-SE. | |
| check_out | Yes | Requested departure date in YYYY-MM-DD format, e.g. 2026-11-15. Must be after check_in. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| fresh | No | True when the signed offer is still within its validity/freshness window. |
| domain | Yes | Echoed host domain that issued the signed offer. |
| guests | No | Echoed requested guest count. |
| check_in | No | Echoed requested arrival date. |
| verified | Yes | True only when the host-domain offer signature and payload checks pass. |
| check_out | No | Echoed requested departure date. |
| signature | No | Ed25519/JWS verification details, including key id and verification status. |
| widget_media | No | Images and media hydrated from the verified host discovery document for the ChatGPT widget. |
| agent_citation | No | Citation permission and safe-to-quote status derived from the signed offer. |
| agent_guardrails | No | Rules the agent must follow when presenting or acting on this offer. |
| payload_matches_offer | No | True when the signed payload matches the structured offer returned to the agent. |
| official_offer_summary | No | Small signed-offer summary for agents to quote without inventing price, availability, discounts, savings, comparisons, or booking details. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds significant detail: it verifies Ed25519 compact JWS against JWKS, checks signature, payload match, freshness, and agent citation permission. No contradiction 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences that front-load the main action and then clarify return conditions. Every word adds value.
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 cryptographic complexity, the description covers the verification steps and return condition. It could mention what happens on failure (e.g., returns nothing or error), but with an output schema present, it is largely 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 does not add extra meaning beyond what the schema provides for parameters like domain, check_in, etc.
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 ('Fetch', 'verify') and clearly identifies the resource ('signed VRP verified_stay_offer from a verified host-domain node'). It distinguishes from sibling tools like search or booking tools by focusing on cryptographic verification of an offer.
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 provide explicit guidance on when to use this tool versus alternatives like 'hemmabo_search_availability' or 'verify_vacation_rental_node'. The usage context is implied but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_booking_cancelADestructiveIdempotentInspect
Cancel a confirmed booking and process the Stripe refund. Use this tool when the guest explicitly requests cancellation. Do NOT use for pending/unpaid bookings — those expire automatically. Refund amount is calculated based on the host's cancellation policy. Returns cancellation confirmation with refund amount and status.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Cancellation reason for host notification (e.g. 'Travel plans changed'). Optional but recommended. | |
| reservationId | Yes | Booking or reservation UUID returned by hemmabo_booking_checkout or hemmabo_booking_create. Use this exact id for status, cancellation, or rescheduling. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| refund | No | Refund payload returned by cancel-booking edge function, when present. |
| status | Yes | Final booking status after cancellation. |
| reservationId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructive and idempotent. Description adds that it processes a refund and returns confirmation details, which is helpful context beyond annotations. No contradictions.
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?
Three sentences, all essential, front-loaded with primary action. No wasted 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?
With output schema present, description covers return values (refund amount, status). The tool is well-contextualized given complexity, schema richness, and annotations.
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 parameters well. The description does not add significant new meaning beyond what is 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 clearly states the tool cancels a confirmed booking and processes a Stripe refund. It distinguishes from siblings by specifying it is for confirmed bookings only, not for pending/unpaid ones.
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?
Explicitly says when to use (guest requests cancellation) and when not to (pending/unpaid bookings expire automatically). Also mentions refund calculation based on policy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_booking_checkoutAInspect
Create a fallback non-VRP booking and return a host-configured Stripe checkout URL. Use only after explicit user confirmation when no signed VRP direct_booking_url is available. When get_verified_stay_offer returns a signed direct_booking_url, route the guest to that host-domain URL instead and do not collect guest contact details in chat. Do NOT use for search, browsing, availability, verified-offer display, demo proof, or direct host-domain link presentation. Do NOT call twice for the same booking - check hemmabo_booking_status first to avoid duplicate charges. Returns reservationId, paymentUrl, and pricing details.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). | |
| channel | No | 'federation' is the compatibility name for direct host-source pricing. 'public': uses standard website rate. | |
| checkIn | Yes | Arrival date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-15'). Must be today or later. | |
| quoteId | No | Quote ID from hemmabo_booking_negotiate to lock the price. Optional - if omitted, a fresh direct host-source price is calculated at checkout time. | |
| checkOut | Yes | Departure date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-22'). Must be after checkIn. | |
| guestName | Yes | Full name of primary guest (e.g. 'Anna Svensson'). | |
| guestEmail | Yes | Email for booking confirmation (e.g. 'anna@example.com'). Must be a valid email address. | |
| guestPhone | No | Phone with country code (e.g. '+46701234567'). Optional but recommended. | |
| propertyId | Yes | Stable property UUID returned by hemmabo_search_properties. Use the exact UUID, not the property name, domain, or booking URL. | |
| paymentMode | No | 'checkout_session' (default): returns a host-configured Stripe redirect URL. 'payment_intent': returns client_secret for configured fallback non-VRP payment integrations. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mpp | No | Present when paymentMode='payment_intent'. |
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | |
| status | No | Booking status (typically 'pending' until payment succeeds). |
| checkIn | No | |
| checkOut | No | |
| currency | Yes | |
| createdAt | No | |
| paymentUrl | No | Stripe Checkout redirect URL. |
| propertyId | No | |
| totalPrice | Yes | Final total charged (or to be charged), in minor currency units. |
| payment_modes | No | Supported payment modes. |
| reservationId | Yes | Booking UUID. Use for subsequent status/cancel/reschedule calls. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds behavioral context beyond annotations: it creates a booking record and generates a Stripe payment page, warns about double charges (aligning with idempotentHint=false). It doesn't detail failure scenarios but covers key side effects.
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?
Four sentences, front-loaded with purpose, no fluff. Every sentence adds value: purpose, usage warning, optional parameter hint, return values.
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 tool with 10 parameters and output schema, the description covers purpose, usage guidelines, idempotency warning, and key parameter hints. Output schema handles return values, so no gap.
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 coverage is 100%, so baseline is 3. Description adds extra meaning for quoteId ('lock the price') and paymentMode alternatives, enriching the schema descriptions.
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 clearly states the tool creates a booking with Stripe payment and returns a checkout URL. It distinguishes from siblings like hemmabo_booking_create and hemmabo_booking_status by specifying 'when the user is ready to pay' and warning against double calls.
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?
Explicitly says 'Use this tool when the user is ready to pay' and advises 'Do NOT call twice for the same booking — check booking.status first to avoid double charges.' Also mentions optional quoteId from booking.negotiate, providing clear when-to-use and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_booking_createAInspect
Create a pending direct booking without online payment for configured non-VRP fallback deployments. Use only after explicit user confirmation, only with a propertyId returned by search, and only when no signed VRP direct_booking_url is available. This is not the primary VRP path; for signed VRP offers, route to the signed host-domain URL. Do NOT retry on timeout without hemmabo_booking_status. Returns bookingId, final price, confirmation details, and status.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). | |
| checkIn | Yes | Booking arrival date in YYYY-MM-DD format. | |
| checkOut | Yes | Booking departure date in YYYY-MM-DD format; must be after checkIn. | |
| guestName | Yes | Primary guest name for host confirmation. | |
| guestEmail | Yes | Primary guest email for confirmation and host contact. | |
| guestPhone | No | Primary guest phone with country code; optional but recommended. | |
| propertyId | Yes | Property UUID returned by hemmabo_search_properties for this fallback non-VRP booking. Use the exact UUID, not a property name, domain, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | |
| status | Yes | Host-node booking status. 'completed' is a protocol compatibility output only, not a status this tool writes. |
| checkIn | No | |
| checkOut | No | |
| currency | No | |
| bookingId | Yes | Persistent booking UUID. Use for status/cancel/reschedule. |
| createdAt | No | |
| priceType | No | Pricing mode used (federation/gap_night/package_*). |
| propertyId | No | |
| totalPrice | No | Final price written to the booking. |
| packageApplied | No | |
| gapDiscountPercent | No | |
| federationDiscountPercent | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses behavioral traits beyond annotations: booking created as 'pending' status, requires host approval, and retry safety considerations. Annotations show readOnlyHint=false, idempotentHint=false, destructiveHint=false, which the description supports.
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?
Four sentences efficiently cover purpose, usage, behavioral notes, and return info. No wasted words; information is front-loaded 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?
Tool has output schema (not shown), and description summarizes return values. It covers key aspects, but could mention prerequisites like authentication or property availability constraints. Still, largely complete for a booking creation tool.
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 covers all 7 parameters (100% coverage) with descriptions. Description adds minimal extra value, e.g., noting that guestPhone is optional but recommended. Baseline 3 is appropriate as schema already handles parameter meaning.
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 clearly states it creates a direct booking without online payment, and distinguishes from sibling 'booking.checkout' for paid bookings. Specifies that resulting status is 'pending' and requires host approval.
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?
Explicitly states when to use (no Stripe payment) and when not to use (paid bookings, use booking.checkout instead). Also provides guidance on avoiding duplicate bookings by not retrying on timeout without checking booking.status first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_booking_negotiateAInspect
Create a binding price quote that locks the price for 15 minutes for configured non-VRP fallback checkout deployments. Use only when no signed direct_booking_url is available and the user explicitly asks to lock or hold a price. Never use this for ordinary search, availability checks, demo/review proof, showing a verified host-domain offer, rendering a stay-offer widget, or booking a VRP offer; those requests must use get_verified_stay_offer and the signed direct host-domain booking URL instead. Returns quoteId, final host-source total, per-night breakdown, and expiry timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). Determines which price tier is applied. | |
| checkIn | Yes | Arrival date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-15'). Must be today or later. | |
| checkOut | Yes | Departure date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-22'). Must be after checkIn. | |
| propertyId | Yes | Stable property UUID returned by hemmabo_search_properties. Use the exact UUID, not the property name, domain, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | |
| checkIn | No | |
| quoteId | Yes | Snapshot ID. Pass to hemmabo_booking_checkout to lock this price. |
| checkOut | No | |
| currency | No | |
| gapNight | No | |
| gapTotal | No | |
| breakdown | No | |
| propertyId | No | |
| validUntil | Yes | Quote expiry (ISO 8601). Typically 15 minutes after creation. |
| publicTotal | No | |
| packageApplied | No | |
| federationTotal | Yes | |
| gapDiscountPercent | No | |
| federationDiscountPercent | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool creates a binding price quote that locks for 15 minutes, and returns a quoteId with expiry timestamp. Annotations are all false, so the description fully compensates. No contradiction.
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?
Three sentences: first defines the action, second gives usage guidance, third lists returns. No wasted words; front-loaded with essential information.
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 has an output schema (not shown), the description summarizes the returns (quoteId, totals, breakdown, expiry). It integrates well with the booking workflow and sibling tools, providing necessary context for an agent to use 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 coverage is 100%, so the baseline is 3. The description does not add significant new semantic details beyond what the schema already provides for parameters.
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 verb ('Create') and resource ('binding price quote') and specifies the lock duration (15 minutes). It distinguishes this tool from sibling 'booking.checkout' by indicating it is a prerequisite step for price certainty.
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 tells when to use the tool ('if the user wants price certainty') and warns about not using it ('without a quoteId, checkout calculates a fresh price'). It also instructs to pass the returned quoteId to booking.checkout.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_booking_quoteARead-onlyIdempotentInspect
Get a detailed pricing quote for a specific property, dates, and guest count. Use this tool after confirming availability to show the user exact pricing before booking. Do NOT use before checking availability — the quote may be invalid if dates are unavailable. Returns the final host-source total for the booking flow, per-night breakdown, and package pricing context. All prices are integers in the property's local currency (e.g. SEK).
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). Determines which price tier is applied (staircase pricing by guest count). | |
| checkIn | Yes | Arrival date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-15'). Must be today or later. | |
| checkOut | Yes | Departure date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-22'). Must be after checkIn. | |
| propertyId | Yes | Stable property UUID returned by hemmabo_search_properties. Use the exact UUID, not the property name, domain, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | Number of nights in the range. |
| checkIn | No | |
| checkOut | No | |
| currency | No | ISO 4217 currency code. |
| gapNight | No | True when the stay qualifies as a gap fill. |
| gapTotal | No | Gap-night adjusted total when applicable; otherwise null. |
| breakdown | No | Detailed pricing breakdown. |
| propertyId | No | |
| publicTotal | No | Website rate total in minor currency units. |
| packageApplied | No | Applied package, if any. |
| federationTotal | No | Legacy field: direct host-source total. Prefer directBookingTotal in user-facing copy. |
| directBookingTotal | No | Preferred user-facing field: direct host-source total. |
| gapDiscountPercent | No | Gap-night discount percentage when applied. |
| hostSourcePublicTotal | No | Preferred user-facing field: public host-source total. |
| federationDiscountPercent | No | Legacy internal field. Do not present this as a guest-facing discount, savings, or comparison. |
| directBookingDiscountPercent | No | Legacy internal field. Do not present this as a guest-facing discount, savings, or comparison. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description's behavioral contribution is moderate. It adds the important note that 'the quote may be invalid if dates are unavailable', which is a critical behavioral trait not covered by annotations. However, the description does not elaborate on potential side effects or authentication needs beyond what annotations imply.
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 concise, with only two sentences and a list of returned fields. The first sentence states the action, the second provides usage guidance, and the third details return values. Every sentence serves a purpose with no redundancy.
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 complexity (4 params, output schema present), the description covers purpose, correct usage order, return field names, and currency unit. It also explains specific price components like 'gapTotal (gap-night discount if applicable)'. The sibling tool set includes booking and search tools, and the description positions this tool correctly in the 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% with detailed parameter descriptions (e.g., guest count includes 'staircase pricing by guest count'). The description adds no new information beyond summarizing the returned fields. Baseline 3 is appropriate because the schema already does the heavy lifting.
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 gets a 'detailed pricing quote for a specific property, dates, and guest count', using specific verb 'Get' and resource 'pricing quote'. It distinguishes from sibling tools like hemmabo_booking_create or hemmabo_search_availability by focusing on pricing before booking.
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 instructs to 'Use this tool after confirming availability' and warns 'Do NOT use before checking availability', providing clear when-to-use and when-not-to-use guidance. It also notes the tool is for 'showing the user exact pricing before booking', aligning with the booking flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_booking_rescheduleADestructiveInspect
Reschedule a confirmed or pending booking to new dates. Use this tool when the guest wants to change travel dates on an existing booking. Do NOT use if the booking is cancelled, or if a protocol compatibility client reports completed — check hemmabo_booking_status first. Automatically recalculates price and handles Stripe charge (if price increased) or refund (if decreased). Returns previous dates, new dates, price delta, and Stripe transaction details.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for rescheduling (e.g. 'Flight delayed'). Optional but recommended for host records. | |
| newCheckIn | Yes | New arrival date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-20'). Must be today or later. | |
| newCheckOut | Yes | New departure date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-27'). Must be after newCheckIn. | |
| reservationId | Yes | Booking UUID to reschedule (e.g. '550e8400-e29b-41d4-a716-446655440000'). Must be in 'confirmed' or 'pending' status. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| reason | No | |
| status | Yes | Booking status after reschedule. |
| pricing | No | |
| newDates | No | |
| previousDates | No | |
| reservationId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses automatic price recalculation and Stripe charge/refund handling. Adds value beyond annotations (readOnlyHint=false, destructiveHint=true) by detailing financial side effects.
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?
Four sentences, front-loaded with purpose, then usage, exclusion, and behavioral details. Every sentence earns its place.
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?
Covers purpose, when to use, exclusions, side effects, and return info (previous dates, price delta, Stripe details). With output schema present, no 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?
Schema coverage is 100% with good param descriptions. Description does not add extra param info but provides tool-level context. Baseline 3 applies.
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?
Clearly states 'Reschedule a confirmed or pending booking to new dates.' Identifies verb (reschedule) and resource (booking), distinguishing it from siblings like cancel, create, and status.
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?
Explicitly tells when to use (guest wants to change dates) and when not to (booking cancelled/completed), and advises checking booking.status first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_booking_statusARead-onlyIdempotentInspect
Retrieve current status and full details of an existing booking or reservation by id. Use this read-only tool to check payment/booking state, confirm whether checkout or booking creation succeeded, or look up details before rescheduling or cancelling. Use after hemmabo_booking_checkout or hemmabo_booking_create if unsure whether the previous call succeeded; do not create a duplicate booking. Returns booking dates, guests, price, host property info, status, and cancellation policy.
| Name | Required | Description | Default |
|---|---|---|---|
| reservationId | Yes | Booking or reservation UUID returned by checkout/create. Required to look up the exact booking. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | Booked guest count. |
| status | Yes | Host-node booking status. 'completed' is a protocol compatibility output only, not the active lifecycle truth. |
| checkIn | No | Booked arrival date. |
| checkOut | No | Booked departure date. |
| currency | No | ISO 4217 currency code for the booking total. |
| createdAt | No | Booking creation timestamp. |
| guestName | No | Primary guest name stored on the booking. |
| updatedAt | No | Last update timestamp for the booking record. |
| guestEmail | No | Primary guest email stored on the booking. |
| propertyId | No | Property UUID associated with the booking. |
| totalPrice | No | Total amount in minor currency units. |
| propertyName | No | Display name of the booked property. |
| reservationId | Yes | Echoed booking or reservation UUID. |
| propertyDomain | No | Host-owned domain associated with the property. |
| cancellationPolicy | No | Host cancellation-policy details applicable to this booking. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, establishing safety. The description adds value by listing the returned fields (dates, guests, price, status, property info, cancellation policy), which sets correct expectations for the agent beyond what annotations provide.
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?
Three sentences, each with a distinct purpose: stating the action, providing usage guidance, and listing return content. No fluff, front-loaded with the primary verb, and every sentence earns its place.
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 simple retrieval tool with one parameter and an existing output schema, the description adequately covers what the agent needs: purpose, when to use, and what to expect in the response. Sibling differentiation is handled implicitly through usage hints.
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 single parameter reservationId has full schema coverage (100%) with a clear description including an example UUID. The tool description adds context about where the ID originates (booking.checkout or booking.create), but does not provide new semantic details beyond the schema, so baseline 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 clearly states 'Retrieve current status and full details of an existing booking,' using a specific verb and resource. It distinguishes from siblings by mentioning its use before rescheduling/cancelling and after booking.checkout, which sets it apart from other booking tools.
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?
Explicit usage scenarios are provided: check payment status, confirm booking success, look up details before changes. The recommendation to use after booking.checkout if unsure is helpful. Though it could explicitly state when not to use, the guidance is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_compare_propertiesARead-onlyIdempotentInspect
Compare availability and pricing for 2-10 specific properties on the same dates. Use this tool when the user is deciding between multiple properties and wants to see price and availability side by side. Do NOT use for discovery - use hemmabo_search_properties first. Returns one entry per propertyId, sorted by direct host-source total (cheapest first), with unavailable properties last. Do not present discounts or savings in guest-facing copy.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1. | |
| checkIn | Yes | Arrival date in ISO 8601 format (YYYY-MM-DD). Must be today or later. | |
| checkOut | Yes | Departure date in ISO 8601 format (YYYY-MM-DD). Must be after checkIn. | |
| propertyIds | Yes | Array of 2 to 10 property UUIDs returned by hemmabo_search_properties. Use UUIDs only; do not pass domains, names, or booking URLs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | Number of compared properties returned. |
| error | No | Present only when isError=true. |
| guests | No | |
| checkIn | No | |
| checkOut | No | |
| comparison | No | One entry per requested propertyId, sorted by direct host-source total (cheapest first), unavailable last. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but description adds behavioral details: returns one entry per propertyId, sorted by price (cheapest first), with unavailable properties last.
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?
Description is four sentences, front-loaded with purpose, then usage guideline, then ordering behavior; no wasted 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?
Given the output schema exists, description covers all needed context: comparison, sorting, exclusion of unavailable properties, and explicit sibling distinction.
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 coverage is 100% with clear parameter descriptions; description adds no additional parameter-level information beyond what the schema provides.
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 clearly states it compares availability and pricing for 2-10 specific properties, and explicitly distinguishes from discovery tools by advising use of search.properties first.
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?
Explicitly states when to use (user deciding between multiple properties) and when not to use (discovery; use search.properties instead). Also describes result sorting behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_search_availabilityARead-onlyIdempotentInspect
Check whether a specific property is available for the requested dates. Use this tool after the user has selected a property from hemmabo_search_properties and wants to confirm availability before getting a quote. Do NOT use for general browsing — use hemmabo_search_properties instead. Returns available=true/false with conflict details and same-month alternative date windows when unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | No | Optional guest count. When provided, alternative date windows include live pricing. | |
| checkIn | Yes | Arrival date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-15'). Must be today or later. | |
| checkOut | Yes | Departure date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-22'). Must be after checkIn. | |
| propertyId | Yes | Property UUID returned by hemmabo_search_properties (e.g. '550e8400-e29b-41d4-a716-446655440000'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| reason | No | Reason when available=false. |
| checkIn | No | |
| checkOut | No | |
| available | Yes | True if the property is bookable for the entire range. |
| propertyId | No | |
| alternativeDates | No | Nearby same-month date windows to offer when the requested dates are unavailable. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds that it returns availability status and conflict details, which is useful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. Front-loaded with purpose, followed by usage guidance, then return info. Excellent conciseness.
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 presence of an output schema (as per context), the description covers return values. It includes usage context and constraints. Complete for a simple availability check tool.
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 description does not need to add more. However, the description does not provide additional parameter semantics beyond what is 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 clearly states the tool's purpose: checking property availability for specific dates. It distinguishes from the sibling tool 'search.properties' by specifying when to use each.
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?
Explicitly advises to use after selecting a property from search.properties and before getting a quote. Clearly states not to use for general browsing and redirects to search.properties.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_search_propertiesARead-onlyIdempotentInspect
Search available vacation rental properties by location and travel dates. Use this tool when the user wants to find or browse properties. If it returns one or more properties with a host domain, call get_verified_stay_offer with that domain and the same dates/guest count before the final answer so ChatGPT can render the verified stay offer widget. Do NOT use if the user already has a specific propertyId; use hemmabo_search_availability, hemmabo_booking_quote, or get_verified_stay_offer instead. Returns available properties with propertyId, host domain, live availability, final host-source pricing, and capacity info. Do not present discounts or savings in guest-facing copy. If the guest wants to book after a verified offer, route only to the signed direct host-domain booking URL; do not collect contact details or start checkout in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). Determines price tier and filters out properties with insufficient capacity. | |
| region | No | Region, area, or destination name to search within. Partial match (e.g. 'Skane', 'Toscana', 'Bavaria'). At least one of region or country should be provided. | |
| checkIn | Yes | Arrival date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-15'). Must be today or later. | |
| country | No | Country name to filter by (e.g. 'Sweden', 'Italy'). Partial match. At least one of region or country should be provided; omit only when the user has given a specific region. | |
| checkOut | Yes | Departure date in ISO 8601 format (YYYY-MM-DD, e.g. '2026-07-22'). Must be after checkIn. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | Echoed guest count. |
| checkIn | No | Echoed check-in date (YYYY-MM-DD). |
| checkOut | No | Echoed check-out date (YYYY-MM-DD). |
| properties | No | Available properties matching the search criteria, with live host-source pricing. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds return info (propertyId, pricing, capacity) but no behavioral contradictions.
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?
Three sentences, front-loaded with purpose, then usage guidelines, then return info. No unnecessary 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?
Given 5 parameters (3 required) and an output schema, the description covers entry point behavior, return fields, and boundaries well. Sibling tools are distinct.
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 coverage is 100% with good descriptions. Description adds minimal extra meaning beyond summarizing guests' role in pricing/capacity, but overall does not significantly enhance parameter understanding.
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 clearly states it searches for vacation rental properties by location and dates, with a specific verb and resource. It distinguishes itself as the entry point for booking flows, differentiating from siblings.
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?
Explicitly states when to use (user wants to find/browse) and when not (if propertyId is known, naming alternatives search.availability or booking.quote).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hemmabo_search_similarARead-onlyIdempotentInspect
Find vacation rental properties similar to a given property on specific dates. Use this tool after the user has selected a property (via hemmabo_search_properties) and wants to see alternatives — same region, same property type, same or larger capacity. Do NOT use for the initial search; use hemmabo_search_properties instead. Returns a list of similar available properties with live pricing, excluding the source property.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results. Default 5, max 20. | |
| guests | No | Number of guests. Defaults to source property's max_guests. | |
| checkIn | Yes | Arrival date in ISO 8601 format (YYYY-MM-DD). Must be today or later. | |
| checkOut | Yes | Departure date in ISO 8601 format (YYYY-MM-DD). Must be after checkIn. | |
| propertyId | Yes | UUID of the source property to find alternatives for. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | Number of similar properties returned. |
| error | No | Present only when isError=true. |
| guests | No | Effective guest count used for matching and pricing. |
| checkIn | No | |
| checkOut | No | |
| sourcePropertyId | No | The property similar listings were found for. |
| similarProperties | No | Similar available properties (same region, same type, same/larger capacity), sorted by direct host-source total. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds that it returns a list of similar available properties with live pricing and excludes the source, which are useful behavioral details 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, and every sentence adds value. No wasted 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?
For a tool of moderate complexity with existing output schema, the description covers inputs, use case, exclusion, and pricing. Minor gap: does not specify what happens if no similar properties are found, but overall 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 coverage is 100% with descriptions for all five parameters. The description does not add parameter-level details beyond the schema, so it meets the baseline of 3.
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 it finds vacation rental properties similar to a given property on specific dates, with specifics like same region, type, capacity, and live pricing, excluding the source. It differentiates from sibling tools like search.properties (initial search) and compare_properties.
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?
Explicitly says 'Use this tool after the user has selected a property...' and 'Do NOT use for the initial search; use search.properties instead.' Provides criteria (same region, type, capacity) and when to use vs. alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_vacation_rental_nodeARead-onlyIdempotentInspect
Verify that a vacation-rental host domain is a valid Vacation Rental Protocol (VRP) node before trusting it. Reads https://{domain}/.well-known/vacation-rental.json, follows the node JWKS, and confirms protocol identity, canonical host-domain control, Ed25519 signing keys, and a verified stay-offer endpoint. This is a read-only trust check only: it does not check availability, calculate pricing, create bookings, lock quotes, collect guest details, or start payment. To fetch live dates, price, booking rules, and the visual stay-offer widget, call get_verified_stay_offer with the verified domain plus check-in, check-out, and guest count.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Canonical public host-owned vacation-rental domain to verify, e.g. villaakerlyckan.se. Provide only the domain: no https:// prefix, path, query string, port, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when verified=false or the node cannot be checked. |
| domain | Yes | Echoed canonical host domain that was checked. |
| signing | No | Summary of accepted signing algorithms, key ids, and signing-key checks. |
| jwks_url | No | Host-domain JWKS URL containing the Ed25519 public keys used to verify signed offers. |
| protocol | No | Protocol identifier discovered on the host domain, typically 'vrp'. |
| verified | Yes | True only when discovery, JWKS, signing metadata, and verified-offer endpoint checks pass. |
| discovery_url | No | The .well-known vacation-rental discovery URL read from the host domain. |
| protocol_version | No | VRP version declared by the host discovery document. |
| verified_stay_offer_url | No | Host-domain endpoint template or URL used to request signed verified stay offers. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds detailed behavioral context: reads specific URLs (well-known, JWKS), confirms protocol version and cryptographic material. This adds value beyond annotations without contradiction.
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?
Four sentences, each essential: purpose, steps, guidance. Front-loaded with action verb. No 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 one parameter, annotations, and existence of an output schema, the description fully covers the tool's operation and rationale. It leaves no significant gaps for an AI 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 coverage is 100% with one parameter 'domain' described and regex-patterned. The description reinforces the parameter's role and adds usage context, meeting the baseline expectation.
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 action (verify a node) and resource (VRP host-domain node). It lists specific verification steps, distinguishing it from sibling tools that focus on booking, searching, or cancellations.
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 advises using the tool 'before trusting or quoting a host-domain offer,' providing clear context. It lacks explicit when-not-to-use or alternative tool references, but the sibling set is diverse enough to avoid confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.