项目简介

'mcp-server-snap' 是一个基于 Model Context Protocol (MCP) 的后端服务,旨在向大型语言模型 (LLM) 客户端提供结构化的外部数据和功能。它集成了美国国家气象局 (NWS) 的天气信息和 Snap4City 的公共交通数据。通过定义资源、工具和提示模板,该服务使LLM能够以智能方式访问、处理并解释天气预警、天气预报、公交机构列表以及特定公交机构的线路详情。

主要功能点

  • 天气预警查询: 获取美国各州的当前天气警报。
  • 天气预报查询: 根据经纬度查询指定地点的天气预报。
  • 公交机构列表: 获取全球范围内的公共交通机构列表。
  • 公交线路查询: 根据区域或机构名称查询特定公交机构运营的公交线路。
  • 智能解释: 通过预设的提示模板,LLM可以对查询到的公交线路数据进行自然语言解释,包括线路数量、主要路线及模式分析。
  • 会话管理与能力声明: 支持MCP协议标准,提供会话管理和服务器能力声明。
  • 多传输协议支持: 目前支持 'stdio' 传输协议进行通信。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/CASician/mcp-server-snap.git
    cd mcp-server-snap
  2. 安装依赖:
    pip install fastmcp httpx groq python-dotenv
  3. 配置API密钥: 创建一个名为 '.env' 的文件在项目根目录,并添加您的 Groq API 密钥:
    GROQ_API_KEY="您的Groq API密钥"

服务器配置 (供MCP客户端使用)

MCP客户端需要以下配置信息来连接此MCP服务器:

{
  "name": "Snap4CityMCP",
  "description": "提供美国天气和Snap4City的公交数据服务",
  "command": "python",
  "args": ["/path/to/mcp-server-snap/server.py"]
}
  • 'name': 服务器的唯一标识符。
  • 'description': 服务器功能的简要说明。
  • 'command': 启动MCP服务器的命令。
  • 'args': 传递给启动命令的参数,其中 '/path/to/mcp-server-snap/server.py' 需替换为 'server.py' 文件的实际路径。

基本使用方法

在MCP客户端配置完成后,您的LLM应用可以通过客户端连接此服务。LLM可以利用服务器提供的工具和资源来获取天气数据和公交信息,例如:

  • 调用 'get_alerts' 工具获取特定州的天气预警。
  • 调用 'get_bus_lines' 工具查询某个公交机构的线路。
  • 利用 'explain_bus_lines' 提示模板,引导LLM对获取到的公交线路数据进行自然语言的解释。

客户端与服务器之间的通信将通过标准输入/输出 (stdio) 进行。

信息

分类

网页与API