Access / Integration: If you want trial or integration access to the Thailand Relocation MCP (or to adapt the pattern for another destination), reach out via the contact form with a brief use case and intended channel (web, chat, internal agent). I can provision limited API / SSE credentials or a scoped prompt + tool set for evaluation.
The Thailand Relocation MCP Server converts a deep, structured knowledge base about moving and settling in Thailand into a uniform surface of AI-callable tools, resources, and prompts. Originally scoped for Dutch expats, it now serves a broader international audience planning long‑, mid‑ or exploratory stays.
🛠️Operational Use Beyond Q&A
This MCP isn’t just a question-answer backend. It actively participates in daily content maintenance, regulatory refresh cycles, assisted drafting of new blog posts & guide updates, and structured change propagation across multiple surfaces (web + chat + internal planning tools).
- Daily sync jobs pull vetted news, policy & visa rule shifts into staging JSON (human review before publish).
- Regulation diffs trigger regeneration of affected prompts & resource snapshots (e.g. fee bands, document checklists).
- Bulk content sweep tools flag stale sections (age heuristics + external signal deltas) for one‑click refresh.
- Blog & guide drafting: prompt templates invoke domain tools to assemble updated context packs before editorial polish.
- Consistency layer: one data source → multi-channel output (web pages, Telegram bot, internal planning briefs) with zero manual duplication.
Net effect: authoritative relocation intelligence stays current with hours not weeks of lag, and large-scale edits propagate reliably without copy/paste risk.
Current Deployment
Live usage today powers:
- Public multilingual assistant at settleinthailand.com
- Original Dutch-focused experience at nl2thailand.com
- Open Telegram bot for quick trials: @phad_ai_en_bot
The same MCP surface feeds these channels, enabling consistent structured reasoning (visa routes, budgeting, housing pathways, healthcare navigation) across web and chat surfaces without duplicating logic.
Integrated Real Estate Layer
This server supersedes and folds in the full real estate MCP capability set (search, comparable sizing, closing cost estimation, ownership structure guidance, due diligence checklists). It’s adapted for the Thai condo–first reality of overseas / expat acquisition (foreign quota considerations, financing pathways, risk advisories). Agent-facing tools (matching, quick plan scaffolds) and buyer guidance prompts now run on the same unified relocation data manager—so a budgeting or visa prompt can seamlessly chain into property discovery, and property context can enrich relocation or retirement planning outputs. Houses / land flows remain intentionally minimal; focus is high-quality condo intelligence and compliant ownership pathways.
New Education Domain (Aug 2025)
Added a structured education dataset powering school discovery & planning for relocating families:
- International & bilingual schools (curriculum, phases, fee bands, strengths)
- Alternative / homeschooling & online pathways
- Early childhood models (nursery, Montessori, Reggio, fee ranges)
- Higher education pathways & bridge programs
- SEN (Special Educational Needs) support centers & service taxonomy
Tools expose concise, machine-composable slices (list / detail / aggregated summary) and stable resources under thailand://education/*
. This lets a family relocation prompt stitch visa timing + budget + area + schooling fit in one chain without token bloat.
What It Does (In One Breath)
Visa routes, budget estimation, area intelligence, rentals vs. purchase planning, healthcare navigation, cultural adaptation, retirement pathways—all exposed as typed MCP tools and stable thailand://
resources the model can chain together for context-rich answers.
Why It’s Useful
- Replaces sprawling forum scraping + ad‑hoc Googling with canonical, versioned data
- Tools return structured JSON the model can reason over (not prose blobs)
- Prompt templates guide multi‑step reasoning: visa strategy, budget scenarios, rental negotiation, holistic relocation plan
- SSE transport = easy inspection (MCP Inspector, curl) + multi-client access
Surface Snapshot
- 20+ tools (e.g.
estimate_budget
,get_visa_route
,rental_quick_plan
,estimate_closing_costs
,get_area_cost_snapshot
) - 10+ prompt templates (visa strategy, budgeting, housing, healthcare, culture, composite relocation)
- Stable resources like
thailand://visa/types
,thailand://areas
,thailand://realestate/ownership
, new education endpoints (thailand://education/schools
,thailand://education/alternative
, etc.), plus parameterized templates (thailand://budget/estimate/{city}/{household}/{level}
)
Tool Catalog (Full List)
All tool identifiers exposed (logic intentionally summarized to avoid giving away proprietary composition patterns). Return types are structured JSON (never plain prose) for downstream prompt-chaining.
Visa & Legal
- get_visa_types – Catalog of visa types
- list_visa_routes – High-level route metadata
- get_visa_route – Detailed sequence / checkpoints (optional brief mode)
- get_visa_checklist – Required documents & timing (per type)
Banking & Finance
- get_banking_accounts – Account archetypes & use cases
- get_transfer_methods – FX / remittance pathways
- get_banking_tax_notes – Selected tax / compliance considerations
Budget & Cost of Living
- estimate_budget – City + household profile estimator (multi-band)
- compare_cities_multi – Cross‑city cost component comparison
- get_budget_profiles – Household archetype keys
- get_city_multipliers – Category cost multipliers (ratio form)
Rentals
- rental_quick_plan – Compressed acquisition & setup plan
- compare_rental_structures – Lease / structure pros & risks
- get_rental_process – Phase breakdown (by property type)
- get_rental_costs – Upfront + recurring components
- get_rental_risks – Risk advisories & mitigations
Real Estate Purchase
- estimate_closing_costs – Transaction cost composition estimator
- property_buying_quick_plan – Condensed acquisition timeline & due diligence focus points
- get_ownership_rules – Foreign ownership frameworks
- get_realestate_structures – Acquisition / holding structures
- get_due_diligence_checklist – Checklist per property type
Areas & Local Intelligence
- get_all_areas – Master area index
- get_area_cost_snapshot – Cost multipliers + lifestyle tags
- get_area_details – Full descriptor & amenities (parameterized)
Cultural & Language Adaptation
- get_culture_topics – Etiquette & adaptation domains
- get_language_phrases – Phrase pack by topic
Healthcare
- get_healthcare_overview – System structure & access pathways
- get_hospitals_by_city – Hospital listing + attributes filter
Education
- list_schools – International & bilingual school catalog (filtered server-side)
- get_school – Detailed school profile by slug
- summarize_school_landscape – Aggregated multi-city / area comparison snapshot
- list_alternative_education – Homeschooling & alternative models overview
- list_early_childhood_models – Early childhood care / pedagogy models & indicative fees
- list_higher_ed_pathways – Higher education program pathways
- list_sen_support_services – SEN support categories & centers
Guides & Knowledge Base
- list_guides – Structured guide index
- get_guide – Guide by slug
- search_knowledge – Cross-domain keyword semantic search
Retirement Planning
- list_retirement_visas – Retirement pathways overview
- retirement_plan – Composite retirement scenario snapshot
Relocation Composite / System
- relocation_checklist – High-level phased task list
- get_persona_profile – Relocation persona profile (scenario scaffolding)
- system_summary – Dataset + tool counts / diagnostics
- refresh_cache – Reload immutable JSON (dev / maintenance)
Prompt Catalog (Template Identifiers)
Prompt templates are pure string generators with structured section scaffolds. They orchestrate multi-tool flows; internal heuristics redacted.
Visa Strategy
- visa_strategy_overview – Primary vs alternative routes
- visa_route_comparison – Multi-route risk & requirement matrix
Banking & FX
- banking_setup_plan – Multi-account onboarding & remittance plan
- fx_optimization_brief – Transfer & timing guidance
Budget & Financial Planning
- budget_scenario_analysis – Toggle lifestyle / age / insurance bands
- multi_city_budget_compare – Ranked differential summary
Rentals & Housing
- rental_acquisition_plan – Search → negotiation → move‑in framing
- rental_negotiation_brief – Concession & counter strategy
- housing_pathways_matrix – Rent vs buy vs hybrid framing
Real Estate Risk & Due Diligence
- realestate_due_diligence_plan – Sequenced verification list
- ownership_structure_advisor – Structure suitability scoring
Area & Suitability
- area_comparison_scorecard – Weighted factor summary
- area_fit_assessment – Persona suitability narrative
Healthcare Navigation
- healthcare_navigation_brief – Access, insurance, facility strategy
- hospital_selection_prompt – Facility comparison criteria
Culture & Language
- culture_adaptation_sprint – 30‑day focus plan
- language_phrase_retention_plan – Spaced usage strategy
Retirement & Long-Term
- retirement_strategy_outline – Visa + cost + healthcare pillars
Holistic Relocation
- relocation_composite_plan – End‑to‑end phased blueprint
IP Note: Template internals (section scoring formulas, weighting heuristics, conditional inserts) intentionally not published; identifiers provided for transparency and integration clarity.
Prompt Architecture & Design Philosophy
The relocation prompt layer turns raw JSON outputs into structured, reasoning-friendly briefs the model can extend without hallucinating or drifting. Core principles:
1. Pure + Deterministic
Every prompt function is a pure template: no network calls, no time-based randomness. This guarantees reproducible shaping of tool outputs and makes test diffs meaningful.
2. Section Contracts
Each template follows a consistent scaffold (HEADER → CONTEXT SUMMARY → DATA EXTRACTS → ANALYSIS FRAMES → ACTION / NEXT STEPS). Downstream chains can target sections by heading token instead of brittle regex over free text.
3. Data Fusion Not Dumping
Prompts never paste full raw tool payloads; they compose a selective, labeled subset (e.g., top 5 cost drivers, 3 highest‑variance line items, visa gating constraints) reducing token load while keeping semantic anchors.
4. Pre-Normalized Vocabulary
Domain synonyms are collapsed earlier in the data layer (e.g., “condo quota” vs “foreign ownership allocation”) so prompts use a single canonical phrase; improves follow‑up instruction precision.
5. Lightweight Scoring Hints (Redacted Logic)
Score bands (e.g., suitability 0–5, risk low/med/high) are rendered with uniform labels; internal weighting math remains private but the output shape is stable for UI or agent consumption.
6. Chainability & Idempotence
Re‑invoking a prompt with identical arguments yields identical structured sections; subsequent enrichment steps (adding education or real estate context) append new labeled blocks instead of rewriting earlier analysis.
Prompt Categories (Deepened)
Category | Input Focus | Output Shape | Typical Follow-On Tool Calls |
---|---|---|---|
Visa Strategy | visa_type(s), profile flags | Route matrix + gating factors | checklist fetch, timeline calc |
Budget Scenario | city, household, lifestyle level | Normalized monthly band table + sensitivity notes | area snapshot, rental quick plan |
Housing / Rentals | city, property_type, budget | Acquisition phases + negotiation leverage list | rental_costs, area_cost_snapshot |
Real Estate Due Diligence | property_type, structure | Risk cluster summary + due diligence checklist header | due_diligence resource, closing_costs estimator |
Area Comparison | areas[], persona traits | Weighted scorecard + trade‑off narrative | area_details, budget estimate |
Healthcare Navigation | city, insurance posture | Access pathway + facility shortlist criteria | hospitals_by_city |
Culture / Language | topic set, timeframe | 30‑day sprint schedule + phrase focus | language_phrases |
Education (New) | city/area set, curriculum prefs | School landscape summary + shortlist rationale | list_schools, summarize_school_landscape |
Holistic Relocation | persona, time horizon | Phased integrated plan (visa→housing→schooling→budget) | any sub-domain tool |
Example (Simplified) Pattern
Pseudo-structure (abbreviated to avoid leaking internal heuristics):
RELOCATION PLAN (persona: remote family, horizon: 12m)
1. VISA STRATEGY
- Primary: Non-O (family) → extension path summary
- Alt: ED route (if schooling pivot) …
2. BUDGET SNAPSHOT (Bangkok, mid, 2 adults + 1 child)
- Core monthly THB bands: housing X – Y, education …
3. AREA SHORTLIST (filters: intl school proximity, transit)
- Ranked: AreaA (score 4.4), AreaB (4.1)… key trade-offs
4. HOUSING PATHWAY (rent-first → evaluate purchase at month 9)
5. EDUCATION OPTIONS (curriculum preference: IB)
6. RISK / WATCHLIST (regulatory, timing, quota)
7. NEXT ACTION BLOCK (week 1 tasks)
Validation & Testing Approach
- Snapshot tests assert stable section ordering / headings
- Token count guardrails (alert if expansion > threshold)
- Lint pass ensures no raw JSON blocks exceed allowed line count
Why This Matters
Well-behaved prompts shrink model deliberation overhead, reduce hallucinated entities, and create a reliable substrate for autonomous multi-step agents (e.g., “refine budget then regenerate housing plan if rent > threshold”). The structured, minimal style accelerates adaptation for new domains (education just plugged into Holistic Relocation without touching prior sections).
Future: introduce delta prompts (only emit changes since previous plan revision) to further cut token usage in iterative workflows.
🧭Example Query → Tool / Prompt Flows
Flow:
- Tool
estimate_budget
(args: city=Bangkok, household=solo, level=mid, brief=true) - Tool
get_area_cost_snapshot
(for top candidate areas derived from budget’s housing band logic) - Prompt
budget_scenario_analysis
merges normalized monthly band + variance notes - Prompt
area_comparison_scorecard
composes weighted suitability (cost, transit, lifestyle, school distance)
Flow:
- Tool
get_visa_route
(primary family visa code) - Tool
list_schools
(filters: curriculum=IB, city=Bangkok) - Tool
rental_quick_plan
(property_type=condo, budget_thb=specified) - Tool
estimate_closing_costs
(property_type=condo, property_value_thb) - Prompt
relocation_composite_plan
stitches visa timeline + schooling window + rent-first housing path + purchase evaluation milestone (month 9) + budgeting deltas
Flow:
- Tool
get_visa_route
(code=Non-O) - Tool
get_visa_route
(code=ED) - Prompt
visa_route_comparison
generates matrix (requirements, renewal friction, cost, risk flags)
Flow:
- Tool
list_schools
(filters: curriculum list + fee band) - Tool
summarize_school_landscape
(area subset) - Prompt
area_comparison_scorecard
(optional) to overlay area suitability - Prompt
relocation_composite_plan
(optional) to integrate into overall plan revision
Flow:
- Tool
estimate_closing_costs
- Tool
get_due_diligence_checklist
(property_type=condo) - Prompt
realestate_due_diligence_plan
merges cost composition + risk clusters + verification sequence
(All flows omit private weighting heuristics; sequence shows external contract only.)
Design Highlights
- Single data manager loads immutable JSON once (fast, deterministic)
- Domains separated by tool/resource/ prompt modules (easy extension)
- Pure prompts (no I/O) simplify testing & reproducibility
- Structured calculators (budget, closing costs) embedded—no external calls needed
Example Calls
# Budget snapshot (solo, Bangkok, mid)
curl -X POST http://127.0.0.1:8000/messages/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"estimate_budget","arguments":{"city":"Bangkok","household":"solo","level":"mid","brief":true}}}'
# Visa route (tourist TR-60)
curl -X POST http://127.0.0.1:8000/messages/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_visa_route","arguments":{"code":"TR-60","brief":true}}}'
Emerging Pattern
Like the broader MCP approach I outlined in the core post, this server shows how domain-normalized data + semantic tooling + guided prompts transform relocation help from generic advice into adaptive, profile-aware planning.
Road Ahead
Adding housing developer/project catalogs, richer comparative area scoring, and multi‑city scenario planners—without changing the contract surface.
Want to experiment or adapt the pattern for another country? Let’s talk.