项目简介
'mcp-server-snap' 是一个基于 Model Context Protocol (MCP) 的后端服务,旨在向大型语言模型 (LLM) 客户端提供结构化的外部数据和功能。它集成了美国国家气象局 (NWS) 的天气信息和 Snap4City 的公共交通数据。通过定义资源、工具和提示模板,该服务使LLM能够以智能方式访问、处理并解释天气预警、天气预报、公交机构列表以及特定公交机构的线路详情。
主要功能点
- 天气预警查询: 获取美国各州的当前天气警报。
- 天气预报查询: 根据经纬度查询指定地点的天气预报。
- 公交机构列表: 获取全球范围内的公共交通机构列表。
- 公交线路查询: 根据区域或机构名称查询特定公交机构运营的公交线路。
- 智能解释: 通过预设的提示模板,LLM可以对查询到的公交线路数据进行自然语言解释,包括线路数量、主要路线及模式分析。
- 会话管理与能力声明: 支持MCP协议标准,提供会话管理和服务器能力声明。
- 多传输协议支持: 目前支持 'stdio' 传输协议进行通信。
安装步骤
- 克隆仓库:
git clone https://github.com/CASician/mcp-server-snap.git cd mcp-server-snap - 安装依赖:
pip install fastmcp httpx groq python-dotenv - 配置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