返回市场
ieee2030.5-MCP服务器

ieee2030.5-MCP服务器

作者:prandogabriel2 星标更新:2025-07-06

项目介绍

IEEE 2030.5 MCP Server

用于与符合IEEE 2030.5(SEP 2.0)智能能源配置文件服务器交互的模型上下文协议(MCP)服务器。

npm 版本 许可证

快速开始: npx -y @prandogabriel/ieee2030.5-mcp

目录

特性

  • 🔐 基于证书的身份验证(单个 .pem 文件或分开的证书/密钥文件)
  • 📡 完整支持 IEEE 2030.5 终端
  • 🛠️ 所有主要 IEEE 2030.5 资源的 MCP 工具
  • 🎯 基于 HATEOAS 的导航,附带全面指南
  • ⚙️ 基于环境的配置
  • 🧪 内置测试客户端和 MCP 检查器支持

先决条件

系统需求

  • Node.js:版本 20.0.0 或更高
  • 包管理器:pnpm(推荐)或 npm
  • 操作系统:macOS、Linux 或 Windows

安装 Node.js

如果你还没有安装 Node.js:

使用 Node 版本管理器(推荐):

# 安装 nvm(macOS/Linux)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# 安装并使用 Node.js 20
nvm install 20
nvm use 20

直接下载:

安装 pnpm

npm install -g pnpm

或者使用 corepack(Node.js 16.10+):

corepack enable
corepack prepare pnpm@latest --activate

IEEE 2030.5 服务器需求

要使用此 MCP 服务器,你需要访问一个符合 IEEE 2030.5 标准的服务器,该服务器具有:

  • HTTPS 终端(通常是 8443 端口)
  • 客户端证书身份验证(推荐 .pem 格式)
  • IEEE 2030.5/SEP 2.0 兼容性,带有标准终端

常见的 IEEE 2030.5 实现:

  • OpenADR VEN/VTN 服务器
  • 智能逆变器管理系统
  • 电力需求响应平台
  • 分布式能源资源(DER)管理系统

快速开始

选项 1:使用已发布的包(最快)

对于大多数用户来说,最简单的方法是使用已发布的 npm 包:

  1. 确保安装了 Node.js 20+

    node --version  # 应该是 20.0.0 或更高
    
  2. 测试服务器

    npx -y @prandogabriel/ieee2030.5-mcp
    
  3. 使用 Claude Desktop 配置 - 请参阅 已发布包配置

选项 2:本地开发设置

为了开发或定制:

1. 验证需求

检查你的 Node.js 和 pnpm 版本:

node --version  # 应该是 20.0.0 或更高
pnpm --version  # 应该是 8.0.0 或更高

2. 克隆并安装

git clone <repository-url>
cd ieee2030.5-mcp
pnpm install

3. 配置环境

复制示例环境文件并配置你的 IEEE 2030.5 服务器:

cp .env.example .env

编辑 .env 文件以进行配置。服务器会自动从 .env 文件中加载环境变量:

# 必需:你的 IEEE 2030.5 服务器 URL
IEEE2030_BASE_URL=https://your-ieee2030-server:port

# 必需:认证证书路径(选择一种方式)
# 方案 1:单个 PEM 文件(类似于 curl -E $CTRL_CERT)
IEEE2030_CERT_PATH=/path/to/your/client.pem

# 方案 2:分开的文件
# IEEE2030_CERT_PATH=/path/to/client.crt
# IEEE2030_KEY_PATH=/path/to/client.key

# 可选:安全设置
IEEE2030_INSECURE=true  # 开发时使用自签名证书设置为 true

注意.env 文件会自动被 git 忽略以保证安全。

4. 构建项目

pnpm build

5. 测试服务器

使用 MCP 检查器进行交互式测试和调试:

# 构建并启动检查器
pnpm debug

这将会:

  1. 构建你的服务器
  2. 在浏览器中打开 MCP 检查器 http://localhost:5173
  3. 连接到你的 IEEE 2030.5 MCP 服务器

检查器提供了一个 Web UI,你可以:

  • 查看所有可用工具
  • 使用参数交互式测试工具
  • 查看实时响应和错误
  • 调试服务器行为

环境配置

变量描述必需
IEEE2030_BASE_URL你的 IEEE 2030.5 服务器的基础 URL✅ 是
IEEE2030_CERT_PATH证书文件路径(.pem, .crt)✅ 证书选项之一
IEEE2030_CERT_VALUE证书内容作为字符串✅ 证书选项之一
IEEE2030_KEY_PATH私钥文件路径(如果分开)❌ 可选
IEEE2030_KEY_VALUE私钥内容作为字符串❌ 可选
IEEE2030_INSECURE跳过 SSL 验证(仅限开发)❌ 默认:false
IEEE2030_TIMEOUT请求超时时间(毫秒)❌ 默认:30000

可用的 MCP 工具

连接与状态工具

  • ieee2030_status - 检查客户端配置状态
  • ieee2030_test_connection - 测试与 IEEE 2030.5 服务器的连接

IEEE 2030.5 资源工具

  • ieee2030_get_device_capabilities - 获取设备能力(/dcap) - 从这里开始发现资源
  • ieee2030_get_end_devices - 获取末端设备(/edev) - 物理设备及其 DER
  • ieee2030_get_der_programs - 获取 DER 程序(/derp) - 控制 DER 的程序
  • ieee2030_get_demand_response_programs - 获取需求响应程序(/drp)
  • ieee2030_get_usage_points - 获取使用点(/upt) - 计量位置
  • ieee2030_get_time - 获取服务器时间(/tm) - 服务器时间同步
  • ieee2030_get_custom_endpoint - 使用动态导航访问任何自定义终端

可用的 MCP 提示

  • ieee2030_navigation_guide - 使用 HATEOAS 原则导航 IEEE 2030.5 资源的全面指南

IEEE 2030.5 导航

此 MCP 服务器包括一个全面的导航指南,教你如何动态探索 IEEE 2030.5 资源。IEEE 2030.5 标准使用 HATEOAS(超媒体作为应用程序状态引擎)原则,每个响应都包含指向相关资源的链接。

关键导航技巧:

  1. 始终从 /dcap(设备能力)开始,以发现可用资源
  2. 动态跟随链接 - 使用响应中的 href 属性进行导航
  3. 使用自定义终端工具 访问任何发现的路径
  4. 查看导航指南提示 以获得详细的示例和模式

开发

开发依赖项

该项目使用现代开发工具:

  • TypeScript:类型安全的 JavaScript 开发
  • esbuild:快速打包和编译
  • Biome:快速的代码检查和格式化(取代 ESLint + Prettier)
  • nodemon:开发期间自动重启
  • MCP 检查器:交互式测试和调试

开发命令

# 启动带有自动重载的开发服务器
pnpm dev

# 运行代码检查和格式化
pnpm lint          # 检查问题
pnpm lint:fix      # 自动修复问题
pnpm format        # 检查格式
pnpm format:fix    # 修复格式
pnpm check         # 运行代码检查和格式检查
pnpm check:fix     # 修复代码检查和格式问题

# 为生产构建
pnpm build

# 启动生产服务器
pnpm start

# 开发期间自动重启
pnpm watch

开发工作流程

  1. 修改 源代码在 /src
  2. 运行开发服务器pnpm dev
  3. 使用 MCP 检查器测试pnpm debug
  4. 格式化和检查pnpm check:fix
  5. 为生产构建pnpm build

使用示例

使用已发布的包(推荐)

使用此 MCP 服务器最简单的方式是通过已发布的 npm 包。无需克隆或本地构建!

使用 npx(快速开始)

你可以直接使用 npx 运行服务器:

npx -y @prandogabriel/ieee2030.5-mcp

Claude Desktop 配置(已发布的包)

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ieee2030-5-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@prandogabriel/ieee2030.5-mcp@0.1.0"
      ],
      "env": {
        "IEEE2030_BASE_URL": "https://your-ieee2030-server:port",
        "IEEE2030_CERT_PATH": "/path/to/your/cert.pem",
        "IEEE2030_INSECURE": "true"
      }
    }
  }
}

使用已发布的包的好处:

  • 无需本地设置 - 只需安装并运行
  • 始终保持最新 - 指定版本或使用最新版本
  • 自动依赖管理 - npx 处理一切
  • 跨平台兼容性 - 在任何带有 Node.js 的系统上都能运行

配置步骤:

  1. 确保安装了 Node.js 20+(参见 先决条件
  2. 添加配置到 Claude Desktop 使用上面的 JSON
  3. 更新环境变量 以包含你的 IEEE 2030.5 服务器详情:
    • 替换 https://your-ieee2030-server:port 为你的服务器 URL
    • 替换 /path/to/your/cert.pem 为你的证书路径
    • IEEE2030_INSECURE 设置为 "false" 用于生产
  4. 重新启动 Claude Desktop
  5. 测试连接:
    • 询问 Claude:“检查 IEEE 2030.5 服务器状态”
    • 询问 Claude:“显示 IEEE 2030.5 资源的导航指南”

与 Claude Desktop 结合使用(本地开发)

要将此 MCP 服务器与 Claude Desktop 结合使用,请在你的 Claude Desktop 配置文件中添加以下配置:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ieee2030-5-mcp": {
      "command": "node",
      "args": [
        "/path/to/your/ieee2030.5-mcp/dist/index.js"
      ],
      "env": {
        "IEEE2030_BASE_URL": "https://your-ieee2030-server:port",
        "IEEE2030_CERT_PATH": "/path/to/your/cert.pem",
        "IEEE2030_INSECURE": "true"
      }
    }
  }
}

配置步骤:

  1. 首先构建你的服务器:

    cd /path/to/your/ieee2030.5-mcp
    pnpm build
    
  2. 更新配置以包含实际路径:

    • 替换 /path/to/your/ieee2030.5-mcp/dist/index.js 为你的构建服务器的实际路径
    • 替换 https://your-ieee2030-server:port 为你的实际 IEEE 2030.5 服务器 URL
    • 替换 /path/to/your/cert.pem 为你的客户端证书路径
  3. 重新启动 Claude Desktop 使更改生效

  4. 测试连接:

    • 询问 Claude:“检查 IEEE 2030.5 服务器状态”
    • 询问 Claude:“从 IEEE 2030.5 服务器获取设备能力”
    • 询问 Claude:“显示 IEEE 2030.5 资源的导航指南”

使用 MCP 检查器

  1. 启动检查器:

    pnpm debug
    
  2. 测试 ieee2030_get_device_capabilities:

    • http://localhost:5173 打开检查器
    • 点击“工具”标签
    • 在列表中找到 ieee2030_get_device_capabilities
    • 点击“执行”以测试工具
    • 查看以 JSON 格式的 IEEE 2030.5 XML 响应
  3. 测试自定义终端:

    • 选择 ieee2030_get_custom_endpoint
    • 输入终端路径如 /dcap/tm/drp
    • 执行并查看结果
  4. 访问导航指南:

    • 点击“提示”标签
    • 找到 ieee2030_navigation_guide
    • 点击以查看全面的导航指南

编程使用

你也可以使用 MCP SDK 程序化地连接到你的 MCP 服务器:

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import { spawn } from 'node:child_process';

// 启动你的服务器进程
const serverProcess = spawn('node', ['dist/index.js