# RDL MCP Server

Позволяет просматривать и менять файлы отчётов SSRS через вызовы ИИ-ассистента без прямого редактирования XML.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Автор: bethmaloney
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/bethmaloney/rdl-mcp
- Обновлён: 2025-11-24
- HTML: https://affpapa.org/nevibecode/mcp/rdl-mcp-server

## Что делает

Разбор файлов RDL вручную утомляет из-за вложенного XML на тысячи строк. Сервер даёт модели набор инструментов для чтения колонок, параметров и наборов данных, отдавая структурированный JSON вместо сырой разметки.

Через функции редактирования помощник меняет ширину колонок, обновляет заголовки, добавляет формулы в подвал или подменяет хранимые процедуры в наборах данных. После правок встроенный инструмент проверяет валидность полученного XML.

Для запуска нужны Python 3.8+ и утилита `uvx`. Сейчас сервер поддерживает только табличные блоки Tablix: диаграммы и матрицы придётся править руками.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `RDL_MCP_LOG_LEVEL`, `RDL_MCP_LOG_FILE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env RDL_MCP_LOG_LEVEL=<RDL_MCP_LOG_LEVEL> --env RDL_MCP_LOG_FILE=<RDL_MCP_LOG_FILE> --transport stdio rdl-mcp-server -- uvx rdl-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from rdl-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add rdl-mcp-server --env RDL_MCP_LOG_LEVEL=<RDL_MCP_LOG_LEVEL> --env RDL_MCP_LOG_FILE=<RDL_MCP_LOG_FILE> -- uvx rdl-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from rdl-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "rdl-mcp-server": {
            "command": "uvx",
            "args": [
                "rdl-mcp"
            ],
            "env": {
                "RDL_MCP_LOG_LEVEL": "<RDL_MCP_LOG_LEVEL>",
                "RDL_MCP_LOG_FILE": "<RDL_MCP_LOG_FILE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from rdl-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "rdl-mcp-server": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "rdl-mcp"
            ],
            "env": {
                "RDL_MCP_LOG_LEVEL": "<RDL_MCP_LOG_LEVEL>",
                "RDL_MCP_LOG_FILE": "<RDL_MCP_LOG_FILE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from rdl-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e RDL_MCP_LOG_LEVEL=<RDL_MCP_LOG_LEVEL> -e RDL_MCP_LOG_FILE=<RDL_MCP_LOG_FILE> rdl-mcp-server uvx rdl-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from rdl-mcp <команда>

## Когда брать
- изучить структуру и поля наборов данных в файле `.rdl`
- изменить заголовки и ширину колонок в таблице отчёта
- обновить имя хранимой процедуры для выборки данных
- добавить параметры отчёта без ручной правки тегов

## Примеры запросов агенту
- Покажи список всех параметров и наборов данных в файле `report.rdl`.
- Измени ширину колонки `Account Number` в `report.rdl` на 2 дюйма.
- Добавь в отчёт `sales.rdl` колонку `TaxAmount` с суммой в подвале.

## Похожие
- [pbirb-mcp](https://affpapa.org/nevibecode/mcp/pbirb-mcp.md) — MCP-сервер · ★ 6
- [report-generator](https://affpapa.org/nevibecode/skills/report-generator.md) — скилл · 5200 установок
- [Excel MCP Server (FsOpenXmlDsl)](https://affpapa.org/nevibecode/mcp/excel-mcp-server-fsopenxmldsl.md) — MCP-сервер · ★ 9
- [minimax-pdf](https://affpapa.org/nevibecode/skills/nexu-io-minimax-pdf.md) — скилл · 2800 установок
- [data-storytelling](https://affpapa.org/nevibecode/skills/data-storytelling.md) — скилл · 16782 установки
- [build-report](https://affpapa.org/nevibecode/skills/build-report.md) — скилл · 4 установки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
