Majorsilence.Reporting.Mcp 27.0.0-alpha.8

This is a prerelease version of Majorsilence.Reporting.Mcp.
dotnet tool install --global Majorsilence.Reporting.Mcp --version 27.0.0-alpha.8
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Majorsilence.Reporting.Mcp --version 27.0.0-alpha.8
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Majorsilence.Reporting.Mcp&version=27.0.0-alpha.8&prerelease
                    
nuke :add-package Majorsilence.Reporting.Mcp --version 27.0.0-alpha.8
                    

Majorsilence.Reporting.Mcp

An MCP server that lets an AI assistant work with Majorsilence Reporting RDL/RDLC reports: render them, inspect their structure, lint them for engine compatibility, and scaffold new ones — all in-process against the reporting engine, no GUI required.

It is a dotnet global tool that speaks MCP over stdin/stdout.

assistant  ──MCP/stdio──▶  majorsilence-report-mcp  ──▶  Majorsilence.Reporting engine

Install

dotnet tool install -g Majorsilence.Reporting.Mcp

Point a client at it

Claude Code:

claude mcp add majorsilence-report -- majorsilence-report-mcp

Any client that launches MCP servers itself (Claude Desktop, editors, agent frameworks) takes the same command in its own configuration format:

{
  "mcpServers": {
    "majorsilence-report": { "command": "majorsilence-report-mcp" }
  }
}

The server takes no options. --help prints a summary.

Tools

Tool Arguments Does
report_formats — Lists the output formats report_render accepts.
report_inspect path | xml, dataSourceReferencePassword? Parses a report and returns its structure as JSON — name, page size, margins, parameters (type, prompt, nullable, multi-value, defaults), datasets and fields, data sources and providers, a body-item summary, and any parse errors/warnings.
report_lint path | xml Runs the same compatibility checks as the rdl-doctor CLI (Tablix, Gauge/Indicator/Sparkline/Map, Lookup*, unknown elements, unresolved subreports/images, …) and returns the findings.
report_render format, path | xml, parameters?, connectionStringOverride?, outputPath?, dataSourceReferencePassword? Renders to pdf, html, mhtml, xml, csv, rtf, xlsx, xlsx_table, tif or tifbw. Writes to outputPath and returns a summary, or returns the result inline (text formats as text, binary as base64, up to ~8 MB).
report_scaffold spec (JSON), outputPath? Builds a minimal, valid RDL from a small spec — title, optional data source + dataset + query, an optional table over the dataset's fields, optional free-standing textboxes — and validates it by parsing before returning.

A report is given either as a file path (subreports, images and shared data-source references resolve relative to its directory) or as inline xml.

report_scaffold spec

{
  "name": "Sales by region",
  "description": "optional",
  "author": "optional",
  "pageWidth": "8.5in",
  "pageHeight": "11in",
  "dataSource": { "name": "DS1", "provider": "Microsoft.Data.Sqlite", "connectionString": "Data Source=sales.db;" },
  "dataSet": {
    "name": "Data",
    "query": "SELECT Region, Total FROM Sales",
    "fields": [
      { "name": "Region", "type": "System.String" },
      { "name": "Total",  "type": "System.Decimal" }
    ]
  },
  "table": { "columns": [ { "field": "Region", "header": "Region" }, { "field": "Total", "header": "Total", "width": "1in" } ] },
  "textboxes": [ { "text": "Sales by region", "top": "0in", "left": "0in", "width": "6in", "height": "0.3in", "bold": true, "fontSize": "16pt" } ]
}

Every part except name is optional. With no dataSet/table you get a static report of just the textboxes.

Driving the visual designer

Designer-GUI automation is a separate concern and this server does not do it. ReportDesigner is a Majorsilence.Forms app, so drive its UI with Majorsilence.Forms.Mcp pointed at the designer's WebDriverServer endpoint, and register both servers with your client:

claude mcp add majorsilence-report   -- majorsilence-report-mcp
claude mcp add majorsilence-designer  -- majorsilence-mcp --port 4444

Notes

  • No font installation is required. When a report asks for Arial / Times New Roman / Courier New / Calibri / Cambria and those aren't on the machine, the renderer substitutes the metric-compatible fonts bundled with Majorsilence.Forms.Drawing.Common (Liberation, Carlito, Caladea, plus Noto for wide Unicode coverage), so PDF/image output looks right on a bare Linux container. Installing the real fonts (ttf-mscorefonts-installer) only matters if you need those exact typefaces rather than close equivalents.
  • report_render connects to the report's data source. Pass connectionStringOverride to point it somewhere else, or scaffold/inspect without ever connecting.

Part of Majorsilence Reporting.

License

Tri-licensed — take your pick:

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
27.0.0-alpha.8 54 11/2/2026
27.0.0-alpha.6 53 10/28/2026
27.0.0-alpha.5 69 10/23/2026
27.0.0-alpha.4 61 10/21/2026
27.0.0-alpha.3 64 10/20/2026
27.0.0-alpha.2 63 10/13/2026
27.0.0-alpha.1 63 10/10/2026