尼日利亚旅游API🇳🇬
✅ 酒店。NG合作成功-整合324家酒店!
一个全面的基于FastAPI的模型上下文协议(MCP)服务器,用于尼日利亚旅游数据,覆盖全国酒店。
特性
- ✅ 酒店。NG集成: 324家酒店 尼日利亚全部36个州+FCT
- 🌍 全面覆盖全国:所有地缘政治区,113+个城市
- 💰 全价格范围:10500-140000日元(预算到超豪华)
- 🔍 高级搜索:多标准过滤(位置、价格、设施、评级)
- 🏛️ 旅游景点:尼日利亚主要目的地的优质景点
- 🏨 企业酒店API:实时可用性、定价和全面数据
- 🗺️ 区域情报:完整的地理覆盖和分析
- 🎪 活动和节日:文化活动和庆祝活动
- 📚 RESTful API:清理OpenAPI/Swagger文档
- 🤖 MCP集成:对模型上下文协议的本机支持
🚀 快速开始
1.获取API密钥(必需!)
# Register for a free account
curl -X POST "http://localhost:8000/auth/register" \
-H "Content-Type: application/json" \
-d '{"email": "your@email.com", "plan": "free"}'
# Or get demo keys instantly
curl "http://localhost:8000/auth/demo-keys"2.开始使用API
# Use your API key in the Authorization header
curl -H "Authorization: Bearer ntour_your_key_here" \
"http://localhost:8000/mcp/context/tourist_attraction/search"3.运行服务器
使用VS Code的内置任务运行器:
- 按
Cmd+Shift+P(macOS)或Ctrl+Shift+P(Windows/Linux) - 类型“任务:运行任务”
- 选择“运行尼日利亚旅游API服务器”
或手动运行:
uvicorn nigeria_tourism_mcp_server.main:app --reload --host 0.0.0.0 --port 8000🔑 API文件和定价
跑步后,请访问:
- 📚 交互式API文档: http://localhost:8000/docs
- 💰 定价计划: http://localhost:8000/auth/pricing
- 🎯 演示API密钥: http://localhost:8000/auth/demo-钥匙
- 📊 使用仪表板: http://localhost:8000/auth/usage(需要API密钥)
💰 货币化特征
🎯 定价层次
| 计划 | 价格 | 请求/天 | 功能 |
|---|---|---|---|
| 🆓 自由 | 0美元 | 1000美元 | 基本景点、社区支持 |
| 💼 基础 | 每月29美元 | 10000 | +酒店、地区、电子邮件支持 |
| ⭐ 高级 | 每月99美元 | 100000 | +实时事件、高级过滤器、优先级支持 |
| 🏢 企业 | 自定义 | 无限 | +分析仪表板、白标签、专用支持 |
🚀 潜在收入
- 目标:所有层级的175名付费用户
- 预计MRR:约15930美元/月
- 年运行率:约191160美元/年
MCP集成
添加到Claude桌面
将此服务器添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"nigeria-tourism": {
"command": "python",
"args": ["-m", "nigeria_tourism_mcp_server.mcp_server"],
"cwd": "/path/to/Nigeria_tourism_api_mcp_server"
}
}
}可用的MCP工具
search_attractions-按位置、类型或关键字查找旅游景点get_attraction_details-获取特定景点的详细信息search_hotels-按位置、价格范围或设施查找酒店get_hotel_details-获取详细的酒店信息和评论list_regions-浏览尼日利亚的州和地区get_region_info-获取全面的区域信息search_events-查找即将举行的活动和节日get_event_details-获取详细的事件信息
API终点
旅游景点
GET /mcp/context/tourist_attraction/search-搜索景点GET /mcp/context/tourist_attraction/{id}-获取景点详细信息POST /mcp/context/tourist_attraction-添加新景点(管理员)
酒店
GET /mcp/context/hotel/search-搜索酒店GET /mcp/context/hotel/{id}-获取酒店详细信息POST /mcp/context/hotel-添加新酒店(管理员)
区域
GET /mcp/context/region/list-列出所有地区GET /mcp/context/region/{id}-获取地区详细信息
事件
GET /mcp/context/event/search-搜索事件GET /mcp/context/event/{id}-获取活动详细信息POST /mcp/context/event-添加新事件(管理员)
📊 当前数据集(生产就绪)
🏛️ 旅游景点(10个优质地点)
- 拉各斯:国家剧院、莱基保护中心、塔法瓦·巴莱瓦广场
- 阿布贾:阿苏岩、千禧公园、尼日利亚国家清真寺
- 克罗斯河:奥布杜山度假村,克罗斯河国家公园
- 加诺:历史城墙,埃米尔宫
- 包奇:扬卡里国家公园
🏨 酒店(4家豪华酒店)
- 拉各斯:埃科酒店及套房,Wheatbaker
- 阿布贾:尼日利亚阿布贾希尔顿酒店
- 星级:4-5星,价格从中档到豪华不等
🗺️ 地区范围
- 尼日利亚7个州:拉各斯、FCT、克罗斯河、卡诺、包奇、奥贡、高原
- 5个地区:西南、中北、南南、西北、东北
- 所有36个州的完整区域数据+FCT可用
🎪 活动和节日
- 文化节日和庆典
- 艺术展览和表演
- 传统和现代活动
- 实时事件搜索功能
📈 膨胀管道
- 终极数据集就绪:已收集70+个景点、21+家酒店
- 谷歌地图集成:框架已准备好部署
- 免费数据源:维基百科,OpenStreetMap集成完成
🎉 生产状态-完成货币化堆栈
🚀 当前状态:全面运行
- API服务器:跑步http://localhost:8000
- 文档:可在http://localhost:8000/docs
- 认证:4层系统激活(免费/基本/高级/企业)
- 高级功能:实时提供地理定位和天气感知建议
- MCP集成:与Claude Desktop配合使用功能齐全
- 收入就绪:部署了完整的计费基础设施
✅ 实时高级功能
- 多层身份验证:带有Bearer令牌的JWT-free API密钥系统
- 地理定位服务:POST/高级/附近景点(基于半径的搜索)
- 天气集成:POST/高级/天气感知建议(实时天气)
- 智能过滤:基于天气的活动建议(室内/室外)
- 距离计算:精确的地理定位和公里测量
- 速率限制:基于计划的请求限制(1K-100K+请求/天)
- 分层费率限制:免费(1K)、基本(10K)、高级(100K)、企业(无限制)的不同配额
- 功能门:高级功能锁定在订阅层之后
- 使用情况分析:跟踪每个用户和终结点的API消耗量
💳 订阅管理
- 四层定价:免费→ 基本版(29美元)→高级版(99美元)→企业版(定制)
- 即时演示密钥:无需注册即可测试所有计划功能
- 计划升级:通过API实现无缝分层升级
- 使用仪表板:实时消耗监测
🏢 企业功能
- 分析仪表板:旅游见解、API指标、商业智能
- 白标选项:定制品牌和专用基础设施
- 实时数据:现场活动更新和容量信息(Premium+)
- 导出功能:CSV下载用于离线分析
💰 收入策略
- 免费增值模式:慷慨的免费等级,推动采用
- 清晰的价值阶梯:每一层都提供有意义的功能升级
- 企业焦点:为旅游局和大型运营商提供高价值的定制解决方案
- API-第一个:已为开发人员生态系统和第三方集成做好准备
发展
项目结构
nigeria_tourism_mcp_server/
├── __init__.py
├── main.py # FastAPI application
├── mcp_server.py # MCP server implementation
├── models/ # Data models
│ ├── __init__.py
│ ├── attractions.py
│ ├── hotels.py
│ ├── regions.py
│ └── events.py
├── api/ # API route handlers
│ ├── __init__.py
│ ├── attractions.py
│ ├── hotels.py
│ ├── regions.py
│ └── events.py
├── data/ # Sample data and database
│ ├── __init__.py
│ ├── sample_data.py
│ └── database.py
└── utils/ # Utility functions
├── __init__.py
└── helpers.py环境变量
创建一个 .env 文件:
# Server Configuration
HOST=localhost
PORT=8000
DEBUG=True
# Database
DATABASE_URL=sqlite+aiosqlite:///./nigeria_tourism.db
# API Keys (for future integrations)
GOOGLE_MAPS_API_KEY=your_key_here
WEATHER_API_KEY=your_key_here运行测试
# Install development dependencies
uv sync --group dev
# Run tests
pytest
# Run with coverage
pytest --cov=nigeria_tourism_mcp_server代码质量
# Format code
black nigeria_tourism_mcp_server/
isort nigeria_tourism_mcp_server/
# Lint code
flake8 nigeria_tourism_mcp_server/
mypy nigeria_tourism_mcp_server/部署
使用Docker
FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install -e .
EXPOSE 8000
CMD ["uvicorn", "nigeria_tourism_mcp_server.main:app", "--host", "0.0.0.0", "--port", "8000"]使用云平台
轻松部署到:
- 渲染:连接您的GitHub仓库以进行自动部署
- Heroku:使用随附的
Procfile - 铁路:零配置部署
- AWS Lambda:使用Mangum进行无服务器部署
未来的增强功能
- \[\]实时天气数据集成
- \[\]谷歌地图集成导航
- \[\]用户评论和评分系统
- \[\]使用过滤器进行高级搜索
- \[\]图像上传和管理
- \[\]身份验证和用户管理
- \[\]缓存层可提高性能
- \[\]利率限制和API配额
- \[\]监控和分析
贡献
- 复刻仓库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
如有疑问或支持:
- 在GitHub上打开一个问题
- 联系开发团队
- 请查看以下文档 docs/
