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

Smartcity MCP Assistant

MCP Server

一个基于模型上下文协议(MCP)的城市信息助手,通过LLM进行意图分析并动态调用外部API(如天气、新闻、附近地点等)获取实时数据。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
PythonAPI集成云端部署

安装说明

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

作者 / 组织

Nimitsonani

提供方

Nimitsonani

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

智慧城市MCP助理

🔗 现场演示:https://smartcity-mcp-assistant.onrender.com/

SmartCity MCP Assistant是使用模型上下文协议(MCP)构建的城市信息助手。

系统将推理(LLM)与工具执行(MCP工具)分离,而不是在聊天逻辑中对API调用进行硬编码。\ LLM决定何时需要外部数据,MCP处理结构化的API调用。

______________________________________________________________________

这个项目是什么

该项目将大型语言模型与现实世界的公共API连接起来,例如:

  • 天气
  • 空气质量
  • 新闻
  • 附近的地方

助手不会简单地用静态文本进行回复。\ 它分析查询,确定是否需要实时数据,并动态调用工具。

它还实现了缓存,以避免不必要的API调用。

______________________________________________________________________

运作原理

该系统分为三层。

1.上下文提供者(外部API)

以下是真实世界的数据源:

  • Open Meteo→ 天气+空气质量
  • 新闻数据.io→ News
  • Geoapify→ 附近的地方

每个提供者返回结构化的JSON数据。

______________________________________________________________________

2.MCP服务器(工具层)

MCP服务器:

  • 使用FastMCP注册工具
  • 包装外部API调用
  • 应用默认参数(城市、纬度、经度)
  • 将结构化输出返回给客户端

每个工具代表一种特定的功能(例如,获取天气、获取新闻、查找医院)。

______________________________________________________________________

3.MCP客户端+LLM(推理层)

客户:

  • 将用户查询发送到LLM
  • 确定是否需要工具调用
  • 必要时调用相应的MCP工具
  • 将工具输出反馈给LLM
  • 生成最终响应

LLM用于推理和格式化,而不是用于检索原始数据。

______________________________________________________________________

刀具调用流程

  1. 用户提交查询。
  2. LLM分析意图。
  3. 如果需要实时数据:

- 系统检查缓存。 - 如果缓存过期,则调用MCP工具。

  1. 返回工具输出。
  2. LLM生成一个上下文的自然语言响应。

这使得数据检索结构化,推理分离。

______________________________________________________________________

缓存策略

为了减少API的使用,系统缓存特定持续时间的工具响应:

  • 当前天气→ 30 分钟
  • 每小时天气→ 4 hours
  • 每日天气→ 24 hours
  • 空气质量→ 30 分钟/4小时/24小时
  • News → 30 分钟
  • 附近的地方→ 3 days

缓存存储在 cache.json.

______________________________________________________________________

示例用例

天气建议

用户:\ “现在是出去的好时机吗?”

该系统获取当前天气和空气质量,然后生成建议。

Weather Screenshot

______________________________________________________________________

新闻检索

用户:\ “最新消息是什么?”

该系统获取最近的头条新闻并对其进行格式化。

News Screenshot

______________________________________________________________________

附近医院搜索

用户:\ “找附近的医院。”

系统查询Geoapify并返回基于位置的结果。

Nearby Hospital Screenshot

______________________________________________________________________

技术栈

  • python
  • 快速API
  • FastMCP(模型上下文协议)
  • API米斯特拉尔
  • 开放气象API
  • 新闻数据.io API
  • 地理位置API
  • Jinja2
  • HTML/CSS

______________________________________________________________________

项目结构

智慧城市MCP助理\ │\ ├── App/\ │ ├── 路线.py\ │ ├── 对话.py\ │\ ├── MCP/\ │ ├── 服务器.py\ │ ├── 客户端.py\ │ ├── Nearby_Category.py\ │\ ├── 缓存/\ │ ├── cache_handler.py\ │ ├── cache.json\ │\ ├── 模板/\ │ └── index.html\ │\ ├── initial_prompt.txt\ ├── secondary_prompt.txt\ ├── main.py\ ├── 需求.txt

______________________________________________________________________

环境配置

创建一个 .env 根目录中的文件:

MISTRAL_API_KEY=your_mistral_api_key
NEWS_API_KEY=your_news_api_key
GEOPIFY_API_KEY=your_geoapify_api_key
LATITUDE=your_latitude
LONGITUDE=your_longitude
CITY=your_default_city
LANGUAGES=preferred_language

所有敏感密钥都是通过环境变量加载的。

______________________________________________________________________

本地运行

  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置您的 .env 文件。
  1. 运行:
python main.py

FastAPI服务器将在本地启动,助手界面将在浏览器中可用。

目录标签

目录标签

PythonAPI集成云端部署城市智能本地部署实时数据LLM推理多源数据

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP