Expatriator Immigration Knowledge
Server Details
Field-tested Spanish immigration gotchas, procedure guides, and live Madrid padrón availability.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
4 toolscheck_madrid_padron_availabilityAInspect
Live check of Madrid Ayuntamiento padrón (empadronamiento) appointment availability via the official portal. Returns open offices and timeslots when available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It discloses it is a live check via the official portal (external dependency) and that it returns data 'when available', but it does not mention failure modes (timeouts, portal outages), what happens when no appointments exist, latency expectations, or whether results are cached. For a tool with no annotation support, this is a significant gap.
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 zero waste. The primary action and scope are front-loaded, and the return value is stated in the second sentence. 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?
The tool is extremely simple (no parameters, no output schema), so the description covers the essential purpose and return value (open offices and timeslots). It lacks explicit handling of error cases or no-availability scenarios, but given the minimal complexity, a 4 is reasonable—it is almost complete, missing only failure-mode details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to document. Per the baseline rule for 0-parameter tools, a 4 is appropriate; the description does not need to add parameter semantics that do not 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 verb 'check' plus the specific resource 'Madrid Ayuntamiento padrón (empadronamiento) appointment availability' gives a precise, actionable purpose. It clearly distinguishes from siblings (procedure guides, knowledge search) by being a live operational check rather than a documentation/information tool.
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 states it is a 'live check' and returns open offices and timeslots, which clearly implies when to use it (when you need to know appointment availability). It does not explicitly exclude alternatives or name siblings, but the sibling names (get_procedure_guide, list_procedure_guides, search_immigration_knowledge) are obviously distinct, making context clear without explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_procedure_guideAInspect
Get a step-by-step guide for a Spanish procedure (booking portals, documents needed, common problems). Use list_procedure_guides for valid codes.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Guide language (default en) | |
| procedure | Yes | Procedure code, e.g. padron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only retrieval (getting a guide) and mentions the content type, but does not disclose potential errors for invalid codes, return format, or any side effects. The mention of using list_procedure_guides hints at a prerequisite but stops short of explicit behavioral detail. Adequate given simplicity, but not rich.
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 zero waste. The purpose is front-loaded, and the sibling routing is stated succinctly. 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 simple retrieval tool with only two parameters, no nested objects, and no output schema, the description explains the return (a step-by-step guide) and gives actionable guidance for codes. It does not mention error behavior or output formatting, but these are not critical for a simple read tool. Missing a bit of depth but 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 coverage is 100%, so both parameters (language, procedure) are documented. The description adds value by illustrating the procedure parameter with an example ('padron') and contextualizing the guide content, but it does not go beyond schema meaning significantly. Baseline 3 is appropriate as the schema 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 verb 'Get' and the resource (step-by-step guide for a Spanish procedure), specifies the content areas (booking portals, documents needed, common problems), and explicitly distinguishes itself from list_procedure_guides by directing users there for valid codes. This makes the tool's purpose unmistakable even among 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?
It explicitly instructs when to use list_procedure_guides ('for valid codes'), providing a clear alternative for code lookup. While it does not mention the other siblings (check_madrid_padron_availability, search_immigration_knowledge), the primary use case is well-defined and the most relevant alternative is named. Slightly incomplete but strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_procedure_guidesAInspect
List the step-by-step Spanish procedure guides Expatriator can provide (procedure code, name, provinces covered).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'List', and it specifies the output fields. However, it does not explicitly state that it makes no modifications, or mention any performance, paging, or error behavior. The description is adequate but not rich, scoring a 3.
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?
A single, well-structured sentence that front-loads the action and resource, then lists the exact fields returned. No fluff, every word contributes to understanding the tool's purpose.
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 zero-parameter listing tool with no output schema, the description is complete: it tells what is listed and what attributes each item has. It doesn't specify the format or ordering, but that isn't critical for a simple list. It could mention that this is the entry point to obtain a specific guide via get_procedure_guide, but overall it's sufficient.
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 tool has zero parameters, so the baseline is 4. The empty schema means no parameter documentation is needed, and the description doesn't mention any parameters, which is appropriate. Nothing is missing here.
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 states a specific verb ('List') and a specific resource ('step-by-step Spanish procedure guides Expatriator can provide') with explicit output fields (procedure code, name, provinces covered). It clearly differentiates from siblings like get_procedure_guide (which fetches a single guide) and search_immigration_knowledge (which searches broader knowledge).
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 conveys when to use it: to obtain an overview of available procedure guides. While it doesn't explicitly name alternatives or state when not to use it, the zero-parameter nature and the list verb make the context clear. A direct pointer to get_procedure_guide for fetching a specific guide would be an improvement, but the tool's simplicity lowers the need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_immigration_knowledgeAInspect
Search Expatriator's curated immigration knowledge base of gotchas — "the official guidance says X but reality is Y" — with severity levels and workarounds. Covers Spain (deepest), Portugal, and general immigration pitfalls.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 5, max 20) | |
| query | No | Natural-language search query | |
| country | No | ISO country code filter, e.g. ES, PT | |
| severity | No | Minimum severity to return | |
| procedure | No | Procedure filter, e.g. nationality, tie_renewal, nie, padron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the content type (gotchas, workarounds, severity levels) and geographic coverage (Spain, Portugal, general), which is genuinely informative. However, it does not explicitly declare read-only behavior or any side effects (e.g., that it performs no mutations), which is a minor gap for a search tool.
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 core value proposition (search gotchas) is front-loaded, followed by key details (severity, workarounds, coverage). Every phrase earns its place, and the structure is easy to scan quickly.
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 5 parameters are all schema-described and the domain is clear, the description conveys the essential scope and content. Since there is no output schema, it would benefit from briefly describing the return format (e.g., a list of gotcha items with severity and workaround fields), though it does hint at that via 'severity levels and workarounds'. Adequate but not exhaustive.
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?
All five parameters are fully documented in the schema (100% coverage), so the description adds little semantic value beyond what the schema already provides. Mentioning 'severity levels' aligns with the severity parameter but does not elaborate on filtered behavior or value syntax, meeting the baseline for schema-covered 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 identifies the specific resource (Expatriator's curated immigration knowledge base), the action (search), and the distinctive content ('gotchas' with severity levels and workarounds). It differentiates itself from siblings like get_procedure_guide by emphasizing real-world pitfalls rather than official procedures, making its purpose unambiguous.
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 this is the tool for finding documented immigration gotchas, but it never explicitly contrasts it with siblings like get_procedure_guide or list_procedure_guides. An agent must infer when to choose this over a step-by-step guide; no explicit when/when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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!
Related MCP Connectors
AI legal copilot for foreigners in Spain: immigration and housing rental, cited to Spanish law.
Spain legal MCP for visas, residency, Beckham Law, NIE/TIE, nationality, tax, tools, and handoff.
Spain Digital Nomad Visa: eligibility check by UGE rules, sworn translators search, visa facts.
Guest check-in, SES.HOSPEDAJES status, and booking creation for Spanish vacation rentals. No PII.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceThe first fiscal MCP server for Spain, connecting AI agents to live IAE, CNAE 2025, AEAT tax-form, and RETA data from official sources.MIT

Departi MCP Serverofficial
AlicenseAqualityBmaintenanceTravel compliance and trip planning for digital nomads — visa requirements, tax residency analysis, Schengen 90/180-day tracking, and curated accommodation, transport, and experience search across 189 European destinations.7MIT- AlicenseNot gradedqualityCmaintenanceAccess Spain public procurement tender notices from PLACSP without API keys.14MIT
- AlicenseAqualityDmaintenanceMCP server for querying Spanish government open data APIs including grants, legislation, company registry, statistics, and open data catalog. Enables LLMs to access Spanish public information on-the-fly.265MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct function: checking appointment availability, retrieving a specific guide, listing available guides, and searching the knowledge base. There is no overlap or ambiguity in their purposes, making it easy for agents to select the right tool.
All tool names follow a clear verb_noun pattern with snake_case: check, get, list, search. The naming is predictable and consistent, even the longer check_madrid_padron_availability adheres to the same structure.
With 4 tools, the surface is well-scoped for a specialized immigration knowledge server. Each tool provides clear value without redundancy, and the count is neither sparse nor overwhelming.
The tool set covers the server's stated purpose: checking live availability, accessing detailed procedural guides, enumerating available guides, and searching the knowledge base for pitfalls. There are no obvious gaps that would leave agents unable to accomplish common tasks.