dnv-spain
Server Details
Spain Digital Nomad Visa: eligibility check by UGE rules, sworn translators search, visa facts.
- Status
- Healthy
- Uptime
- 99.9% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
check_dnv_eligibility and get_dnv_facts both cover DNV requirements and income thresholds, creating some overlap, but one returns a personalized verdict while the other provides general reference facts. The tax estimator and sworn translator finder are clearly distinct from the DNV tools.
All tools use snake_case with a consistent verb_noun or verb_object pattern: check_dnv_eligibility, estimate_spain_taxes, find_sworn_translators, get_dnv_facts. The naming is predictable and readable.
Four tools are well-scoped for a focused Spain Digital Nomad Visa assistant. Each tool addresses a distinct area, and there is no redundant or filler tool.
The set covers eligibility, official requirements, taxes, and sworn translators, which are core DNV support workflows. Minor gaps exist around document checklists, application tracking, or appointment scheduling, but agents can work around them.
Available Tools
4 toolscheck_dnv_eligibilityAInspect
Проверяет проходимость кейса на визу цифрового кочевника (Digital Nomad Visa) в Испании по официальным правилам UGE: порог дохода с учётом семьи, стаж отношений с работодателем, маршрут подачи. Возвращает вердикт, требуемый порог и рекомендации.
| Name | Required | Description | Default |
|---|---|---|---|
| partner | No | Едет ли супруг/партнёр | |
| children | No | Сколько детей едет | |
| location | Yes | Где заявитель находится сейчас | |
| employment | Yes | Тип занятости: contractor = ИП/фрилансер с заказчиками, employee = наёмный сотрудник, company = владелец компании | |
| tenure_months | Yes | Сколько месяцев длятся отношения с текущим работодателем или основным заказчиком | |
| income_monthly_eur | Yes | Ежемесячный доход в евро |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the behavioral logic: checks income threshold with family, employment tenure, and application route, and returns a verdict with threshold and recommendations. This goes beyond a simple 'checks eligibility' and provides useful context about what the tool computes. No contradictions with annotations (none provided).
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 the main action and return information. Every sentence carries essential information: what the tool does, the criteria it checks, and what it returns. No unnecessary words or repetition.
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 adequately covers the essence: what it checks, based on official rules, and what it returns. It lacks exact output structure, but the high-level return (verdict, threshold, recommendations) is sufficient for selection. Given the moderate complexity, this is a good level of completeness.
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 adds some context by linking income threshold to family and mentioning tenure and route, but it does not add specific details about each parameter beyond what the schema already provides. Since the schema is well-documented, the description's additional semantic value is marginal.
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 a specific verb+resource: 'Проверяет проходимость кейса' (checks the case passability) for the Digital Nomad Visa in Spain. It clearly distinguishes from siblings by focusing on eligibility assessment rather than finding translators or getting general facts. Also explicitly states what it returns (verdict, threshold, recommendations).
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 clearly implies when to use this tool: when you need to check eligibility under UGE rules. It mentions specific criteria (income threshold, tenure, submission route) which indicates the context. However, it does not explicitly mention alternatives or when not to use, so it misses the 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_spain_taxesAInspect
Оценивает налоги в Испании за 2026 год: IRPF по общему режиму (государственная и региональная шкалы всех 17 автономий плюс Страна Басков и Наварра, личные и семейные минимумы, региональные вычеты), режим Бекхэма (24%), вариант нерезидента IRNR и взносы (Seguridad Social или RETA для autónomo). Возвращает налог, взносы, чистый доход в год и в месяц, рекомендуемый режим и полный разбор.
| Name | Required | Description | Default |
|---|---|---|---|
| region | Yes | Регион проживания | |
| partner | No | Есть супруг или партнёр | |
| employment | Yes | employee_foreign = наёмный с работодателем за пределами Испании (без испанских взносов), employee_spain = наёмный с испанским работодателем, autonomo = самозанятый | |
| arrival_year | No | Год переезда в Испанию (для проверки режима Бекхэма); не указывать, если живёт давно | |
| children_ages | No | Возраст каждого ребёнка на иждивении | |
| joint_declaration | No | Совместная декларация | |
| rent_paid_eur_year | No | Аренда жилья за год (для региональных вычетов) | |
| gross_income_eur_year | Yes | Доход брутто за год в евро (для autónomo: ingresos) | |
| partner_income_eur_year | No | Доход партнёра за год | |
| autonomo_first_two_years | No | Первые два года деятельности autónomo (скидка 20%) | |
| autonomo_expenses_eur_year | No | Расходы деятельности autónomo за год |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden, and it does well: it states the tool returns tax, contributions, net yearly and monthly income, a recommended regime, and a full breakdown. There is no output schema, so this return-value detail is valuable. It does not claim side effects or permissions, which is acceptable for a computation tool, but adds no explicit statement of being a read-only calculation.
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 dense paragraph, front-loaded with the resource and scope, then the regimes, then outputs. It is long but every clause maps to a real capability of an 11-parameter tool, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 11-parameter calculation tool with no output schema, the description successfully explains both the covered regimes and the returned values. The main missing piece is any explicit indication that this is a non-mutating estimate rather than a filing action, but overall it gives an agent enough to call 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 description coverage is 100%, so the schema fully documents all 11 parameters (including the enum meanings for employment and region), making the baseline 3 appropriate. The description implies which inputs drive which regimes (e.g. arrival_year for Beckham) but adds no syntax or format detail beyond 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?
Specific verb (estimates/Оценивает) plus an exact resource and scope (Spain taxes for 2026), enumerating the regimes covered: IRPF general, all 17 autonomous communities plus País Vasco/Navarra, Beckham regime, IRNR non-resident, and Social Security/RETA contributions. This is unmistakably distinct from the DNV/translator 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?
The description details the scenarios it handles (employee in/outside Spain, autónomo, Beckham-eligible via arrival_year), which implicitly signals when it applies, but it never states explicitly when to use it versus another tool or what inputs make it unsuitable. Usage is inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_sworn_translatorsAInspect
Ищет присяжных переводчиков (traductores jurados) из официального реестра МИД Испании по языку и провинции. Только такие переводы принимаются UGE и консульствами.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Сколько вернуть (максимум 20) | |
| language | Yes | Язык документа по-русски (например: Русский, Украинский, Английский) или по-испански заглавными (RUSO, INGLES) | |
| province | No | Провинция Испании (необязательно), например MADRID или BARCELONA |
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 adds behavioral context by specifying the official registry as the source and the acceptance by UGE/consulates. However, it omits return format, pagination, or edge cases, which is a notable 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?
The description is two sentences, front-loaded with the core purpose and followed by a single contextual statement. 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?
The tool is a simple finder with well-documented parameters and no output schema. The description covers purpose, source, and significance concisely. While it does not specify the return structure, the output is predictable from the tool name and purpose; a bit more detail on returned fields would push it to 5.
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 already describes all three parameters with 100% coverage. The description only restates that filtering is by language and province, adding no new parameter details. Baseline 3 is appropriate because the schema carries the load.
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 the specific verb 'Ищет' (finds), names the resource ('присяжных переводчиков' / sworn translators), identifies the official source ('официального реестра МИД Испании'), and specifies criteria ('по языку и провинции'). This cleanly distinguishes it from the sibling tools, which focus on DNV eligibility and facts.
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 context by noting that only these sworn translations are accepted by UGE and consulates, signaling why a user would need this tool. It does not state explicit when-not-to-use rules, but the sibling tools have clearly unrelated purposes, so ambiguity is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dnv_factsAInspect
Возвращает актуальные требования визы цифрового кочевника Испании: пороги дохода, сроки, маршруты подачи, правила апостиля.
| 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 burden of disclosing behavior. It states the tool returns current requirements and specifies the domains covered, which gives a clear sense of what to expect. It does not describe output format or limitations, but for a zero-parameter fact retrieval tool, this is adequate.
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, front-loaded sentence with a clear verb and specific enumerations. Every word adds value; no redundant phrasing.
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 simplicity (no parameters, no output schema), the description covers the key aspects: what it does and what content categories are included. It could mention explicitly that it's not a personalized eligibility check, but that is tangential to the fact-retrieval purpose.
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 no parameters, and the schema is empty. The baseline for zero parameters is 4; the description adds context about the returned content, which is not parameter-related.
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 current requirements for Spain's digital nomad visa, enumerating specific content areas (income thresholds, timelines, filing routes, apostille rules). This differentiates it from siblings like check_dnv_eligibility and find_sworn_translators.
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 makes the tool's use case clear: to obtain up-to-date visa requirement facts. It does not explicitly mention alternatives or exclusions, but the context is unambiguous; the sibling tools' names imply different purposes, so no confusion arises.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
estimate_spain_taxes
3 tool updates
- First observed
check_dnv_eligibility - First observed
find_sworn_translators - First observed
get_dnv_facts
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.
Field-tested Spanish immigration gotchas, procedure guides, and live Madrid padrón availability.
- SonasOAuthwork.sonas
AI-powered candidate profiles for foreign professionals in Spain and Europe.
Related MCP Servers
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- AlicenseAqualityCmaintenanceProvides access to official Spanish fiscal data and tools based on AEAT and BOE sources, covering income tax, VAT, and regional deductions. It enables AI assistants to answer tax-related queries and verify filing deadlines using verified information.108 npm13MIT
- 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
- AlicenseNot gradedqualityBmaintenanceCompany data for Spain, France, the UK, Ireland and Poland — registry, KYB and sanctions.189 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.