mcpField
S
Solar Data

Solar Data

本地服务
github.com科研与教育016 周前更新

关于 Solar Data

Solar Data 是一个 MCP 服务,为 Agent 提供美国太阳能发电、经济性、市场和预测数据。其工具、技能和报告提示词会为数据标注单位、来源、假设与警告。

主要功能

  1. 01覆盖四类太阳能数据的 18 个工具
  2. 02建模发电量并计算系统规模
  3. 03估算电价、激励和投资回报
  4. 04查询安装与市场数据
  5. 05获取发电预测
  6. 06提供 Agent 技能和报告提示词

适用场景

  1. 01评估住宅太阳能发电量与回本情况
  2. 02审查太阳能安装报价
  3. 03准备安装商项目提案
  4. 04研究区域太阳能市场和项目

MCP 相关

向 MCP 客户端提供四类领域的 18 个工具、作为 MCP 资源的 Agent 技能,以及四种报告提示词。整合服务通过 stdio 运行,各领域也可作为独立服务运行。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"hoodsy-solar-data": {
"command": "uvx",
"args": [
"solar-data-mcp"
],
"env": {
"NREL_API_KEY": "<NREL_API_KEY>",
"OPENEI_API_KEY": "<OPENEI_API_KEY>",
"EIA_API_KEY": "<EIA_API_KEY>",
"AHJ_REGISTRY_TOKEN": "<AHJ_REGISTRY_TOKEN>"
}
}
}
}
启动命令uvx solar-data-mcp
需要配置的环境变量
NREL_API_KEY密钥Free key from https://developer.nlr.gov/signup/ — required for production modeling and irradiance tools
OPENEI_API_KEY密钥Free key for URDB utility tariff lookups (economics tools)
EIA_API_KEY密钥Free key for EIA electricity price data (economics tools)
AHJ_REGISTRY_TOKEN密钥Optional SunSpec AHJ Registry token for permitting-authority lookups

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypisolar-data-mcp0.1.1

工具

18

收录的工具列表 · 更新于 2 周前

参数类型必填说明
latnumber是
lonnumber是
albedoany否
bifacialboolean否
tilt_degany否
array_typeany否
losses_pctany否
azimuth_degany否
dc_ac_ratioany否
module_typeany否
system_capacity_kwnumber是

详细介绍

☀️ solar-data-mcp

让 Agent 访问美国太阳能数据。

CI Python 3.11+ License: MIT MCP

一个 MCP 服务,将美国开源太阳能数据带给 Claude、ChatGPT 以及其他支持 MCP 的工具。

安装一个服务——uvx solar-data-mcp——即可让你的 Agent 获得全部 18 个工具、11 个教它如何使用这些工具的技能,以及 4 个现成的报告提示词,覆盖四个数据领域:发电建模、经济分析、市场数据和预测。每个工具都返回相同的结构——data + units + source + assumptions + warnings——因此 Agent 始终清楚数字的含义、来源,以及代表你自动填入了哪些默认值。

你可以问它什么?

  • 考虑在家安装太阳能 — “在我家安装一个 6 kW 系统划算吗?” · “这份 21,000 美元的报价合理吗?” · “我的太阳能阵列明天会发多少电?”
  • 销售或安装太阳能系统 — “为这位客户制作一份方案” · “在凤凰城,许可审批需要多久?” · “我们接下来应该在哪里拓展?”
  • 研究市场 — “向我介绍德克萨斯州的太阳能市场” · “科罗拉多州的安装价格趋势如何?” · “哪些大型电站配备了电池?”

面对每个问题,Agent 都会选择合适的工具(或由某项技能负责路由),而每个数字都会附带单位、来源以及代表你采用的假设。

快速开始

  1. 获取免费的 NREL API 密钥 — https://developer.nlr.gov/signup/ (也可以使用 DEMO_KEY 试用——每小时 10 次请求)。

  2. 将服务添加到你的 Agent — 下方提供了各主要 Agent 的配置片段;对于 Claude Desktop,请将其合并到 claude_desktop_config.json (完整示例见 examples/):

    {
      "mcpServers": {
        "solar-data": {
          "command": "uvx",
          "args": ["solar-data-mcp"],
          "env": {
            "NREL_API_KEY": "YOUR_KEY_HERE",
            "OPENEI_API_KEY": "YOUR_KEY_HERE",
            "EIA_API_KEY": "YOUR_KEY_HERE"
          }
        }
      }
    }
    

    启动时只需要 NREL_API_KEY:服务可在提供任意一部分密钥的情况下运行,缺少所需密钥的工具会返回设置说明,而不是静默失败。

  3. 重启客户端并提问 — 试试 “比较亚利桑那州梅萨一套 8 kW 系统在倾角为 10° 和 25° 时的年发电量。”

随时验证密钥和连接状态:

$ uvx solar-data-mcp doctor
将它添加到你的 Agent

Claude Code

$ claude mcp add solar-data \
    --env NREL_API_KEY=YOUR_KEY --env OPENEI_API_KEY=YOUR_KEY --env EIA_API_KEY=YOUR_KEY \
    -- uvx solar-data-mcp

(或者将快速开始 JSON 提交到项目的 .mcp.json)

Codex CLI — ~/.codex/config.toml:

[mcp_servers.solar-data]
command = "uvx"
args = ["solar-data-mcp"]

[mcp_servers.solar-data.env]
NREL_API_KEY = "YOUR_KEY_HERE"
OPENEI_API_KEY = "YOUR_KEY_HERE"
EIA_API_KEY = "YOUR_KEY_HERE"

(或者使用 codex mcp add solar-data --env NREL_API_KEY=YOUR_KEY -- uvx solar-data-mcp; 使用 env_vars = ["NREL_API_KEY"] 从 shell 转发密钥,而不是将密钥硬编码)

OpenCode — 项目中的 opencode.json(或 ~/.config/opencode/opencode.json):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "solar-data": {
      "type": "local",
      "command": ["uvx", "solar-data-mcp"],
      "enabled": true,
      "environment": {
        "NREL_API_KEY": "YOUR_KEY_HERE",
        "OPENEI_API_KEY": "YOUR_KEY_HERE",
        "EIA_API_KEY": "YOUR_KEY_HERE"
      }
    }
  }
}

Hermes — ~/.hermes/config.yaml,然后运行 /reload-mcp:

mcp_servers:
  solar-data:
    command: "uvx"
    args: ["solar-data-mcp"]
    env:
      NREL_API_KEY: "YOUR_KEY_HERE"
      OPENEI_API_KEY: "YOUR_KEY_HERE"
      EIA_API_KEY: "YOUR_KEY_HERE"

Claude Desktop — 使用上方的快速开始 JSON。

其他任何支持 MCP(stdio)的工具 — 命令为 uvx,参数为 ["solar-data-mcp"],密钥放在 env 块中。

API 密钥

全部免费,且均为可选项——服务器即使未设置任何密钥也能启动。

环境变量解锁的功能获取方式
NREL_API_KEYestimate_production, get_solar_resource, compare_orientations, size_system_for_target, estimate_roi, compare_forecast_to_modelhttps://developer.nlr.gov/signup/
OPENEI_API_KEYlookup_tariffshttps://openei.org/services/api/signup/
EIA_API_KEYget_electricity_priceshttps://www.eia.gov/opendata/register.php
AHJ_REGISTRY_TOKEN (可选)identify_ahj发送邮件至 [email protected]

市场工具(USPVDB、Tracking the Sun、SolarTRACE)和预测功能无需密钥。 要获取完整预测输出,还需在持久化环境中安装 Quartz 模型(参见 packages/solar-forecast/); 未安装时,预测工具会返回安装说明。

服务器

uvx solar-data-mcp(即上文所述的安装方式)通过一个 stdio 入口提供全部四个领域的服务。 每个领域也都提供独立服务器:

领域数据独立服务器
发电PVWatts v8 建模、NSRDB 辐照度uvx --from solar-data-mcp-nrel nrel-solar-mcp
经济URDB 电价、EIA 电价、联邦 ITC + DSIREuvx --from solar-data-mcp-economics solar-economics-mcp
市场SolarTRACE、Tracking the Sun、USPVDB、AHJ 查询uvx --from solar-data-mcp-market solar-market-mcp
预测Quartz 开源预测(OCF)uvx --from solar-data-mcp-forecast solar-forecast-mcp

各服务器的配置: examples/claude_desktop_config.per-server.json。

⚠️ 请运行组合版 solar-data 服务器或各领域的独立服务器,不要同时运行两者;也切勿同时运行 solar-economics 和 solar-market。两者都会打开同一个本地 DuckDB 批量存储,而该存储一次只允许一个进程访问。

工具

四个领域共十八种工具;参数详情请参阅各工具的文档字符串和各领域软件包的 README。

领域可询问的内容工具
发电发电量、日照情况、系统容量、屋顶朝向estimate_production, get_solar_resource, compare_orientations, size_system_for_target
经济电价、激励措施、投资回收期lookup_tariffs, get_electricity_prices, get_incentives, estimate_roi, sync_incentives
市场已安装系统的 $/W、许可办理时间、公用事业级电站query_installed_systems, get_permitting_timelines, find_utility_scale_projects, identify_ahj, market_snapshot, sync_*
预测明天的发电量、“今天是否异常?”forecast_generation, compare_forecast_to_model

技能与报告

技能是随组合版服务器一同发布的流程,用于教会 Agent 如何正确串联工具——包括调用顺序、同步前置条件和如实报告。它们是 MCP 资源:skill://solar/index 根据问题类型进行路由,skill://solar/<name> 则对应具体流程。按提问者分类:

  • 业主 — 场地评估、报价审核、性能检查
  • 安装商 — 方案构建器、拓展服务区域
  • 分析师 — 市场简报、定价分析、公用事业级项目调查、激励措施扫描
  • 跨领域 — 数据同步(批量快照)、数据约定(掌握数据封装格式)

其中四项技能会生成具有固定文档结构的报告,并作为 MCP 提示词提供,由宿主原生呈现:market_brief、site_assessment、 quote_review、proposal_builder(在 Claude Code 中:/mcp__solar-data__market_brief)。

完整目录、路由设计和报告模板:docs/skills.md。

开发

$ git clone https://github.com/hoodsy/solar-data-mcp && cd solar-data-mcp
$ uv sync                # install the workspace
$ uv run pytest          # fixture replay only, no network

布局:packages/core(共享 HTTP 客户端、缓存、信封),每个领域服务对应一个包,以及 packages/solar-data-mcp(将全部四个服务挂载到一个 stdio 入口)。最精简的客户端: examples/example_client.py。

许可证

MIT。各数据源的许可/署名信息通过 MCP 资源公开 (source://<name>/license)。

评论

支持 Markdown

第一次接触 MCP?

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

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