Skip to main content
Glama
create_report.md5.56 kB
# create_report - Create New Living Reports The `create_report` tool allows agents to create new living reports through the MCP interface, providing a seamless MCP-only workflow for report creation and evolution. ## Overview Living reports are structured, auditable business reports that evolve safely over time. The `create_report` tool creates the initial report structure with optional templates and tags, ready for evolution via `evolve_report` and rendering via `render_report`. ## Parameters ### Required Parameters | Parameter | Type | Description | |-----------|------|-------------| | `title` | string | Human-readable title for the report | ### Optional Parameters | Parameter | Type | Description | Default | |-----------|------|-------------|---------| | `template` | string | Report template to use. Defaults to `default` if not specified. Available templates: `default` (empty report), `monthly_sales`, `quarterly_review`, `deep_dive`, `analyst_v1` (blockchain analysis with citation enforcement). | `default` | | `tags` | array of strings | Optional tags for categorization and filtering | `[]` | | `description` | string | Optional description of the report (stored in metadata) | `null` | ## Templates Available templates provide pre-configured section structures: - **`default`**: Empty report with no predefined sections (default if not specified) - **`monthly_sales`**: Sections for sales metrics, trends, and analysis - **`quarterly_review`**: Executive summary, financials, operations, and outlook - **`deep_dive`**: Detailed analysis structure with multiple investigation sections - **`analyst_v1`**: Standardized blockchain analysis reports with citation enforcement ## Usage Examples ### Basic Report Creation ```python # Create a simple report with default template result = await create_report( title="Q1 Revenue Analysis" ) # Returns: {"status": "success", "report_id": "rpt_...", "title": "Q1 Revenue Analysis", ...} ``` ### Report with Template and Tags ```python # Create report with template and tags result = await create_report( title="Monthly Sales Report", template="monthly_sales", tags=["sales", "monthly", "revenue"] ) ``` ### Report with Description ```python # Create report with full metadata result = await create_report( title="Customer Churn Analysis", template="deep_dive", tags=["analytics", "churn"], description="Comprehensive analysis of customer retention patterns" ) ``` ## Response Format ### Success Response ```json { "status": "success", "report_id": "rpt_550e8400e29b11d4a716446655440000", "title": "Q1 Revenue Analysis", "template": "default", "tags": ["q1", "revenue"], "section_ids_added": [], "insight_ids_added": [], "timing": { "outline_duration_ms": 2.34, "create_duration_ms": 5.67 }, "message": "Created report 'Q1 Revenue Analysis' with ID: rpt_550e8400e29b11d4a716446655440000" } ``` ### Response Fields - **`section_ids_added`**: Array of section IDs created from template (empty for default template) - **`insight_ids_added`**: Array of insight IDs created from template (empty for default template) - **`timing`**: Performance metrics - `outline_duration_ms`: Time to fetch/create outline - `create_duration_ms`: Total creation time ### Error Responses **Invalid Template**: ```json { "status": "validation_failed", "error_type": "invalid_template", "message": "Invalid template: nonexistent_template", "title": "My Report" } ``` **Unexpected Error**: ```json { "status": "error", "error_type": "unexpected", "message": "Error details here", "title": "My Report" } ``` ## Integration with Other Tools After creating a report, you can: 1. **Evolve the report** using `evolve_report` to add insights and sections 2. **Render the report** using `render_report` to generate HTML/PDF/Markdown output Example workflow: ```python # 1. Create report create_result = await create_report( title="Q1 Business Performance", template="quarterly_review", tags=["q1", "business"] ) report_id = create_result["report_id"] # 2. Evolve report (add insights) await evolve_report( report_selector=report_id, instruction="Add revenue insights", proposed_changes={ "insights_to_add": [{ "insight_id": "uuid-123", "summary": "Revenue grew 25% YoY", "importance": 9, "supporting_queries": [] }] } ) # 3. Render report await render_report( report_selector=report_id, format="html" ) ``` ## Storage Location Reports are stored in your igloo-mcp instance directory: - Default: `~/.igloo-mcp/reports/` - Configurable via: `IGLOO_MCP_REPORTS_ROOT` environment variable - Follows: `IGLOO_MCP_LOG_SCOPE` setting (global or repo) ## Automatic Index Synchronization Reports created via `create_report` are immediately available to other MCP tools. The `evolve_report` tool automatically refreshes the index before operations, ensuring seamless synchronization between CLI and MCP workflows. ## Best Practices - **Use descriptive titles** for easy identification and selection - **Apply appropriate templates** to get started with structured sections - **Tag reports consistently** for organization and filtering - **Add descriptions** for context and documentation - **Start with templates** then evolve with specific insights ## Related Tools - [`evolve_report`](evolve_report.md) - Modify and evolve existing reports - [`render_report`](render_report.md) - Generate human-readable output formats

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Evan-Kim2028/igloo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server