关于 Toronto Open Data MCP Server
Toronto Open Data MCP Server 通过 CKAN API 为 LLM Agent 提供多伦多公共数据集访问。它结合数据集发现与 API、CSV 数据获取。
主要功能
- 01搜索多伦多公共数据集
- 02获取 API 和 CSV 数据
- 03筛选、排序并选择 API 字段
- 04预览可下载的 CSV 文件
- 05查看数据集架构
适用场景
- 01查找餐厅检查相关数据
- 02按字段或筛选条件查询多伦多数据集
- 03预览可下载 CSV 文件中的数据
MCP 相关
向 MCP 客户端提供搜索和查询多伦多开放数据、查看架构以及获取或预览数据集内容的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
多伦多开放数据 MCP 服务
一个通过 CKAN API 直接访问多伦多开放数据的 MCP(Model Context Protocol)服务。该服务可帮助大模型 Agent 高效发现、浏览和查询多伦多的 500 多个公共数据集。
功能
- 🔍 智能数据集发现:通过智能建议搜索多伦多的 500 多个数据集
- 🧠 智能数据助手:自动处理 API 和 CSV 数据源
- 📊 灵活查询:支持对 API 数据集进行筛选、排序和字段选择
- 📁 CSV 支持:自动获取可下载的 CSV 数据集并提供预览
- 🤝 适合大模型使用:在需要更多上下文时,可配合网页搜索使用
- ✅ 稳健的错误处理:提供清晰的错误消息和可执行的建议
安装
选项 1:使用 uvx(推荐用于 MCP)
通过任何 MCP 客户端使用此服务的最简单方式:
brew install uv
# No installation needed! uvx will handle everything
# Just use in your MCP client configuration:
uvx toronto-open-data-mcp-server
选项 2:开发环境安装
-
克隆仓库:
git clone https://github.com/yourusername/toronto-open-data-mcp-server.git cd toronto-open-data-mcp-server -
安装依赖:
# Install main dependencies pip install -e . # Install test dependencies (optional) pip install -e ".[test]" -
运行服务:
python main.py
MCP 客户端配置
使用 uvx(最简单的方法)
将以下内容添加到 MCP 客户端配置中:
{
"mcpServers": {
"Toronto Open Data Server": {
"command": "uvx",
"args": ["toronto-open-data-mcp-server"]
}
}
}
配置文件位置
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - Cursor:查看 Cursor 的 MCP 文档,了解配置文件位置
- 其他 MCP 客户端:请参阅客户端文档
使用方法
快速开始
该服务提供了多个专为大模型 Agent 设计的工具:
toronto_start_here()- 解释工作流的必要首次调用toronto_search_datasets(query)- 按关键词查找相关数据集toronto_smart_data_helper(dataset_id, user_question)- 智能获取数据toronto_popular_datasets()- 快速访问常用数据集
示例工作流
# 1. Start with guidance
toronto_start_here()
# 2. Search for relevant data
toronto_search_datasets("restaurant inspection")
# 3. Get data intelligently
toronto_smart_data_helper("dinesafe", "recent restaurant inspection failures")
# 4. Advanced filtering (if needed)
toronto_query_dataset_data("dinesafe",
filters={"establishment_status": "Conditional Pass"},
sort="inspection_date desc",
limit=10)
热门数据集
dinesafe- 餐厅检查和健康评分traffic-signals- 交通信号灯位置和时序parks-facilities- 公园、游泳池和休闲设施business-licences- 多伦多的持证企业building-permits- 建筑和翻新许可证
测试
此项目包含全面的测试,涵盖单元测试、集成测试和工作流测试。
前提条件
安装测试依赖:
pip install -e ".[test]"
运行测试
快速测试命令
# Run unit tests only (recommended for development)
python run_tests.py
# Run with verbose output
python run_tests.py --verbose
# Run with coverage report
python run_tests.py --coverage
# Run integration tests (hits real Toronto API)
python run_tests.py --integration
# Run all tests (unit + integration)
python run_tests.py --all
API 参考
核心工具
toronto_start_here() -> str
必要的首次调用,用于提供工作流指南和服务功能说明。
toronto_search_datasets(query: str, limit: int = 10) -> str
按关键词搜索多伦多的数据集。
toronto_smart_data_helper(dataset_id: str, user_question: str, limit: int = 10) -> str
智能助手,可自动处理 API 和 CSV 数据源。
toronto_query_dataset_data(dataset_id: str, filters: Dict = None, fields: List = None, limit: int = 10, sort: str = None) -> str
对 API 数据集进行高级查询,包括筛选和排序。
实用工具
toronto_popular_datasets() -> str
快速访问常用数据集。
toronto_get_dataset_schema(dataset_id: str) -> str
获取 API 数据集的字段名称和类型。
toronto_fetch_csv_data(csv_url: str, max_lines: int = 50) -> str
获取并预览 CSV 文件内容。
架构
- FastMCP 框架:基于 FastMCP 框架构建,便于定义工具
- CKAN API:直接集成多伦多基于 CKAN 的开放数据门户
- 协作式设计:与网页搜索配合使用,而非取而代之
- 错误恢复:通过智能错误处理提供可执行的建议
贡献
- 复刻仓库
- 创建功能分支
- 为新功能添加测试
- 运行测试套件:
python run_tests.py --all - 提交拉取请求
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。