{
  "name": "SSRS2 reports",
  "description": "Turns Markdown (documents and Marp decks) into editable PowerPoint, Word and PDF, and checks, previews and converts RDLC and RDL reports by Report Viewer's rules. Deterministic: no language model; the same input gives the same file.",
  "supportedInterfaces": [
    {
      "url": "https://mcp.ssrs2.net/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "SSRS2",
    "url": "https://ssrs2.net"
  },
  "version": "1.5.0",
  "documentationUrl": "https://ssrs2.net/auth.md",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "license": {
      "httpAuthSecurityScheme": {
        "scheme": "Bearer",
        "description": "Optional: an SSRS2 licence key (SSRS2-...) or an access token of ssrs2.net's sign-in. Without one, PDF and image output carry a trial watermark and calls are limited by address. https://ssrs2.net/auth.md"
      }
    }
  },
  "securityRequirements": [],
  "defaultInputModes": [
    "text/markdown",
    "application/xml",
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "application/vnd.openxmlformats-officedocument.presentationml.presentation",
    "application/pdf",
    "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    "image/tiff",
    "image/png",
    "text/csv",
    "application/xml"
  ],
  "skills": [
    {
      "id": "convert",
      "name": "Convert Markdown or a report to a file",
      "description": "Markdown or a report definition converted to PowerPoint (editable slides: a Marp deck becomes a deck), PDF, Word, Excel, a TIFF or PNG image, CSV or XML. The file comes back as a part with a url, downloaded once within ten minutes; a data part holds the check. Send the Markdown (a text or file part, text/markdown) or the report definition (application/xml, or a .rdlc file), and a data part with the options: {\"skill\": \"convert\", \"format\": \"pptx\"}; the format may also come from configuration.acceptedOutputModes or a short text part naming it. Optional in the data part: pictures ({\"img/a.png\": \"<base64>\"}), sampleData, parameters, culture. The task finishes within SendMessage.",
      "tags": [
        "markdown",
        "powerpoint",
        "pptx",
        "pdf",
        "word",
        "docx",
        "rdlc",
        "report"
      ],
      "examples": [
        "Convert this Markdown deck to an editable PowerPoint",
        "Make a PDF of this RDLC report"
      ],
      "inputModes": [
        "text/markdown",
        "application/xml",
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/vnd.openxmlformats-officedocument.presentationml.presentation",
        "application/pdf",
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        "image/tiff",
        "image/png",
        "text/csv",
        "application/xml"
      ]
    },
    {
      "id": "validate",
      "name": "Check a report",
      "description": "A report definition (or Markdown) checked as Report Viewer runs it: the XML, the RDL schema, every expression compiled, a run with rows. A data part answers ok, a summary and the diagnostics, each with its item, expression and a hint. Send the Markdown (a text or file part, text/markdown) or the report definition (application/xml, or a .rdlc file), and a data part with the options: {\"skill\": \"validate\"}; the format may also come from configuration.acceptedOutputModes or a short text part naming it. Optional in the data part: pictures ({\"img/a.png\": \"<base64>\"}), sampleData, parameters, culture. The task finishes within SendMessage.",
      "tags": [
        "rdlc",
        "rdl",
        "validate",
        "report",
        "ssrs"
      ],
      "examples": [
        "Check this RDLC report for errors"
      ],
      "inputModes": [
        "text/markdown",
        "application/xml",
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "preview",
      "name": "Render a report's pages",
      "description": "A report or Markdown rendered as it prints: each page a PNG image part, and a data part with what the pages say. Send the Markdown (a text or file part, text/markdown) or the report definition (application/xml, or a .rdlc file), and a data part with the options: {\"skill\": \"preview\"}; the format may also come from configuration.acceptedOutputModes or a short text part naming it. Optional in the data part: pictures ({\"img/a.png\": \"<base64>\"}), sampleData, parameters, culture. The task finishes within SendMessage.",
      "tags": [
        "preview",
        "render",
        "png",
        "report"
      ],
      "examples": [
        "Show me the pages of this deck"
      ],
      "inputModes": [
        "text/markdown",
        "application/xml",
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "image/png",
        "application/json"
      ]
    }
  ]
}