accueil / serveurs / Fichiers & Documents / io.github.AntoineGou/ssrs2
io.github.AntoineGou/ssrs2
serveur MCP (Model Context Protocol) · ssrs2 1.5.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.AntoineGou/ssrs2 est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.AntoineGou/ssrs2 » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 6 outils
- compare_reports≈ 292 tokens
Groups report definitions (RDL or RDLC) by structure, to plan one change across many: a group's reports have the same items, datasets, parameters and code modules and differ only in places, texts and looks, so one set of operations naming their items changes them alike. Returns groups, the largest first: structure (edit_report's structure), roles (what role:signature and the like name there), differs (how its first report differs from the first group's), places (items placed otherwise), and versions: each report and its version.
Paramètres, retour & exemple (2)
Paramètresdetail· string|null · optionnel
"full": each group's reports listed too, beside their versions.reports· object · requis
The reports by name: {"Receipt_de-CH.rdlc": "<the report's XML>", ...}; 50 at most, 20 MB in all.
Exemple d'appel{"name": "compare_reports", "arguments": {"reports": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - convert_report≈ 560 tokens
Converts a report (RDL or RDLC) or Markdown (a document, or slides) with SSRS2 (Report Viewer's rules) to pptx (PowerPoint's own text boxes, tables and pictures, a slide per page: a Markdown deck becomes a deck), pdf, docx, xlsx, mhtml, tiff, png (the first page), csv or xml. It is checked first, as validate_report checks it: with errors nothing is written. Returns validate_report's answer and written: the file's name and size, url (downloaded once, within ten minutes), curl (the command that saves it), and what it holds read back as PowerPoint (slides) or Word and a PDF reader (document) get it. help: ["answers"] says more.
Paramètres, retour & exemple (9)
Paramètreshelp· ? · optionnel
true, or topics (["markdown", "decks"]): the reference only.name· string|null · optionnel
The file's name, without its extension (default: the Markdown's title, else report).rdlc· string|null · optionnel
The report definition's XML (RDL or RDLC). Give rdlc or markdown.format· string|null · optionnel
pptx (default), pdf, docx, xlsx, mhtml, tiff, png, csv or xml.culture· string|null · optionnel
The culture of a report that names no Language (en-US, de-CH); left out, en-US.markdown· string|null · optionnel
Markdown's text: a document, or slides with marp: true. Give rdlc or markdown.pictures· object|null · optionnel
The pictures the Markdown names, by its paths: {"images/chart.png": "<base64>"}; 5 MB each, 20 MB in all.parameters· object|null · optionnel
Report parameter values by name (a multi-value one's separated by commas).sampleData· ? · optionnel
Rows per dataset: {"DataSet": [{"Field": value}]}, dates as ISO text. Left out, made up from the fields' types.
Exemple d'appel{"name": "convert_report", "arguments": {"help": "texte", "name": "texte", "rdlc": "texte", "format": "texte", "culture": "texte", "markdown": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - describe_report≈ 322 tokens
Outlines a report definition (RDL or RDLC) to plan a change: its page, datasets and fields, parameters, and every item top to bottom with its kind, place and size in cm, what it shows and does (hidden, toggled, page breaks), and its role (title, table, totals, declaration, signature...), which role:signature and the like name in edit_report and validate_report whatever the report calls the item. Returns version (edit_report's baseVersion) and outline; with item, that part's XML as written, with its lines (to copy an edit's find from).
Paramètres, retour & exemple (4)
Paramètresitem· string|null · optionnel
One part in full: a name, a role (role:signature) or a path (WorkInstructions/TablixRow[3]): its outline and XML.part· integer · optionnel
Outline part, from 1.rdlc· string · requis
The report definition's XML (RDL or RDLC).detail· string|null · optionnel
"full": every text whole and why each role was guessed.
Exemple d'appel{"name": "describe_report", "arguments": {"rdlc": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - edit_report≈ 709 tokens
Changes a report definition (RDL, RDLC) given as its XML by operations (the SSRS2 designer's own), all or none. The text is patched (the rest as it was), then checked: its new problems and pages said. The answer's rdlc is the changed report (past 200 KB, url and curl: a download within ten minutes). Operations ("op"): dataset, parameter, page, header, footer, code, textbox, table, matrix, list, chart, gauge, indicator, databar, sparkline, image, barcode, subreport, line, rectangle, set, remove, space, move, swap, copy, field, column, remove_column, row, total, group, sort, widths, filter. A new item goes "after" or "before" an item or a role (role:signature), "in" a container or "at":[x, y] cm. Call help: ["textbox","set"] first: their words.
Paramètres, retour & exemple (18)
Paramètresfit· boolean · optionnel
With keepPages: a block that costs rows is written in the form checked to keep them.help· ? · optionnel
Operations' names, or true.rdlc· string|null · optionnel
The report's XML.check· boolean · optionnel
Check after (default true).edits· ? · optionnel
Or exact replacements: [{find, replace, in?, all?}].detail· string|null · optionnel
"full": every item, the diff whole.dryRun· boolean · optionnel
The diff, not the report.rewrite· boolean · optionnel
Write anew a report that cannot be patched.summary· string|null · optionnel
Said back.maxPages· integer|null · optionnel
Refuse a report printing more pages.pictures· object|null · optionnel
Pictures an image names by its file: {"path": "<base64>"}.variants· ? · optionnel
As validate_report's; their pages said.keepPages· boolean · optionnel
Refuse a change that would print more pages, or at fewer table rows (variants, rowCounts too).rowCounts· ? · optionnel
As validate_report's: {DataSet: "1..30"}.operations· array|null · optionnel
The operations, in order.parameters· object|null · optionnel
Parameter values.sampleData· ? · optionnel
Rows: {DataSet: [{Field: value}]}.baseVersion· string|null · optionnel
describe_report's version.
Exemple d'appel{"name": "edit_report", "arguments": {"fit": true, "help": "texte", "rdlc": "texte", "check": true, "edits": "texte", "detail": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - render_preview≈ 643 tokens
Renders a report definition (RDL or RDLC) or Markdown (a document, or slides: a page each) with SSRS2, the Report Viewer engine, and returns its pages as PNG, as a PDF of it would show them: a JSON summary first (what validate_report answers, no need to validate first; madeUpRows; conversion for Markdown, what it approximated at its lines; text, what the pages print, page by page in reading order, where values are read exactly), then an image per page, or one image of numbered thumbnails (sheet) to see a deck or a long report whole. A report with errors is not rendered. help: ["answers"] says more.
Paramètres, retour & exemple (12)
Paramètresdpi· integer · optionnel
The images' dots per inch, 48 to 200 (default 96: an A4 page is 794 x 1123 pixels).help· ? · optionnel
true, or topics (["markdown", "decks"]): the reference only.rdlc· string|null · optionnel
The report definition's XML (RDL or RDLC). Give rdlc or markdown.pages· integer|null · optionnel
Pages to return: 3 by default, 10 at most; with sheet, 30.sheet· boolean · optionnel
One image of up to 30 pages as numbered thumbnails, too small to read: look at a page itself for that.culture· string|null · optionnel
The culture of a report that names no Language (en-US, de-CH); left out, en-US.markdown· string|null · optionnel
Markdown's text: a document, or slides with marp: true. Give rdlc or markdown.pictures· object|null · optionnel
The pictures the Markdown names, by its paths: {"images/chart.png": "<base64>"}; 5 MB each, 20 MB in all.firstPage· integer · optionnel
The first page to return (default 1).madeUpRows· ? · optionnel
"all": every made-up row in the answer, not a summary.parameters· object|null · optionnel
Report parameter values by name (a multi-value one's separated by commas).sampleData· ? · optionnel
Rows per dataset: {"DataSet": [{"Field": value}]}, dates as ISO text. Left out, made up from the fields' types.
Exemple d'appel{"name": "render_preview", "arguments": {"dpi": 1, "help": "texte", "rdlc": "texte", "pages": 1, "sheet": true, "culture": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - validate_report≈ 714 tokens
Checks a report definition (RDL or RDLC) or Markdown with SSRS2's engine (Report Viewer's rules): XML, schema, every expression compiled, then a run with rows through every page. Returns ok, a summary and diagnostics (code, severity, item, property, expression, line, message, hint); atRunTime counts what failed as it ran (#Error cells). Call it after each change until ok is true and atRunTime absent. Expressions are Visual Basic and may only compute (restrictedCode). Also layout, expect, variants, rowCounts and the report as it was (baselineRdlc): help: ["checks"].
Paramètres, retour & exemple (14)
Paramètreshelp· ? · optionnel
true, or topics (["markdown", "decks"]): the reference only.rdlc· string|null · optionnel
The report definition's XML (RDL or RDLC). Give rdlc or markdown.expect· ? · optionnel
Rules: {"order": ["role:table", "Block?", "role:signature"]}, samePage, page, pages, maxPages, noOverlap. An item named and not printed fails its rule, unless written Name? (a variant may hide it).layout· ? · optionnel
true, or names and roles (role:signature): where each item printed, its page and place in cm.render· boolean · optionnel
false: the definition only, no expression runs.culture· string|null · optionnel
The culture of a report that names no Language (en-US, de-CH); left out, en-US.markdown· string|null · optionnel
Markdown's text: a document, or slides with marp: true. Give rdlc or markdown.pictures· object|null · optionnel
The pictures the Markdown names, by its paths: {"images/chart.png": "<base64>"}; 5 MB each, 20 MB in all.variants· ? · optionnel
Renders again with rows changed: [{"name": "no deposit", "sampleData": {"Deposit": null}}].rowCounts· ? · optionnel
{"Requests": "1..30"}: the pages of each count and the first that adds a page.madeUpRows· ? · optionnel
"all": every made-up row in the answer, not a summary.parameters· object|null · optionnel
Report parameter values by name (a multi-value one's separated by commas).sampleData· ? · optionnel
Rows per dataset: {"DataSet": [{"Field": value}]}, dates as ISO text. Left out, made up from the fields' types.baselineRdlc· string|null · optionnel
The report as it was (its XML): only new warnings are said, with pages before.
Exemple d'appel{"name": "validate_report", "arguments": {"help": "texte", "rdlc": "texte", "expect": "texte", "layout": "texte", "render": true, "culture": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».