Token导航 LogoToken导航TokenDH.com
rdl MCP logo
AI代理未说明官方级别未说明来源级核验

rdl MCP

MCP Server

一个通过AI助手简化SQL Server Reporting Services (SSRS) RDL文件编辑的工具,提供简单的命令来读取和修改RDL文件,避免了直接处理复杂的XML。

工具数

0

提示词数

0

GitHub Stars

6

资源数

0
报告生成PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bethmaloney

提供方

bethmaloney

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

RDL MCP服务器

mcp名称:io.github.bethmaloney/rdl-mcp

![PyPI](https://pypi.org/project/rdl-mcp/) ![License: MIT](https://opensource.org/licenses/MIT) ![Python 3.8+](https://www.python.org/downloads/) ![MCP](https://modelcontextprotocol.io)

使用AI助手编辑SSRS报告,而不是纠结于2000多行XML。这 模型上下文协议(MCP) 服务器为Claude、Copilot和其他AI工具提供了读取和修改RDL文件的简单命令。

它做什么

阅读报告:

  • describe_rdl_report -获取报告结构概述
  • get_rdl_datasets -查看数据集、字段和存储过程(支持字段限制和过滤)
  • get_rdl_parameters -列出所有报告参数
  • get_rdl_columns -请参见列标题、宽度和绑定

修改报告:

  • update_column_header / update_column_width -更改列
  • add_column / remove_column -添加或删除列
  • update_column_format -更改数字/日期格式
  • update_stored_procedure -交换存储过程
  • add_dataset_field / remove_dataset_field -管理数据集字段
  • add_parameter / update_parameter -管理参数
  • validate_rdl -更改后验证XML

为什么它比编辑XML更好:

  • AI看到干净的JSON而不是冗长的XML命名空间
  • 一行命令,而不是容易出错的字符串操作
  • 自动验证在错误破坏报告之前捕获错误
  • 没有依赖关系-只有Python 3.8+标准库

安装

要求:

  • Python 3.8或更高版本
  • 紫外线 (Python包管理器和工具运行器)

安装紫外线:

  • macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
  • 窗户: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • 备选方案(所有平台): pip install uv 或查看 安装文档

注: uvx (包括在内 uv)自动处理Python环境和依赖关系。无需手动安装Python包!

快速开始

Claude Desktop

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "rdl-mcp": {
      "command": "uvx",
      "args": ["rdl-mcp"]
    }
  }
}

GitHub Copilot (VSCode)

添加到VSCode设置(.vscode/mcp.json 在您的工作区或用户设置中):

{
  "servers": {
    "rdlMcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["rdl-mcp"]
    }
  }
}

注: 需要安装了Copilot Chat扩展程序的VSCode。

安装后: 重新启动AI助手并尝试: "Describe the structure of my report.rdl file"

Optional: Enable debug logging

设置环境变量:

  • RDL_MCP_LOG_LEVEL: DEBUG, INFO, WARNING,或 ERROR
  • RDL_MCP_LOG_FILE:日志文件的路径

用法

用自然语言问你的人工智能助手:

  • “这份报告使用了哪些数据集?”
  • “将帐号列设置为2英寸宽”
  • “将金额列设置为带2位小数的货币格式”
  • “添加一个新的金额列,在页脚中显示总和”
  • “添加状态列,但将页脚留空”
  • “更新主数据集以使用V2存储过程并添加TaxAmount字段”
  • “删除过时的状态列”
  • “添加年份参数以筛选报告”

AI助手将自动使用适当的MCP工具。

示例:编辑与XML

无MCP (手动编辑XML):


  

    Old Header
  

使用MCP (一个命令):

update_column_header(filepath="report.rdl",
                     old_header="Old Header",
                     new_header="New Header")

api参考

View all available tools

阅读工具

  • describe_rdl_report(filepath) -报告结构摘要
  • get_rdl_datasets(filepath, field_limit?, field_pattern?) -带有字段和存储过程的数据集

- field_limit:0=仅计数(默认),-1=所有字段,N=限制为N个字段 - field_pattern:用于筛选字段名的可选正则表达式

  • get_rdl_parameters(filepath) -所有参数及其配置
  • get_rdl_columns(filepath) -列标题、宽度、绑定

编辑工具

  • update_column_header(filepath, old_header, new_header) -更改列文本
  • update_column_width(filepath, column_index, new_width) -修改宽度(例如“2.5英寸”)
  • update_column_format(filepath, column_index, format_string) -更改格式(例如“#,0.00”,“dd/MM/yyyy”,“C2”)
  • add_column(filepath, column_index, header_text, field_binding, width?, format_string?, footer_expression?) -添加列

- footer_expression:页脚/总计行的可选表达式-例如“=总和(字段!金额.Value)”、“=计数(字段!ID.Value)

  • remove_column(filepath, column_index) -删除列
  • update_stored_procedure(filepath, dataset_name, new_sproc) -更改数据集存储过程
  • add_dataset_field(filepath, dataset_name, field_name, data_field, type_name) -向数据集添加字段
  • remove_dataset_field(filepath, dataset_name, field_name) -从数据集中删除字段
  • add_parameter(filepath, name, data_type, prompt) -添加新参数
  • update_parameter(filepath, name, prompt?, default_value?) -更新参数
  • validate_rdl(filepath) -验证XML结构

所有工具归还 {success: bool, message?: string, error?: string} 或结构化数据。

限制和路线图

当前限制:

  • 仅支持Tablix(表)控件-尚不支持矩阵或图表
  • 与标准报告布局配合使用效果最佳
  • 一些复杂的RDL功能可能仍需要手动XML编辑

计划功能:

  • 列重新排序、分组和排序配置
  • 表达式生成器助手
  • 数据集字段管理

故障排除

服务器未出现?

  • 检查配置中的绝对路径是否正确
  • 验证Python 3.8+: python3 --version
  • 重新启动MCP客户端

权限错误?

  • 使脚本可执行: chmod +x rdl_mcp_server.py
  • 检查RDL文件读/写权限

发布新版本

此服务器发布到 PyPI 和那个 MCP注册表。要发布新版本,请执行以下操作:

  1. 更新版本号 在这两个文件中:

pyproject.toml:

   version = "0.2.0"

server.json:

   {
     "version": "0.2.0",
     "packages": [
       {
         "version": "0.2.0"
       }
     ]
   }
  1. 提交您的更改:
   git add .
   git commit -m "Release v0.2.0: Add feature description"
  1. 创建并推送一个git标签:
   git tag v0.2.0
   git push origin main --tags
  1. 自动发布:GitHub Actions工作流会自动执行:

- 构建并发布到PyPI(用户可以通过以下方式安装 uvx rdl-mcp) - 验证 server.json 与MCP模式相反 - 发布到MCP注册表(服务器出现在注册表搜索中) - 更新下游注册表(如GitHub的MCP市场)

贡献

PR欢迎!优先领域:

  • 对复杂布局进行更好的列检测
  • 更多编辑操作(重新排序、分组等)

要求:仅限Python标准库

  1. 分叉回购
  2. 创建特征分支
  3. 进行更改+测试
  4. 提交PR

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

这意味着您可以出于任何商业或非商业目的自由使用、修改和分发此软件。

目录标签

目录标签

报告生成PythonClaudeRDL编辑本地部署AI助手SSRSXML处理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP