mcp-server
Server Details
Citizenship & golden-visa (CBI/RBI) data, costs & mobility — by Mirabello Consultancy
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
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 3.9/5 across 11 of 11 tools scored. Lowest: 2.9/5.
Each tool has a clearly distinct purpose, from booking consultations to comparing programmes, estimating costs, and retrieving recent changes. There is no overlap or ambiguity between tools.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., book_consultation, list_programmes, get_recent_changes), making them predictable and easy to understand.
With 11 tools, the server covers a comprehensive range of functions for an investment migration consultancy without being overwhelming or sparse.
The tools cover the full lifecycle of a client's journey: exploring programmes, comparing them, estimating costs, checking visa-free access, processing times, recent changes, booking consultations, and learning about the company. No obvious gaps.
Available Tools
11 toolsbook_consultationAInspect
Book a free consultation with Mirabello Consultancy. Requires email + programme interest/message and explicit consent. Delivers the enquiry to Mirabello and returns a tracked booking URL.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | why / use-case (e.g. second passport, EU residency, tax, mobility, family relocation) | |
| name | No | full name | |
| Yes | |||
| phone | No | phone / WhatsApp (with country code) | |
| budget | No | investment budget or band (e.g. "$250k", "up to $500k") | |
| consent | No | User consents to share details with Mirabello Consultancy (GDPR). Must be true to deliver. | |
| message | No | short comment / interest description | |
| website | No | leave blank (spam honeypot) | |
| timeline | No | desired timeline (e.g. "ASAP", "6 months", "within a year") | |
| salutation | No | salutation / honorific | |
| family_size | No | who is included (e.g. "single", "couple", "family of 4") — optional summary; prefer number_of_children + childrens_ages | |
| nationality | No | current nationality (country name) | |
| childrens_ages | No | children ages, comma-separated (e.g. 5, 12, 17) | |
| marital_status | No | married? Yes/No | |
| preferred_channel | No | how the client prefers to be contacted | |
| residence_country | No | current country of residence (if different from nationality) | |
| number_of_children | No | how many children to include | |
| programme_interest | No | programme or shortlist of interest (e.g. "st-kitts-cbi" or "CBI Caribbean", or service category: "Citizenship by Investment", "Residency by Investment", "Citizenship by Marriage", "Citizenship by Descent", "Passport Renewal", "Government Advisory") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true. The description adds that it delivers the enquiry to Mirabello and returns a tracked booking URL, disclosing the side effect and return value beyond the 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?
Two sentences with no wasted words. The first sentence states the action, the second lists requirements and outcome. Front-loaded and efficient.
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 18 parameters and no output schema, the description is minimal. It covers core purpose and return value but does not elaborate on how the many other parameters are used or potential errors. Adequate for a straightforward booking tool but could be more detailed.
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 94% schema coverage, the description adds meaning by summarizing required inputs (email, program interest/message, consent) and clarifying that consent must be true to deliver. It also distinguishes the spam honeypot field implicitly via schema description.
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 'Book a free consultation' with a specific verb and resource. It distinguishes itself from sibling tools, which are informational or comparative, by being the only action-oriented tool for 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 implicitly indicates when to use (for booking a consultation) but does not explicitly state when not to use or mention alternatives. The prerequisites (email, program interest, consent) are given, but no direct comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_visa_freeCRead-onlyInspect
Mobility for a programme passport: visa-free count, Henley rank, and access to key destinations (Schengen, UK, USA, China).
| Name | Required | Description | Default |
|---|---|---|---|
| programme_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description implies a read-only operation ('check'). The description does not add additional behavioral context, but it does not contradict the annotations either.
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 a single sentence, efficient and to the point. It front-loads the key information without 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 no output schema and no parameter descriptions, the description is incomplete. It does not explain what the output contains, how to interpret results, or what a 'programme passport' is, leaving significant gaps for 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 0%, and the tool description does not explain the 'programme_id' parameter. The description adds no meaning beyond the schema, which only defines it as a string.
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 that the tool provides visa-free count, Henley rank, and access to key destinations. It is specific about the resource (programme passport) and the data returned, distinguishing it from sibling tools like 'compare_programmes' or 'recommend_programmes'.
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 lacks any guidance on when to use this tool versus alternatives. No explicit context or exclusions are provided, leaving the agent to infer usage from the tool name and purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_programmesARead-onlyInspect
Compare 2–4 programmes side by side: cost, processing, mobility, family inclusion, tax, path to citizenship.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, indicating a safe read operation. The description adds the specific comparison attributes but does not disclose any other behavioral traits (e.g., data source, performance, error handling). With annotations covering safety, a 3 is appropriate.
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 a single sentence, front-loaded with the key action and resource, and lists specific comparison dimensions. 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 simple tool with one parameter and no output schema, the description covers the essential functionality and scope. It does not mention return format or error handling, but given the simplicity, it is sufficiently 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?
The only parameter 'ids' is described implicitly as '2–4 programmes'. Schema description coverage is 0%, so the description must compensate. It adds meaning (what the array represents) but lacks details on format (e.g., programme IDs vs names). This is adequate but not thorough.
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: compare 2–4 programmes side by side, listing specific attributes (cost, processing, mobility, family inclusion, tax, path to citizenship). This differentiates it from siblings like list_programmes (listing only) or recommend_programmes (recommendation).
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 implies when to use this tool: when a side-by-side comparison of multiple programmes is needed. It does not explicitly state when not to use or mention alternatives, but the listed attributes and sibling names provide enough context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_total_costARead-onlyInspect
Estimate the total cost of a programme for a given family: investment + government & due-diligence fees + family add-ons. Indicative; excludes professional/property/legal fees.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | main + spouse/adult applicants (default 1) | |
| programme_id | Yes | ||
| children_16plus | No | ||
| children_under16 | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds value by specifying what is included and excluded in the estimate, which is beyond what annotations provide. 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?
Two sentences, no wasted words. The first sentence states the core purpose, the second adds essential caveats. Front-loaded and concise.
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?
The tool has 4 parameters and no output schema. The description covers purpose and exclusions but omits return format or behavior when optional parameters are omitted. Adequate but incomplete.
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 only 25% (only adults documented). The description hints at family composition but does not explicitly explain each parameter's meaning or relationship to the cost calculation. More detail needed to compensate for low coverage.
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 estimates total cost of a programme for a family, listing components (investment, fees, add-ons) and exclusions. It distinguishes from siblings like get_programme or compare_programmes.
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 implies usage for cost estimation by family composition but does not explicitly state when to use this tool versus alternatives. The caveat 'Indicative; excludes professional/property/legal fees' provides context but no direct comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aboutARead-onlyInspect
About Mirabello Consultancy: track record (cases, approval rate), credentials (IMC, ACAMS), offices, languages, services. Use for "who is Mirabello / why use them / are they reputable" questions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds no behavioral traits beyond listing content, but since annotations cover the safety profile, no further disclosure is needed.
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 a single sentence that front-loads key information and ends with usage examples. Every word earns its place 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?
For a tool with no parameters and a simple information retrieval function, the description is complete. It covers content and usage context sufficiently.
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?
There are no parameters, so schema coverage is 100% trivially. The description does not need to add param semantics, as none exist.
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 returns information about Mirabello Consultancy, including track record, credentials, offices, languages, and services. It distinguishes from sibling tools like list_programmes by focusing on company reputation rather than specific programmes.
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 specifies when to use the tool: for questions like 'who is Mirabello / why use them / are they reputable'. This provides clear guidance and implies alternatives for other queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indexARead-onlyInspect
The Mirabello Investment Migration Index — a composite 0–100 ranking of CBI/RBI programmes across cost, mobility, speed, path-to-citizenship, stability, family and tax, with transparent published methodology. Filter by type (CBI/RBI) and limit. Programmes with insufficient verified data are flagged provisional and excluded from the headline ranking.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| limit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the annotations by detailing the ranking methodology, provisional flagging, and exclusion from headline ranking. No contradictions with readOnlyHint=true.
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 two sentences that front-load the purpose and then provide additional details. Every sentence is informative and efficiently written.
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 output schema, the description covers key aspects like the ranking nature, filtering options, and handling of provisional programmes. It is sufficiently complete for understanding the tool's function.
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 description mentions filtering by type (CBI/RBI) and limit, adding some semantic context to the input schema. However, it does not specify defaults or whether parameters are required, and with 0% schema coverage, more detail would be beneficial.
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 defines the tool as a composite ranking index for CBI/RBI programmes, specifying the criteria and filtering options. This effectively distinguishes it from sibling tools like list_programmes and compare_programmes.
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 explicitly state when to use this tool versus alternatives. While it mentions filtering by type and limit, it lacks guidance on scenarios where get_index is preferred over other similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_processing_timesBRead-onlyInspect
Processing-time estimate for one programme (by id) or all.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint: true, which the description does not contradict. The description adds that it can return estimates for one or all, but lacks details on behavior (e.g., caching, accuracy, response format).
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?
Single sentence with no redundancy. Slightly more could be added about the 'all' case, but it is sufficiently concise.
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 tool with one optional parameter and no output schema, the description covers the main usage. However, it lacks details on the response structure, which would be helpful given the lack of output schema.
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 0% schema description coverage, the description adds meaning by indicating that 'id' selects a specific programme, and omitting it returns estimates for all. However, no format or constraints are given.
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 returns processing-time estimates for one programme (by id) or all programmes. This distinguishes from siblings like get_programme (programme details) and list_programmes (listing all programmes), but does not explicitly differentiate.
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?
No guidance on when to use this tool vs alternatives like get_programme or list_programmes. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_programmeARead-onlyInspect
Full detail for one programme by id (e.g. "dominica-cbi","greece-gv"): routes, fees, processing, mobility, tax, path to citizenship, and the Mirabello programme page.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description need not cover safety. It adds value by listing the content returned (routes, fees, processing, etc.), providing good 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?
The description is a single sentence that efficiently conveys the tool's purpose and output content. It could be slightly restructured for readability, but it is concise and informative.
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 only one parameter, no output schema, and a simple read-only behavior, the description covers the key aspects: what it returns (categories) and the id format. It is sufficient for an agent to understand the tool's role.
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 0% on the id parameter, but the description provides concrete examples of valid id values ('dominica-cbi', 'greece-gv'), which adds meaning and clarifies the expected format.
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 retrieves full details for a single programme by id, with specific examples like 'dominica-cbi'. This distinguishes it from sibling tools such as list_programmes and compare_programmes.
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 implies use when you have a programme id and need comprehensive info, but does not explicitly state when not to use it or mention alternatives like list_programmes for discovering ids.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recent_changesARead-onlyInspect
Recent material changes across investment-migration programmes (launches, closures, threshold/mobility/regulatory changes) + current status counts. The freshest, primary-source-verified record — use for "what changed recently / latest" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the agent knows it's safe. The description adds that the record is 'freshest, primary-source-verified', providing additional reliability context beyond the annotation.
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, concise and front-loaded with key details. Every sentence adds value without 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?
The description explains the output well (recent changes + current status counts) but is incomplete because it omits explanation of the 'limit' parameter. Without output schema or further detail, the agent may not correctly shape input parameters.
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 schema has one parameter 'limit' with no description and 0% coverage. The tool description does not explain this parameter, leaving the agent uninformed about how to control result size or pagination.
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 covers recent material changes across programmes with specific examples (launches, closures, etc.) and current status counts. It includes a usage hint for 'what changed recently/latest' questions, effectively distinguishing it from siblings like list_programmes or get_programme.
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 recommends using this tool for questions about recent changes. It does not specify when not to use it, but the context of sibling tools implies this is the only change-focused tool, so the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_programmesARead-onlyInspect
List Mirabello-advised citizenship- (CBI) and residency-by-investment (RBI/golden visa) programmes, optionally filtered by type, budget, region, or max processing time.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| region | No | ||
| budget_max | No | ||
| max_processing_months | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, which description supports. Description adds filtering context but not details like pagination or data freshness. 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?
Single sentence, front-loaded with action, then filter options. 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?
Covers essential usage with optional filters. Does not mention pagination, sorting, or response format, but for a list tool with no required params and no output schema, it is adequate.
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 has 0% parameter descriptions; the description maps filter criteria to properties (type, budget to budget_max, etc.), adding meaning. However, it omits specifics like allowed region values.
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 lists programmes with specific filtering options (type, budget, region, max processing time). It uses a specific verb 'List' and identifies the resource as 'programmes', distinguishing it from siblings like get_programme.
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 hints at when to use filters but does not explicitly compare to alternatives or state when not to use this tool. It implies listing use case but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_programmesARead-onlyInspect
Recommend a ranked shortlist of programmes for a client profile (budget, family size, mobility priority, timeline, tax goal) with reasoning. Respects closed/paused programmes.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| tax_goal | No | ||
| budget_max | No | ||
| family_size | No | ||
| mobility_priority | No | ||
| timeline_max_months | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds the behavior 'respects closed/paused programmes', which is beyond annotations. This provides useful context but could mention more about response format or error handling.
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?
Two concise sentences: first explains action and inputs, second adds a behavioral caveat. No fluff, every word 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 tool with 6 parameters and no output schema, the description is adequate but incomplete. It doesn't explain the return format (e.g., how reasoning is presented) or edge cases like no matching programmes.
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 0%, but the description lists most parameters (budget, family size, mobility priority, timeline, tax goal) with context, compensating well. However, the 'type' parameter is not described, and boolean meanings are implied but not explicit.
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: recommend a ranked shortlist of programmes based on client profile inputs. It distinguishes itself from siblings like list_programmes (which merely lists) and compare_programmes (which may not rank for a profile) by emphasizing personalized ranking and reasoning.
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 implies usage for personalized recommendations but does not explicitly state when to use this tool versus alternatives like check_visa_free or list_programmes. No direct exclusions or when-not instructions are given.
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!