Tourism Server
БесплатноНе проверенEnables searching for national-standard scenic areas, rural tourism villages, accommodations (including restaurants, guesthouses, and starred hotels), and outbo
Описание
Enables searching for national-standard scenic areas, rural tourism villages, accommodations (including restaurants, guesthouses, and starred hotels), and outbound travel agencies, with filtering by region, category, and business status.
README
该MCP服务提供国标景区搜索与详情、文旅规划明细、乡村旅游重点村镇、餐饮民宿、星级饭店和出境游旅行社查询功能。
主要功能
- 🏞️ 国标景区搜索
- 📋 国标景区详情(面积、特色、景点、文化价值和运营主体)
- 🗺️ 文旅规划明细(项目、建设规模、最新进展和相关单位)
- 🏡 乡村旅游重点村镇搜索
- 🏨 餐饮民宿与星级饭店搜索
- ✈️ 出境游旅行社搜索
环境要求
- Python 3.10+
- 依赖包:python-dotenv, requests, mcp
本地快速启动
1. 克隆项目
git clone https://github.com/handaas/tourism-mcp-server
cd tourism-mcp-server
2. 创建虚拟环境&安装依赖
python -m venv mcp_env && source mcp_env/bin/activate
pip install -r requirements.txt
3. 环境配置
复制环境变量模板并配置:
cp .env.example .env
编辑 .env 文件,配置以下环境变量:
INTEGRATOR_ID=your_integrator_id
SECRET_ID=your_secret_id
SECRET_KEY=your_secret_key
HANDAAS_REQUEST_TIMEOUT=30
4. streamable-http启动服务
python server/mcp_server.py streamable-http
服务将在 http://localhost:8000 启动,MCP 地址为 http://127.0.0.1:8000/mcp。
支持启动方式 stdio 或 sse 或 streamable-http
5. Cursor / Cherry Studio MCP配置
{
"mcpServers": {
"tourism-mcp-server": {
"type": "streamableHttp",
"url": "http://127.0.0.1:8000/mcp"
}
}
}
STDIO版安装部署
设置Cursor / Cherry Studio MCP配置
{
"mcpServers": {
"tourism-mcp-server": {
"command": "uv",
"args": ["run", "mcp", "run", "{workdir}/server/mcp_server.py"],
"env": {
"PATH": "{workdir}/mcp_env/bin:$PATH",
"PYTHONPATH": "{workdir}/mcp_env",
"INTEGRATOR_ID": "your_integrator_id",
"SECRET_ID": "your_secret_id",
"SECRET_KEY": "your_secret_key"
}
}
}
}
使用官方Remote服务
当前服务暂未开放官方 Remote 地址。请使用本地 stdio、sse 或 streamable-http 方式运行;官方 Remote 地址开放后将在本节补充配置。
注意:integrator_id、secret_id、secret_key及Remote token需要登录 https://www.handaas.com/ 进行注册开通平台获取
可用工具
推荐查询流程
- 用
tourism_scenic_area_search搜索国标景区,或用tourism_countryside_search搜索乡村旅游重点村镇,获取结果中的taId并原样传给后续工具。2026-09-07 实测两类搜索均已返回taId;旧版搜索接口文档中的_id为记录ID,以实际返回字段为准。 - 将国标景区ID作为
taId传给tourism_scenic_area_detail,查询景区详细信息。 - 将国标景区或乡村旅游景区ID作为
taId传给tourism_planning_list,分页查询规划明细。
景区ID应取自搜索接口实际返回的数据,不使用景区名称或运营主体的 nameId 代替。若搜索结果没有可用景区ID,应提示缺少关联标识,不猜测ID。
已实测通过“国标景区搜索 → 景区详情”及“乡村旅游搜索 → 文旅规划”的 taId 关联链。
1. tourism_scenic_area_search
功能: 国标文旅景区搜索
参数:
taName(可选): 景区名称,支持模糊搜索taCategory(可选): 景区类别taProvince(可选): 省份短名,例如北京、广东taCity(可选): 城市taBatchNumber(可选): 评定批次pageIndex(可选): 页码pageSize(可选): 每页条数,默认10,最大10
返回值:
total: 景区总数resultList: 景区列表taId: 景区ID(2026-09-07 实测返回),用于后续详情和规划查询_id: 景区记录ID(本地搜索文档字段),用于后续详情/规划查询的taIdtaName: 景区名称taCategory: 景区类别taProvince: 省份taCity: 城市taRegion: 区县taEvaluationYear: 评定年份taPublishDate: 发布日期taOperatingEntity: 运营主体taAddressValue: 地址taBatchNumber: 批次号
2. tourism_countryside_search
功能: 乡村旅游重点村镇搜索
参数:
taName(可选): 村镇名称taBatchNumber(可选): 入选批次taProvince(可选): 省份taCity(可选): 城市pageIndex(可选): 页码pageSize(可选): 每页条数,默认10,最大10
返回值:
total: 村镇总数resultList: 重点村镇列表taId: 景区ID(2026-09-07 实测返回),用于后续规划查询_id: 村镇记录ID(本地搜索文档字段),用于后续规划查询的taIdtaName: 村镇名称taBatchNumber: 批次号taLicenseNumber: 证号taProvince: 省份taCity: 城市taRegion: 区县taEvaluationYear: 评定年份taPublishDate: 发布日期
3. tourism_accommodation_search
功能: 餐饮民宿与星级饭店搜索
参数:
taName(可选): 名称,支持模糊搜索taType(可选): 旅宿类型address(可选): 地区,多级值用“省份,城市,区县”表示foundTimeBegin/foundTimeEnd(可选): 成立日期区间regCapitalMin/regCapitalMax(可选): 注册资本区间,单位万元operStatus(可选): 经营状态pageIndex(可选): 页码pageSize(可选): 每页条数,默认10,最大10
返回值:
total: 旅宿总数resultList: 旅宿及运营企业列表taName: 旅宿名称taType: 旅宿类型taLicenseNumber: 证号name: 运营企业名称nameId: 企业主体IDlegalRepresentative: 法定代表人foundTime: 成立时间regCapital: 注册资本address: 注册地址operStatus: 经营状态
4. tourism_travel_agency_search
功能: 出境游旅行社搜索
参数:
taName(可选): 旅行社名称address(可选): 地区,直辖市使用上海、北京等短名foundTimeBegin/foundTimeEnd(可选): 成立日期区间regCapitalMin/regCapitalMax(可选): 注册资本区间,单位万元operStatus(可选): 经营状态pageIndex(可选): 页码pageSize(可选): 每页条数,默认10,最大10
返回值:
total: 旅行社总数resultList: 旅行社及运营企业列表taName: 旅行社名称englishName: 英文名称taLicenseNumber: 许可证号name: 企业名称nameId: 企业主体IDlegalRepresentative: 法定代表人regCapital: 注册资本annualTurnoverAlgValue: 年营业额businessTags: 业务标签operStatus: 经营状态
5. tourism_scenic_area_detail
功能: 国标景区详情
数据产品ID: 6a98ec3fcc51ed421bf06fa2
参数:
taId(Schema 可选,实际调用请传入): 景区ID,来自tourism_scenic_area_search的实际搜索结果。按 PDF 文档保留可选性,但 2026-09-07 实测省略时上游返回21008 参数错误;MCP 会保留该错误,不伪造成功结果。
返回值:
total: 详情记录数,空结果为0resultList: 将上游详情对象包装为列表,保留原始字段与嵌套结构taName: 景区名称taLandArea/taBuildingArea: 占地面积 / 建筑面积,字符串原值;接口文档未注明单位,不推断或自动换算taFeatures: 核心特色taAttractions: 主要设施/景点,字符串列表taCultureValues: 文化价值taIntroduction: 简介taAddress: 地址对象,含province(省)、city(市)、district(区)、value(具体地址)taCategory: 景区类型taBatchNumber: 等级批次taOperatingEntity: 运营主体列表,每项含nameId(运营主体ID)和name(运营主体名称)
说明: 此接口无分页参数;不得把景区详情中的嵌套列表拆成多条景区记录。
6. tourism_planning_list
功能: 文旅规划明细
数据产品ID: 6a995506a96d8a6e55377905
参数:
taId(必填): 景区ID,来自tourism_scenic_area_search或tourism_countryside_search的实际搜索结果,不接受空字符串pageIndex(可选): 页码,默认1,最小1pageSize(可选): 每页条数,默认10,最大10,最小1
返回值:
total: 规划记录总数,保留上游总数而非当前页条数resultList: 规划记录列表,保留原始字段taPlanningType: 类别taPlanningName: 项目名称taPlanningDesc: 建设内容与规模taPlanningNews: 最新进展taPlanningCompany: 相关单位
说明: pageSize 超过10、页码小于1或 taId 为空时返回参数错误,不调用上游接口。空页或空结果仅表示本次接口未返回规划数据,不能据此断言景区不存在或没有规划。
使用注意事项
- Tool选择: 景区、重点村镇、旅宿和旅行社分别使用对应 Tool,不混用筛选参数。
- 地区格式: 旅宿多级地区使用英文逗号分隔,景区和直辖市筛选按 Tool 说明使用短名。
- 区间校验: 成立日期和注册资本下限不能大于上限。
- API限制: 分页查询一页最多获取10条数据。
- 合法空结果: 未命中时返回
total=0和resultList=[]。 - 详情与规划: 景区详情不分页;规划查询需传入景区ID。面积等未声明单位的字段保留原值,不自行推断。
使用提问示例
tourism_scenic_area_search (国标文旅景区搜索)
- 搜索北京名称中包含“故宫”的景区
- 查询杭州的国标景区
- 查看指定批次评定的景区名单
tourism_countryside_search (乡村旅游重点村镇搜索)
- 查询浙江省的乡村旅游重点村镇
- 搜索名称中包含“村”的重点村镇
- 查看某一批次入选的重点村镇
tourism_accommodation_search (餐饮民宿与星级饭店搜索)
- 查找杭州正在经营的民宿
- 查询上海的星级饭店及运营企业
- 搜索注册资本超过1000万元的旅宿企业
tourism_travel_agency_search (出境游旅行社搜索)
- 查询上海的出境游旅行社
- 搜索名称中包含“旅行社”的企业
- 查看北京存续状态的出境游旅行社
tourism_scenic_area_detail (国标景区详情)
- 先搜索故宫景区,再查询其核心特色、主要景点和文化价值
- 根据刚查到的景区ID,查看景区地址及运营主体
- 查询指定国标景区的占地面积、建筑面积和简介,保留接口原始单位表达
tourism_planning_list (文旅规划明细)
- 搜索某个国标景区,查询其文旅规划项目名称和建设规模
- 根据乡村旅游重点村镇搜索结果中的景区ID,查看规划最新进展和相关单位
- 继续读取该景区文旅规划的第2页,每页10条
测试验证
python -m py_compile server/mcp_server.py
python -m unittest discover -s tests -v
离线测试覆盖6个工具的注册与只读标记、新增接口的参数契约、Product ID 路由、详情嵌套字段、规划分页边界、空结果及上游错误透传,不需要真实凭据。
2026-09-07 验证:18 个离线测试通过;真实 MCP 检查 23 项通过 22 项,覆盖6个工具及规划分页。规划非空样本共14条,第1页10条、第2页4条;详情嵌套字段与搜索对象一致。唯一已知差异是详情省略 taId 返回 21008,与 PDF 的可选标注不一致;传入有效ID的调用链正常。
接口依据:国标景区详情_2026-09-07_15-14-48.pdf、文旅规划明细_2026-09-07_15-14-54.pdf。真实接口验证需在本地 .env 配置有效凭据并开通对应数据产品后执行,测试输出不得提交真实业务响应或凭据。
Установка Tourism Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/handaas/tourism-mcp-serverFAQ
Tourism Server MCP бесплатный?
Да, Tourism Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Tourism Server?
Нет, Tourism Server работает без API-ключей и переменных окружения.
Tourism Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Tourism Server в Claude Desktop, Claude Code или Cursor?
Открой Tourism Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Tourism Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
