mcpField
M
MCP服务器项目

MCP服务器项目

本地服务
github.com/kfbyldy数据与分析044 周前更新

关于 MCP服务器项目

基于 MCP 的服务器项目,面向需要查询天气或向大数据平台提交数据的用户。提供天气预报、天气警报以及按时间周期添加测点数据等功能。

主要功能

  1. 01查询天气预报和警报
  2. 02上传大数据指标
  3. 03按周期添加测点数据
  4. 04支持多种时间范围格式

适用场景

  1. 01查询指定坐标的天气预报
  2. 02获取美国各州天气警报
  3. 03向大数据平台提交测点指标
  4. 04按日期范围批量生成时间点

MCP 相关

这是一个 MCP 服务,向 MCP 客户端提供天气查询和大数据平台数据上传能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

MCP服务器项目

运行方式

  1. uv run .\mcp_server.py
  2. 直接运行当前文件
  3. postman 中 uv --directory E:\Code\python\mcp\mcp-server run .\weather.py
  4. 报错:Python 启动时,在处理 distutils-precedence.pth 这个启动配置文件时, 尝试 import _distutils_hack,但 这个模块不存在,于是启动失败。解决方法: 删除.venv 执行 uv sync

项目介绍

这是一个基于MCP (Model Control Protocol) 的服务器项目,用于与大数据平台交互。项目主要提供以下功能:

  1. 天气数据查询服务:获取天气预报和天气警报信息
  2. 大数据指标上传服务:向大数据平台上传指标数据

功能说明

1. 天气数据查询服务 (weather.py)
  • get_alerts: 获取美国各州的天气警报信息
  • get_forecast: 获取指定坐标位置的天气预报
2. 大数据指标上传服务 (bigdata.py)
  • 与大数据平台进行交互,上传各类指标数据
3. 大数据测点数据添加服务 (mcp_server.py)
  • 向大数据平台添加测点数据,支持不同时间周期类型的数据上传
  • 自动根据用户提供的参数生成对应格式的数据

使用说明

大数据测点数据添加服务

add_index_data 功能用于向大数据平台添加测点数据,支持以下参数:

  • system_code: 系统编码,例如 "PARK3853_EMS01"
  • device_code: 设备编码,例如 "CEC_CEC01"
  • index_code: 测点编码,例如 "FfuelIntD"
  • period_type: 时间类型,可选值包括:
    • "REAL_TIME": 实时数据
    • "MINUTE": 分钟级数据
    • "HOUR": 小时级数据
    • "DAY": 日级数据
    • "MONTH": 月级数据
    • "YEAR": 年级数据
  • time_period: 时间周期,格式根据period_type不同而变化:
    • 单个日期: "2023-01-01"
    • 多个日期: "2023-01-01,2023-01-02,2023-01-03"
    • 日期范围: "2023-01-01~2023-01-10"
  • data_value: 数据值,浮点数类型
时间类型与格式对应表
时间类型格式示例
REAL_TIME年-月-日 时:分:秒2023-01-01 12:30:45
MINUTE年-月-日 时:分2023-01-01 12:30
HOUR年-月-日 时2023-01-01 12
DAY年-月-日2023-01-01
MONTH年-月2023-01
YEAR年2023
使用示例

以下是几个调用示例:

1. 添加单个日期的数据
add_index_data(
    system_code="PARK3853_EMS01",
    device_code="CEC_CEC01",
    index_code="FfuelIntD",
    period_type="DAY",
    time_period="2023-01-01",
    data_value=188.8
)
2. 添加多个日期的数据
add_index_data(
    system_code="PARK3853_EMS01",
    device_code="CEC_CEC01",
    index_code="FfuelIntD",
    period_type="DAY",
    time_period="2023-01-01,2023-01-02,2023-01-03",
    data_value=188.8
)
3. 添加日期范围的数据
add_index_data(
    system_code="PARK3853_EMS01",
    device_code="CEC_CEC01",
    index_code="FfuelIntD",
    period_type="DAY",
    time_period="2023-01-01~2023-01-10",
    data_value=188.8
)
4. 添加小时级别数据
add_index_data(
    system_code="PARK3853_EMS01",
    device_code="CEC_CEC01",
    index_code="FfuelIntH",
    period_type="HOUR",
    time_period="2023-01-01 00~2023-01-01 23",
    data_value=45.6
)

调用结果示例

成功调用后,服务将返回类似以下格式的结果:

数据添加成功!
系统编码: PARK3853_EMS01
设备编码: CEC_CEC01
测点编码: FfuelIntD
时间类型: DAY
数据值: 188.8
添加的时间点数量: 3
时间点样例: 1672531200, 1672617600, 1672704000

开发与部署

  1. 安装依赖:pip install -r requirements.txt
  2. 运行服务器:python mcp_server.py

环境要求

  • Python 3.9+
  • 依赖包:httpx, mcp

注意事项

  • 时间戳是以Unix时间戳(秒级)的形式发送给API的
  • 建议先测试少量数据,确认无误后再添加大量数据
  • 对于长时间范围的数据添加,系统会自动按照对应时间类型生成所有时间点

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。