Token导航 LogoToken导航TokenDH.com
Numbeo MCP logo
运维云端stdio官方级别未说明来源级核验

Numbeo MCP

MCP Server

Numbeo API MCP Server 是一个封装Numbeo API的服务,提供生活成本、房地产价格和犯罪率等数据,适用于城市比较和趋势分析。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
Python云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DiTo97

提供方

DiTo97

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

Numbeo API MCP服务器🌍

FastMCP服务器包装 API公司,提供有关生活成本、房价和犯罪率的数据。

建筑

此存储库包含两个Python包:

📦 numbeo-sdk

Numbeo SDK是用于Numbeo API的独立Python客户端库。它处理所有HTTP通信,并提供一个干净的接口来访问Numbeo数据。

🖥️ numbeo-mcp

Numbeo MCP服务器是一个FastMCP服务器,它将SDK功能作为MCP工具公开,具有:

  • 严格验证 使用Pydantic模式
  • 承载令牌身份验证 -客户端提供并传播到SDK的API密钥
  • 词汇资源 -解释Numbeo API术语
  • 10个MCP工具 -涵盖所有主要Numbeo端点

特性

  • 🏙️ 生活成本数据:获取城市和国家的当前和历史价格
  • 🏠 房价:获取房地产市场数据
  • 🚨 犯罪统计:检索安全和犯罪指数
  • 📊 城市指数:比较生活质量、医疗保健、交通和污染指标
  • 🏆 排名:全球和国家特定城市排名
  • 🔐 安全认证:从MCP客户端传递到SDK的API密钥

入门指南

先决条件

  • Python 3.12或更高版本
  • Numbeo API密钥(从 API公司)

安装

安装软件包:

pip install -e .

或使用紫外线:

uv sync

运行MCP服务器

启动MCP服务器:

numbeo-mcp

服务器将启动并公开10个MCP工具和一个词汇资源。

认证

MCP服务器希望API密钥由客户端通过以下方式之一提供:

  • api_key 请求元数据中的字段
  • Authorization: Bearer 头球

API密钥不由MCP服务器验证,但传播到Numbeo SDK,后者在API调用中使用它。

身份验证流程:

MCP Client → MCP Server → Numbeo SDK → Numbeo API
  (Bearer)    (propagate)   (use in query params)

可用的MCP工具

生活工具成本

get_city_cost_of_living

获取一个城市商品和服务的当前价格。

参数:

  • city (字符串,必填):城市名称(例如,“纽约”、“伦敦”)
  • country (字符串,可选):用于消除歧义的国家名称

例子:

{
  "city": "New York",
  "country": "United States"
}

get_city_cost_of_living_archive

获取历史生活成本数据以进行趋势分析。

参数:

  • city (string,必填):城市名称
  • country (字符串,可选):国家名称
  • currency (字符串,可选):货币代码(例如“USD”、“EUR”)

get_city_indices

获取包括生活成本、租金、杂货和购买力在内的综合指数。

参数:

  • city (string,必填):城市名称
  • country (字符串,可选):国家名称

get_country_prices

获取国家层面的平均价格。

参数:

  • country (string,必填):国家名称

生活质量工具

get_city_healthcare

获取医疗质量和可及性指数。

参数:

  • city (string,必填):城市名称
  • country (字符串,可选):国家名称

get_city_traffic

获取交通状况和通勤时间数据。

参数:

  • city (string,必填):城市名称
  • country (字符串,可选):国家名称

get_city_pollution

获取空气质量和环境指数。

参数:

  • city (string,必填):城市名称
  • country (字符串,可选):国家名称

安全工具

get_city_crime_statistics

获取犯罪率和安全感知指数。

参数:

  • city (string,必填):城市名称
  • country (字符串,可选):国家名称

排名工具

get_city_rankings

获取不同类别的全球城市排名。

参数:

  • section (字符串,可选,默认值:“生活成本”):排名类别

- "cost-of-living":总生活费 - "crime":安全等级 - "health-care":医疗质量 - "pollution":环境质量 - "traffic":交通和通勤 - "quality-of-life":整体生活质量

get_country_city_rankings

获取特定国家的城市排名。

参数:

  • country (string,必填):国家名称
  • section (字符串,可选):与相同的选项 get_city_rankings

词汇资源

服务器提供 vocabulary://numbeo-terms 解释Numbeo API响应中使用的术语的资源:

  • contributors12months:过去12个月内提交数据的贡献者人数
  • monthLastUpdate:上次更新数据的月份
  • yearLastUpdate:上次更新的年份
  • contributors:在计算中使用其数据的贡献者总数(适应性档案政策)
  • cpi_factor:用于计算我们的消费者价格指数的一个因素。将该系数乘以价格,并将结果加到总金额中,以计算生活成本指数
  • rent_factor:用于计算我们租金指数的一个因素。将该系数乘以价格,并将结果加到总和中,以计算租金指数

与MCP客户端一起使用

克劳德桌面

MCP客户端应通过请求元数据或授权头提供API密钥。配置示例:

{
  "mcpServers": {
    "numbeo": {
      "command": "numbeo-mcp"
    }
  }
}

然后通过客户端的授权机制在工具调用中传递API密钥。

其他MCP客户端

服务器支持stdio上的标准MCP协议。API密钥应通过:

  • 请求元数据(api_key 字段),或
  • 授权标头(Authorization: Bearer )

直接使用SDK

你也可以直接在Python代码中使用Numbeo SDK:

import asyncio
from numbeo_sdk import Numbeo, modeling

async def main() -> None:
  async with Numbeo(key="your-api-key") as client:
    prices = await client.get_city_prices(
      modeling.GetCityPricesRequest(city="London", country="United Kingdom")
    )
    print(prices.model_dump(by_alias=True))

    crime = await client.get_city_crime(
      modeling.GetCityCrimeRequest(city="Tokyo", country="Japan")
    )
    print(crime.model_dump(by_alias=True))

    rankings = await client.get_rankings_by_city_current(
      modeling.GetRankingsByCityCurrentRequest(section=1)
    )
    print([entry.model_dump(by_alias=True) for entry in rankings.root])

asyncio.run(main())

发展

设置

make sync

代码检查

make linting

格式化

make style

运行测试

make test

出口要求

make export

封装结构

src/
├── numbeo_sdk/          # Numbeo API SDK
│   ├── __init__.py
│   └── client.py        # HTTP client for Numbeo API
└── numbeo_mcp/          # FastMCP server
    ├── __init__.py
    ├── server.py        # MCP server with tools
    └── schemas.py       # Pydantic validation schemas

验证

MCP服务器使用 严格的输入验证 使用Pydantic模式。所有工具参数在传递给SDK之前都经过验证:

  • 城市查询参数:城市(必填),国家(可选)
  • 城市档案查询参数:城市、国家、货币(均已验证)
  • 排名查询参数:带有枚举验证的部分
  • 还有更多。..

无效的输入将被拒绝,并显示明确的错误消息。

api参考

此服务器包装Numbeo API终结点。有关返回数据的详细信息,请参阅 Numbeo API文档.

主要特点:

  • 所有SDK请求都包含API密钥作为查询参数
  • MCP服务器使用Pydantic进行严格的输入验证
  • 无需身份验证标头(来自客户端的承载令牌→ SDK)
  • 返回包含全面城市/国家统计数据的JSON数据

API费率限制

Numbeo API可能有费率限制,具体取决于您的订阅级别。参见 Numbeo API文件 了解详情。

故障排除

“需要Numbeo API密钥”错误

API密钥必须由MCP客户端通过授权头或请求元数据提供,而不是通过环境变量提供。检查您的MCP客户端配置。

连接超时

检查您的互联网连接,并验证Numbeo API是否可访问。

API响应无效

请确保您的API密钥有效,并且您的订阅处于活动状态。

验证错误

服务器使用严格的Pydantic验证。确保所有必填字段都已提供,枚举值正确(例如,section必须是以下之一:“生活成本”、“犯罪”、“医疗保健”、“污染”、“交通”、“生活质量”)。

许可证

许可证 文件以获取详细信息。

目录标签

目录标签

Python云端部署Docker生活成本本地部署房地产数据犯罪统计城市比较趋势分析

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP