🎸New!Tender Monitoring with Midesk's New TED Online Integration

MCP — Narrative & report automation

MCP namespace

Narrative & report automation

Compose living reports, apply templates, and maintain analyst narratives programmatically.

Report namespace tools let MCP agents build and update slide decks, insight pages, and long-form deliverables. Automate how intelligence reaches decision makers without breaking version control.

From raw insight to board-ready narrative in a single prompt.

  • Create or duplicate full reports with reusable templates.
  • Inject structured insights and auto-build layout blocks.
  • Guarantee every page carries the latest narrative and data.

Available MCP tools

Ask your assistant to call these functions by name. Each tool mirrors the behaviour available in the Midesk interface so your automation stays compliant and auditable.

Add Insight

reports__add_insightReports & Narratives

[STEP 2: Quick Add] ANY content becomes a slide. Accepts strings, arrays, or objects. Auto-creates page and layout; returns preview and next questions.

Parameters

  • report_id

    string

    The ID of the report to add page to (null = create new report)

  • insight

    string

    ANYTHING — text, array/object (as raw JSON or native). No schema required.

  • page_title

    string

    Optional: add this insight into an existing page by title (or create it if missing).

  • prefer_two_column

    boolean

    Optional: use a 60/40 two-column layout with “Next questions” on the right.

  • context

    string

    What is this? Why does it matter?

  • emphasis

    string

    The point you are making (used as slide title when present)

Apply Template

reports__apply_templateReports & Narratives

[STEP 2B: Apply Template] Apply professional layout: header_two_columns, three_columns, dashboard_grid, sidebar_main, hero_sections.

Parameters

  • page_id

    string

    Required

    Report page ID where layout will be created

  • layout_type

    string

    Required

    Layout template: header_two_columns, three_columns, dashboard_grid, sidebar_main, hero_sections

  • title

    string

    Main title/header text for layouts that include a header section

  • subtitle

    string

    Subtitle text for header sections

Create

reports__createReports & Narratives

[STEP 1: Create] Generate professional market intelligence reports, competitor analysis dashboards, and strategic insights presentations. Next: Use `reports__apply_template` for templates or `reports__create_or_update_block` for custom layout.

Parameters

  • title

    string

    Required
  • subtitle

    string

Create Or Update Block

reports__create_or_update_blockReports & Narratives

[STEP 3: Create or Update Block] Create or update report blocks. SIMPLE: Standalone blocks - just provide page_id, block_type, and *_config. COLUMNS (preferred): Use containers for professional multi-column layouts (container_id + column_index). UPDATE: Use block_id to update existing blocks.

Parameters

  • page_id

    string

    Required

    Report page ID

  • block_id

    string

    Existing block ID. When provided, updates value only.

  • block_type

    string (container, text, data, news, image, ai_table, kpi, swot, timeline, matrix, comparison, table, chart, callout, checklist, source)

    Required

    Type of block to create/update

    Allowed values: container, text, data, news, image, ai_table, kpi, swot, timeline, matrix, comparison, table, chart, callout, checklist, source

  • container_id

    string

    Container block ID (only needed for multi-column layouts)

  • column_index

    number

    Column index (0, 1, or 2) - only needed when using containers

  • position

    number

    Optional insertion position within the column (0-based). Default: append at end.

  • container_config

    object

    Configuration for container blocks

    Nested fields

    • columns

      array

      Column widths (e.g., "[0.6, 0.4]" for 2 columns). Must sum to 1.

      Array items

      • [item]

        string

  • text_config

    object

    Configuration for text blocks

    Nested fields

    • content

      string

      Markdown formatted text (supports **bold**, *italic*, __underline__, headers, lists)

  • data_config

    object

    Configuration for data blocks

    Nested fields

    • data_model_id

      string

      ID of data model to display

    • data_type_id

      string

      ID of data type within model

    • period

      string (y, q, m, w, d)

      Time period

      Allowed values: y, q, m, w, d

  • news_config

    object

    Configuration for news blocks

    Nested fields

    • channel_ids

      string

      Comma-separated channel IDs to display

    • limit

      number

      Number of items to show (default 5)

  • ai_table_config

    object

    Configuration for AI table blocks

    Nested fields

    • data_query

      string

      Mention data query string

    • analysis_prompt

      string

      How AI should analyze the data

  • image_config

    object

    Configuration for image blocks

    Nested fields

    • image_url

      string

      HTTPS URL (Unsplash only, strict validation). Also supports shorthand: unsplash:random or unsplash:random?query=growth

    • image_key

      string

      Direct S3 key for existing image (alternative to image_url)

    • replace_media

      boolean

      On update, clear previous media before attaching (default true)

  • kpi_config

    object

    Configuration for KPI blocks

    Nested fields

    • metrics

      array

      Array of metrics with label, value, unit, trend, target, color

      Array items

      • [item]

        string

    • layout

      string (grid, list)

      Layout style

      Allowed values: grid, list

  • swot_config

    object

    Configuration for SWOT blocks

    Nested fields

    • strengths

      array

      Array of strength statements

      Array items

      • [item]

        string

    • weaknesses

      array

      Array of weakness statements

      Array items

      • [item]

        string

    • opportunities

      array

      Array of opportunity statements

      Array items

      • [item]

        string

    • threats

      array

      Array of threat statements

      Array items

      • [item]

        string

  • timeline_config

    object

    Configuration for timeline blocks

    Nested fields

    • milestones

      array

      Array of milestones with date, title, description, type, status

      Array items

      • [item]

        string

    • orientation

      string (horizontal, vertical)

      Timeline orientation

      Allowed values: horizontal, vertical

  • matrix_config

    object

    Configuration for matrix blocks

    Nested fields

    • axes

      array

      X and Y axis configuration

      Array items

      • [item]

        string

    • items

      array

      Array of items to plot with id, label, x, y, size, color

      Array items

      • [item]

        string

  • comparison_config

    object

    Configuration for comparison blocks

    Nested fields

    • headers

      array

      Array of column headers

      Array items

      • [item]

        string

    • rows

      array

      Array of rows with label, values, and highlight flag

      Array items

      • [item]

        string

  • table_config

    object

    Configuration for table blocks

    Nested fields

    • headers

      array

      Array of column headers

      Array items

      • [item]

        string

    • rows

      array

      Array of row objects with cells

      Array items

      • [item]

        string

    • align

      array

      Optional per-column alignment: left|center|right

      Array items

      • [item]

        string

    • compact

      boolean

      Compact density

    • totals

      array

      Optional totals row

      Array items

      • [item]

        string

  • chart_config

    object

    Configuration for chart blocks

    Nested fields

    • type

      string

      bar|line|area|pie|donut|waterfall

    • labels

      array

      X-axis or category labels

      Array items

      • [item]

        string

    • series

      array

      Series items with name and data (array of objects or arrays)

      Array items

      • [item]

        string

    • stacked

      boolean

      Stacked series when applicable

    • legend

      boolean

      Show legend

    • colors

      array

      Hex colors

      Array items

      • [item]

        string

    • yAxis

      array

      YAxis bounds as [min,max]

      Array items

      • [item]

        number

        min,max

  • callout_config

    object

    Configuration for callout blocks

    Nested fields

    • title

      string

      Primary message

    • body

      string

      Supporting explanation

    • variant

      string

      info|success|warning|danger|risk|neutral

    • icon

      string

      Icon key (optional)

  • checklist_config

    object

    Configuration for checklist blocks

    Nested fields

    • items

      array

      Checklist items [{text, owner, due, status}]

      Array items

      • [item]

        string

    • showProgress

      boolean

      Show completion bar

  • source_config

    object

    Configuration for source/citation blocks

    Nested fields

    • lines

      array

      Source lines

      Array items

      • [item]

        string

    • compact

      boolean

      Compact style

Create Or Update Page

reports__create_or_update_pageReports & Narratives

[STEP 2: Create / Update Page] Create new pages or update existing ones. Use McKinsey/BCG/Bain style of writing titles and subtitles.; Keep short & impactful. Before you use this tool, list what the purpose of the page. Pages contain standalone blocks (typically only summary slides) and very frequently multi-column layouts aka "containers". Most frequent containers (2-3 columns), example: SWOT block in the left column, text block with key takeaways in the right column. Remember to update title / subtitle to refine it based page content.

Parameters

  • page_id

    string

    Page ID for updates (optional - creates new page if not provided)

  • report_id

    string

    Report ID (required for new pages, ignored for updates)

  • title

    string

    Page title (required for create, optional for update)

  • subtitle

    string

    Page subtitle (optional)

  • page_type

    string (content, section_divider)

    Page type (semantics): content (has blocks), section_divider (plain - only title/subtitle). Default: content

    Allowed values: content, section_divider

  • position

    number

    Position in report (0-based index). Default: append at end

  • metadata

    object

    Additional page metadata (optional)

    Nested fields

    • note

      string

      Internal note about the page

Duplicate

reports__duplicateReports & Narratives

[STEP 7: Duplicate] Clone whole report (pages, blocks, formatting). Returns new report_id.

Parameters

  • source_report_id

    string

    Required

    The ID of the report to clone

  • new_title

    string

    Required

    Title for the cloned report (2-70 characters)

Ensure Narrative

reports__ensure_narrativeReports & Narratives

[STEP 4: Narrative Check] Finds missing story beats and auto-fixes: Executive Summary, data explanation, Next Steps.

Parameters

  • report_id

    string

    Required

    Target report id

  • add_executive_summary

    boolean

    Add executive summary if missing

  • explain_data_without_text

    boolean

    Add “What this means” slide for data-only pages

  • add_next_steps

    boolean

    Add a Next Steps slide if missing

List

reports__listReports & Narratives

[STEP 7: List] List all reports. Optional search + sort. Returns id, title, subtitle, page_count, timestamps.

Parameters

  • search

    string

    Optional search term to filter reports by title or subtitle

  • order_by

    string

    Sort field: created_at (default), updated_at, or title

  • order_direction

    string

    Sort direction: desc (default) or asc

Show

reports__showReports & Narratives

[STEP 6: Show] Get complete report structure: metadata, pages, blocks, plus narrative_flow, missing_pieces, export readiness.

Parameters

  • report_id

    string

    Required

    The ID of the report to show

Last refreshed from MCP: Sep 22, 2025, 3:45 AM

Playbook ideas

Use these prompts as starting points. They combine multiple tools from this namespace with other MCP capabilities to deliver analyst-grade output.

Stand up a weekly executive brief

`reports__apply_template` seeds a report skeleton, while `reports__add_insight` populates highlights gathered earlier in the chat.

Keep slides synchronized

Use `reports__create_or_update_block` to refresh charts, text boxes, or tables without opening PowerPoint.

Orchestrate multi-page deliverables

`reports__create_or_update_page` and `reports__ensure_narrative` help your AI maintain storyline consistency before exporting.

Keep exploring

Hop back to the MCP catalog to combine these tools with monitoring, data, and reporting workflows.

View all MCP areas

Need guided onboarding?

Our team can help you script MCP playbooks tailored to your processes.

See our solution in action

Let's discuss your particular Market & Competitive Intelligence needs and see how Midesk can address them.

© 2019 - 2025 Midesk UG (haftungsbeschränkt)