SSRS2
Markdown to editable PowerPoint, Word, PDF; checks, edits and previews RDLC/RDL reports.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http ssrs2 'https://ssrs2.net/mcp' --header 'Authorization: <Your SSRS2 license key, optional: without one, PDF and image output carry a trial watermark and calls are limited by address.>'
{
"mcpServers": {
"ssrs2": {
"type": "http",
"url": "https://ssrs2.net/mcp",
"headers": {
"Authorization": "<Your SSRS2 license key, optional: without one, PDF and image output carry a trial watermark and calls are limited by address.>"
}
}
}
}
claude mcp add --transport http ssrs2 'https://ssrs2.net/mcp/licensed'
{
"mcpServers": {
"ssrs2": {
"type": "http",
"url": "https://ssrs2.net/mcp/licensed"
}
}
}
SSRS2.Mcpclaude mcp add ssrs2 -e 'SSRS2_LICENSE=<your ssrs2_license>' -- dnx SSRS2.Mcp@1.6.0 --yes
{
"mcpServers": {
"ssrs2": {
"command": "dnx",
"args": [
"SSRS2.Mcp@1.6.0",
"--yes"
],
"env": {
"SSRS2_LICENSE": "<your ssrs2_license>"
}
}
}
}
Environment variables
SSRS2_LICENSEsecret Your SSRS2 license key. Optional: without one, previews carry a trial watermark.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
SSRS2 — Cross-Platform RDLC Report Engine for .NET
Run the RDLC reports you already have on any platform: PDF, Excel, Word, HTML and images, laid out as Microsoft's Report Viewer lays them out.
https://github.com/user-attachments/assets/66406aec-b92b-40cf-b031-2d506de34857
Drop-in replacement for the LocalReport of Microsoft's Report Viewer — runs on Windows, Linux, macOS, Docker, Kubernetes, and cloud environments. No GDI+ and no libgdiplus: on Linux it needs only fontconfig, which most systems have (the official .NET Docker images need libfontconfig1, see below).
Quick Start
dotnet add package SSRS2.NETCore
using SSRS2.Reporting.NETCore;
var report = new LocalReport();
report.LoadReportDefinition(rdlcStream);
report.DataSources.Add(new ReportDataSource("Data", yourData));
byte[] pdf = report.Render("PDF");
Your existing .rdlc files work without modification, and your LocalReport code keeps working once its namespace is changed.
In a Linux container, add fontconfig, which the official .NET images lack:
RUN apt-get update && apt-get install -y --no-install-recommends libfontconfig1 && rm -rf /var/lib/apt/lists/*
Free trial — works without a license key. Output includes a small watermark until activated.
Buy a licence at ssrs2.net/pricing: the key arrives by email within a minute. Set it as theSSRS2_LICENSEenvironment variable or callSsrs2.License.Activate("your-key").
Try it in the browser — the online designer (beta) opens your
.rdlc, previews it as SSRS2 renders it on Linux and exports PDF, Excel or Word. No install; an account is only needed to save reports online.
Why SSRS2?
Microsoft's Report Viewer runs on .NET Framework and Windows only, and has no .NET 8, 9 or 10 version (checked 2026-10-01). Microsoft points to Power BI paginated reports instead, which come with Power BI Pro at USD 14 per user per month. If you have existing RDLC reports and need to run them on modern .NET, your options are limited:
| SSRS2 | ReportViewerCore (free) | Power BI Paginated | |
|---|---|---|---|
| Linux / Docker | ✅ PDF and images included (with libfontconfig1) | ⚠️ HTML, Excel, Word | ❌ Cloud only |
| No GDI+ dependency | ✅ | ❌ System.Drawing | N/A |
| .NET 8 / 9 / 10 | ✅ | ✅ | N/A |
| .NET Framework 4.7.2+ | ✅ | ❌ | N/A |
| macOS / ARM64 | ✅ | ⚠️ Partial | ❌ |
| Self-hosted | ✅ | ✅ | ❌ |
| Support | Sold separately | Community | Microsoft |
| Data sovereignty | ✅ On your infra | ✅ | ❌ Cloud |
Export Formats
| Format | Render String | Extension |
|---|---|---|
| PDF (with hyperlinks) | "PDF" | |
| Excel | "EXCELOPENXML" | .xlsx |
| Word | "WORDOPENXML" | .docx |
| PowerPoint (editable slides) | "PPTX" | .pptx |
| HTML5 | "HTML5" | .html |
| HTML 4.0 | "HTML4.0" | .html |
| MHTML | "MHTML" | .mhtml |
| PNG | "PNG" | .png |
| JPEG | "JPEG" | .jpg |
| WebP | "WEBP" | .webp |
| TIFF (all pages) | "IMAGE" | .tif |
| CSV | "CSV" | .csv |
| XML | "XML" | .xml |
Beyond rendering
- Check a report without running it:
report.CheckDefinition()returns each problem of a definition (its code, item, property and expression), without rendering it. - Reports your application did not write:
RestrictedCode = trueholds their expressions and custom code to what a report computes with: no files, environment, processes or reflection (.NET 8, 9 and 10). - PDF settings: the report's title and author, passwords and permissions (AES-256), or PDF/A-2b for archives.
- A viewer of your own:
Toggle,Sort,FindBookmark,FindDocumentMapNodeandDrillthroughdo what Report Viewer's control does on a click. - AI coding agents:
dnx SSRS2.Mcpgives Claude Code, Cursor or VS Code tools that check and preview the reports they write, on your machine (SSRS2.Mcp).
Platform Support
| Platform | Status |
|---|---|
| Windows x64 | ✅ |
| Linux x64 and ARM64 | ✅ |
| macOS | ✅ |
| Docker containers | ✅ |
| Azure App Service (where ssrs2.net runs) | ✅ |
.NET Framework Support
| Framework | Status |
|---|---|
| .NET Framework 4.7.2 | ✅ |
| .NET Framework 4.8 | ✅ |
| .NET 8.0 (LTS) | ✅ |
| .NET 9.0 | ✅ |
| .NET 10.0 | ✅ |
Migration from Microsoft ReportViewer
// Before (Microsoft Report Viewer — Windows only)
using Microsoft.Reporting.WinForms;
// After (SSRS2 — runs anywhere)
using SSRS2.Reporting.NETCore;
// Same API. Same RDLC files. Any platform.
var report = new LocalReport();
report.LoadReportDefinition(rdlcStream);
report.DataSources.Add(new ReportDataSource("Data", yourData));
byte[] pdf = report.Render("PDF");
Migrate at your own pace — SSRS2 supports .NET Framework 4.7.2/4.8 AND .NET 8/9/10. Adopt on your existing .NET Framework app today, move to .NET 10 when ready.
📖 Full migration guide with cost comparison →
Licensing
SSRS2 is a commercial product with a free trial (watermarked output).
- One licence per company: USD 799 a year, or USD 1,999 for three years — no per-seat or per-server fees
- Unlimited developers, applications, servers and renders: nothing is counted, and the key is checked offline
- All features included in every licence, with every release published while it runs; a key keeps working forever with those releases
- Not included: support, migration help and custom work (sold separately), and shipping SSRS2 inside software other companies install (a separate redistribution licence)
Buy online at ssrs2.net/pricing; the licence terms are one page.
Resources
| Resource | Link |
|---|---|
| 🌐 Website | ssrs2.net |
| 🎮 Live Demo | ssrs2.net/demo |
| 🎨 Online Designer (beta) | designer.ssrs2.net |
| 📖 Migration Guide | ssrs2.net/ssrs-to-dotnet-core |
| 📊 Feature Comparison | ssrs2.net/compare |
| 💰 Pricing | ssrs2.net/pricing |
| 📝 Medium Article | SSRS to .NET Core: 3 Options Compared |
| 🤖 Medium Article | Designing SSRS reports with an AI agent |
| 📦 NuGet | nuget.org/packages/SSRS2.NETCore |
Support
| Channel | Purpose |
|---|---|
| GitHub Issues | Bug reports & feature requests |
| ssrs2.net | Documentation & demos |
| sales@ssrs2.net | Licences, and support or migration help (sold separately) |
SSRS2 — Enterprise Reporting for Modern .NET
Frequently asked questions
What is SSRS2?
Markdown to editable PowerPoint, Word, PDF; checks, edits and previews RDLC/RDL reports.
How do I install SSRS2?
It runs as a remote server. In Claude Code: claude mcp add --transport http ssrs2 'https://ssrs2.net/mcp' --header 'Authorization: <Your SSRS2 license key, optional: without one, PDF and image output carry a trial watermark and calls are limited by address.>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does SSRS2 need an API key?
Yes. It expects SSRS2_LICENSE, Authorization, which you set in its configuration.
Is SSRS2 open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains SSRS2?
It is published by AntoineGou. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.