🧩 ODBus MCP服务器
MCP(模型上下文协议)服务器 MCP开发者挑战赛. 它通过一组工具公开了一个公共LODE数据集(开放商业数据库-加拿大统计局),这些工具可通过MCP连接器直接在ChatGPT中访问。
______________________________________________________________________
🚀 MCP服务器URL(SSE端点)
可通过与MCP协议兼容的SSE端点访问此服务器:
➡️ https://next-odbus-mcp-server.vercel.app/api/sse
主管可以通过以下方式将此服务器添加到ChatGPT:
设置→ 开发者工具→ 模型上下文协议→ 添加服务器→ 服务器URL→ https://next-odbus-mcp-server.vercel.app/api/sse
______________________________________________________________________
📘 项目描述
本项目展示了一组MCP工具,用于:
- 采访加拿大公司
- 按省、市、地区、NAIC等过滤数据集。
- 生成汇总统计数据
- 查看ODBUS数据集的完整元数据
源数据集是GitHub上托管的公共lode CSV文件。
______________________________________________________________________
📚 使用的数据集:ODBUS(开放商业数据库)
服务器基于公共数据集:
开放式企业数据库(ODBus) 资料来源:加拿大统计局——数据探索与整合实验室(DEIL)
数据集包含:
- 约100万家协调企业
- 姓名、地址、城市、省
- 衍生NAICS+NAICS源
- 部门、状态、数据源
- 地理坐标
- LODE标准化字段
该数据集在加拿大开放政府许可下提供。
______________________________________________________________________
🧩 可用MCP工具列表
以下是通过以下方式公开的工具的完整列表: tools/list.
______________________________________________________________________
🔍 1.描述数据集
说明: 返回ODBUS数据集的完整元数据:字段、源、结构、卷、数据质量、地理覆盖、许可证、技术说明。
输入: 无 输出: 格式化JSON块(类型:“文本”)。
______________________________________________________________________
🔎 2.搜索_业务
说明: 按名称、城市、地址或描述搜索公司。 支持每个省的可选过滤器。
论据:
query(字符串,必填项)province(字符串,可选)limit(数量,可选,最多100)
使用示例:
- “在魁北克寻找名为Bakery的企业”
- “搜索温哥华的餐馆”
______________________________________________________________________
📊 3.统计
说明: 返回有关数据集的全局聚合统计信息:
- 各省分布
- 按部门分配
- 分发NAICS(2位数字)
- 唐尼斯四人分配
- 全球概览
论据:
breakdown_by: "province" | "sector" | "naics" | "provider" | "all"
______________________________________________________________________
🗺️ 4.过滤\_ \_省份
说明: 返回一个省的所有企业+详细统计数据:
- 最具代表性的城市
- 主导部门
- NAICS主导者
- 企业状况
- 公司的例子
论据:
province(字符串,必填项)sample_size(数量,可选,最多50个)
______________________________________________________________________
🏢 5.过滤器_扇区
说明: 按经济部门(如零售、食品、建筑)筛选。 可以与每个省的一个过滤器组合。
论据:
sector(字符串,必填项)province(字符串,可选)limit(数量,可选,最多100)
______________________________________________________________________
🧾 6.查找\_ _ naics
说明: 按NAICS代码搜索(2-6位数字)。 党派研究支持:“72”=住宿和餐饮服务。
论据:
naics_code(字符串,必填项)province(字符串,可选)limit(数量,可选,最多100)
______________________________________________________________________
🏙️ 7.过滤器_城市
说明: 列出并分析给定城市的所有企业。 返回主导行业+公司列表。
论据:
city(字符串,必填项)limit(数量,可选,最多100)
______________________________________________________________________
🔧 技术实施
🔹 框架:
Next.js 14——路由处理程序(app/api/sse/route.ts)
🔹 支持的MCP协议:
initializenotifications/initializedtools/listtools/callresources/listresources/read
🔹 答复格式:
所有响应均符合MCP结构:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{ ... }"
}
]
}
}🔹 数据集加载:
- 从GitHub加载CSV(lode格式)
- 解析到内存中的可操作数据
- 通过BusinessService()转换互联网
______________________________________________________________________
🧪 ChatGPT中的服务器测试(监控器说明)
- 打开 ChatGPT (GPT-4.1、GPT-4o或GPT o-mini)
- 进去 设置→ 开发者工具→ MCP
- 点击 添加服务器
- 输入:
https://next-odbus-mcp-server.vercel.app/api/sse- 然后,服务器将显示在可用工具列表中。
- 测试工具,例如:
Call tool → describe_dataset或者简单地问:
“使用MCP服务器查找阿尔伯塔省的5家建筑企业。”
______________________________________________________________________
📩 联系
如有任何问题或意见,请通过项目的GitHub存储库与我联系。
