Expatslist
City guides, local business listings and Q&A for expats and newcomers in cities worldwide.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWbrowse에서
- LOWfetch에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://expatslist.org/api/mcp"
}
}
}원격 엔드포인트
https://expatslist.org/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟢list_cities
Lists the cities ExpatsList covers, with the slug every other tool expects. Use it to resolve a city name the user typed, or when the user asks which cities are available. Returns nothing else; it does not search content.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"country": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"slug",
"name",
"country",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"cities"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢city_pulse(city, days)
Recent community activity in one city: new questions, missed-connection posts, recommendations, classifieds, blog posts and businesses, grouped by type with up to five summaries each and a link to the full section. Use it for "what are people talking about in X" or "what is new in X". Limitation: only the last 1 to 90 days, and only cities from list_cities.
입력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City slug from list_cities, or a city name"
},
"days": {
"default": 14,
"description": "Look back this many days",
"type": "integer",
"minimum": 1,
"maximum": 90
}
},
"required": [
"city"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"city": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"country": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"slug",
"name",
"country",
"url"
],
"additionalProperties": false
},
"days": {
"type": "number"
},
"sections": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"question",
"human_connection",
"recommendation",
"classified",
"blog",
"business"
]
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"city": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"neighborhood": {
"type": [
"string",
"null"
]
},
"posted": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"answers": {
"type": "number"
},
"resolved": {
"type": "boolean"
},
"price": {
"type": [
"string",
"null"
]
},
"verified": {
"type": "boolean"
}
},
"required": [
"type",
"title",
"summary",
"city",
"url"
],
"additionalProperties": false
}
},
"more_url": {
"type": "string"
}
},
"required": [
"items",
"more_url"
],
"additionalProperties": false
}
}
},
"required": [
"city",
"days",
"sections"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_expatslist(query, city, type, limit)
Keyword search across business listings, classifieds, blog posts, questions, recommendations and missed-connection posts, optionally limited to one city and one content type. Use it when the user names a thing to find (a dentist, a coworking space, a topic). Returns short summaries with links; full details are on the linked page. Limitation: keyword match, not semantic; at most 10 results.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 120,
"description": "What to search for"
},
"city": {
"description": "City slug or name; omit to search all cities",
"type": "string"
},
"type": {
"default": "all",
"type": "string",
"enum": [
"all",
"businesses",
"classifieds",
"blogs",
"questions",
"recommendations",
"connections"
]
},
"limit": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"city": {
"type": [
"string",
"null"
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"question",
"human_connection",
"recommendation",
"classified",
"blog",
"business"
]
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"city": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"neighborhood": {
"type": [
"string",
"null"
]
},
"posted": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"answers": {
"type": "number"
},
"resolved": {
"type": "boolean"
},
"price": {
"type": [
"string",
"null"
]
},
"verified": {
"type": "boolean"
}
},
"required": [
"type",
"title",
"summary",
"city",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"query",
"city",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢browse(type, city, category, limit)
Newest items of one content type in one city: questions, missed-connection posts (human_connection), recommendations, classifieds, blog posts or businesses. Optional category filter. For businesses with no category it returns the category list with counts instead of items. Use it for "latest questions in X", "any missed connections in X", "show me restaurants in X". Limitation: at most 10 items per call.
입력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"question",
"human_connection",
"recommendation",
"classified",
"blog",
"business"
]
},
"city": {
"type": "string",
"description": "City slug from list_cities, or a city name"
},
"category": {
"description": "Category slug or name, e.g. housing, restaurants, visas",
"type": "string"
},
"limit": {
"default": 6,
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"type",
"city"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"question",
"human_connection",
"recommendation",
"classified",
"blog",
"business"
]
},
"city": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"question",
"human_connection",
"recommendation",
"classified",
"blog",
"business"
]
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"city": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"neighborhood": {
"type": [
"string",
"null"
]
},
"posted": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"answers": {
"type": "number"
},
"resolved": {
"type": "boolean"
},
"price": {
"type": [
"string",
"null"
]
},
"verified": {
"type": "boolean"
}
},
"required": [
"type",
"title",
"summary",
"city",
"url"
],
"additionalProperties": false
}
},
"more_url": {
"type": "string"
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"businesses": {
"type": "number"
},
"subcategories": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"slug",
"businesses"
],
"additionalProperties": false
}
}
},
"required": [
"type",
"city",
"items",
"more_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_item(type, city, slug)
One item by type, city and slug: a question with its best answer and the count of further answers, a missed-connection post, a recommendation, a classified, a blog post or a business listing. Use it after a search or browse result when the user wants more on one item. Limitation: text is a summary of up to about 600 characters; contact details are never included and are on the linked page.
입력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"question",
"human_connection",
"recommendation",
"classified",
"blog",
"business"
]
},
"city": {
"type": "string",
"description": "City slug from the result, or \"global\" for blog posts without a city"
},
"slug": {
"type": "string",
"description": "The slug at the end of the item url"
}
},
"required": [
"type",
"city",
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"question",
"human_connection",
"recommendation",
"classified",
"blog",
"business"
]
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"city": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"neighborhood": {
"type": [
"string",
"null"
]
},
"posted": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"answers": {
"type": "number"
},
"resolved": {
"type": "boolean"
},
"price": {
"type": [
"string",
"null"
]
},
"verified": {
"type": "boolean"
},
"top_answer": {
"type": [
"string",
"null"
]
},
"more_answers_on_site": {
"type": "number"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type",
"title",
"summary",
"city",
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢country_info(country, topic)
Reference numbers for one country from ExpatsList tools: digital nomad visa (requirements, income threshold, fee, duration), cost of living (rent, meals, utilities, coworking for up to five cities), healthcare (system, costs, English availability), tax (system, residency days, social security), safety (scores, risks, emergency number) or tipping (rates by service). Use it for factual questions about a country. Limitation: one country and one topic per call; figures are indicative and the linked page has the full table and sources.
입력 스키마
{
"type": "object",
"properties": {
"country": {
"type": "string",
"minLength": 2,
"maxLength": 60,
"description": "Country name in English, e.g. Portugal"
},
"topic": {
"type": "string",
"enum": [
"nomad_visa",
"cost_of_living",
"healthcare",
"tax",
"safety",
"tipping"
]
}
},
"required": [
"country",
"topic"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"nomad_visa",
"cost_of_living",
"healthcare",
"tax",
"safety",
"tipping"
]
},
"country": {
"type": "string"
},
"data": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"url": {
"type": "string"
}
},
"required": [
"topic",
"country",
"data",
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search(query)
Connector-style search across all ExpatsList content. Returns ids for fetch. Prefer search_expatslist when you can filter by city or type.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 120
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"title",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fetch(id)
Connector-style fetch of one item by the id returned from search. Same summary as get_item.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"id",
"title",
"text",
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}커뮤니티
증거