# RDL MCP Server [Health: Active]

**Category:** 📊 Data Visualization  
**Repository:** https://github.com/bethmaloney/rdl-mcp  
**GitHub Stars:** 13  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/rdl-mcp-server

## Description
Edit SSRS reports using AI - simple tools to read and modify RDL files

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "rdl-mcp-server": {
    "command": "uvx",
    "args": ["rdl-mcp"]
  }
}
```

## Documentation

## What the RDL MCP Server MCP server does

RDL MCP Server MCP server provides an MCP interface for reading and changing SSRS report definition files. It is designed to keep an AI assistant working with report concepts rather than raw XML namespaces and deeply nested elements. Operations use a file path and report-specific arguments, and return either structured report data or a success/error result.

The server covers common tablix edits. It can inspect a report’s structure, list datasets and their fields, retrieve parameters, and identify column headers, widths, and bindings. Editing operations include changing headers, widths, and display formats; adding or removing columns; changing a dataset’s stored procedure; managing dataset fields; and adding or updating report parameters. XML validation is available after edits.

## How it works

The server communicates with an MCP-compatible client over standard input/output. An assistant selects the relevant tool based on a natural-language request, such as finding the datasets in a report or changing a column to a specified width. Each tool accepts a report filepath and operation-specific values, such as a column index, field binding, format string, dataset name, or parameter prompt.

Dataset inspection supports optional field controls. A field limit can return counts only, all fields, or a specified number of fields, while a regular-expression pattern can narrow the returned field names. Column creation can also include an optional width, format, and footer expression, including aggregate expressions such as a sum or count.

## Setup and configuration

Install Python 3.8 or later and the `uv` tool. The documented client configurations start the package with `uvx rdl-mcp`, so a separate manual package installation is not required. Claude Desktop uses an `mcpServers` entry with `uvx` as the command; VS Code uses a stdio server entry and requires the GitHub Copilot Chat extension.

After adding the configuration, restart the MCP client. The server can be run without environment variables. Optional diagnostics are controlled with `RDL_MCP_LOG_LEVEL`, using `DEBUG`, `INFO`, `WARNING`, or `ERROR`, and `RDL_MCP_LOG_FILE`, which specifies a log-file path.

## Tools and capabilities

RDL MCP Server MCP server exposes these read operations:

- `describe_rdl_report` for a structural report summary.
- `get_rdl_datasets` for datasets, fields, and stored procedures.
- `get_rdl_parameters` for report parameter configurations.
- `get_rdl_columns` for headers, widths, and bindings.

Its editing and checking operations include:

- Updating headers, widths, and number or date format strings.
- Adding or removing tablix columns.
- Changing stored procedures and dataset fields.
- Adding or updating parameters.
- Validating the resulting XML structure.

## Limitations and notes

The implementation currently targets tablix, or table, controls. Matrix and chart support is not included, and standard report layouts are the best fit. Complex RDL features may still require direct XML editing. The project states that it uses only Python’s standard library and is distributed under the MIT License.

_Full upstream README: https://allmcps.com/mcp/rdl-mcp-server/readme_

