Thai visa rules, eligibility checks, 90-day reports, immigration offices and places to live.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Score every Thai long-stay visa (DTV, ED, retirement, O-A, LTR, Privilege, marriage, work) against a person's age, purpose, savings, income and assets, using current rules. Amounts in THB except assets in USD.
Savings available, THB
Has a job offer from a Thai employer
Investable assets, USD
Monthly income, THB
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http staylong https://staylong.co/mcp
Score every Thai long-stay visa (DTV, ED, retirement, O-A, LTR, Privilege, marriage, work) against a person's age, purpose, savings, income and assets, using current rules. Amounts in THB except assets in USD.
| Argument | Type | Description |
|---|---|---|
| age* | integer | |
| fundsThb | number | Savings available, THB |
| jobOffer | boolean | Has a job offer from a Thai employer |
| purposes* | array | |
| assetsUsd | number | Investable assets, USD |
| marriedThai | boolean | |
| incomeThbMonth | number | Monthly income, THB |
{
"type": "object",
"required": [
"age",
"purposes"
],
"properties": {
"age": {
"type": "integer",
"maximum": 110,
"minimum": 16
},
"fundsThb": {
"type": "number",
"description": "Savings available, THB"
},
"jobOffer": {
"type": "boolean",
"description": "Has a job offer from a Thai employer"
},
"purposes": {
"type": "array",
"items": {
"enum": [
"remote_work",
"study",
"retire",
"family",
"local_job",
"invest"
],
"type": "string"
},
"minItems": 1
},
"assetsUsd": {
"type": "number",
"description": "Investable assets, USD"
},
"marriedThai": {
"type": "boolean"
},
"incomeThbMonth": {
"type": "number",
"description": "Monthly income, THB"
}
}
}Get the full text of a Staylong document by id from search (e.g. 'guide:tm30-thailand', 'place:chiang-mai-nimman', 'office:phuket-town').
| Argument | Type | Description |
|---|---|---|
| id* | string |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}Find the immigration office for a Thai city, area or coordinates, with address, hours, services and tips for 90-day reports, extensions and TM30.
| Argument | Type | Description |
|---|---|---|
| lat | number | |
| lng | number | |
| city | string | City, island or area, e.g. 'Rawai' or 'Koh Phangan' |
{
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"city": {
"type": "string",
"description": "City, island or area, e.g. 'Rawai' or 'Koh Phangan'"
}
}
}List language schools, Muay Thai camps and visa agents in a Thai city with Staylong's verification status (verified, contacted, unverified).
| Argument | Type | Description |
|---|---|---|
| city | string | City slug, e.g. bangkok, chiang-mai, phuket |
| type | string | |
| verified_only | boolean |
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City slug, e.g. bangkok, chiang-mai, phuket"
},
"type": {
"enum": [
"language_school",
"muay_thai_camp",
"visa_agent"
],
"type": "string"
},
"verified_only": {
"type": "boolean"
}
}
}Current thresholds for a Thai long-stay visa (money, age, income, fees, stay length) from Staylong's live rules table, each with effective date, official source URL and confidence. Tracks: dtv, education-visa, retirement-visa, o-a-visa, ltr-visa, thailand-privilege, marriage-visa, work-visa.
| Argument | Type | Description |
|---|---|---|
| track* | string |
{
"type": "object",
"required": [
"track"
],
"properties": {
"track": {
"enum": [
"dtv",
"education-visa",
"retirement-visa",
"o-a-visa",
"ltr-visa",
"thailand-privilege",
"marriage-visa",
"work-visa"
],
"type": "string"
}
}
}List Staylong's long-stay places (neighbourhoods, towns, islands) with who each suits, cost level and immigration office. Filter by city or by what the person wants.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| kind | string |
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"kind": {
"enum": [
"neighbourhood",
"town",
"island"
],
"type": "string"
}
}
}The latest changes to Thai long-stay visa rules logged by Staylong, newest first, with dates.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
}
}
}Search Staylong's Thailand long-stay content: visa guides, rules, 150 FAQs, nationality pages, place guides, immigration offices and tools. Returns ids for the fetch tool.
| Argument | Type | Description |
|---|---|---|
| kind | string | Optional filter |
| query* | string | Natural-language query, e.g. 'DTV bank balance' or '90-day report Chiang Mai' |
{
"type": "object",
"required": [
"query"
],
"properties": {
"kind": {
"enum": [
"guide",
"visa",
"faq",
"nationality",
"place",
"immigration_office",
"tool"
],
"type": "string",
"description": "Optional filter"
},
"query": {
"type": "string",
"description": "Natural-language query, e.g. 'DTV bank balance' or '90-day report Chiang Mai'"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.