Skip to main content
Glama
nathanwolfe2208

Report Builder MCP Server

Report Builder MCP Server

An MCP (Model Context Protocol) server for formatting AI agent outputs into professional reports, emails, and documents. Built for the AI Operations Platform.

๐ŸŽฏ Purpose

This MCP server helps you:

  • โœ… Format agent outputs into email-ready templates

  • โœ… Create professional HTML reports with branding

  • โœ… Generate executive summaries from long content

  • โœ… Validate output quality (detect generic AI language)

  • โœ… Apply client-specific branding to outputs

๐Ÿš€ Quick Start

  1. Fork this to Replit:

    • Go to Replit.com

    • Click "Create Repl" โ†’ Import from GitHub

    • Or create a new Node.js repl and copy these files

  2. Install dependencies:

    npm install
  3. Test the server:

    npm test
  4. Run HTTP API (for platform integration):

    npm install express
    node http-server.js

Option 2: Deploy to Railway/Render

  1. Push to GitHub

  2. Connect to Railway.app or Render.com

  3. Set build command: npm install

  4. Set start command: node http-server.js

  5. Deploy!

Option 3: Use with Claude Desktop

  1. Install locally:

    git clone <your-repo>
    cd report-builder-mcp
    npm install
  2. Add to Claude Desktop config:

    Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

    Windows: %APPDATA%/Claude/claude_desktop_config.json

    {
      "mcpServers": {
        "report-builder": {
          "command": "node",
          "args": ["/absolute/path/to/report-builder-mcp/server.js"]
        }
      }
    }
  3. Restart Claude Desktop

๐Ÿ› ๏ธ Available Tools

1. create_email_template

Converts agent output into email-ready format.

Input:

{
  "content": "Q4 revenue exceeded expectations by 15%...",
  "recipient_name": "John Smith",
  "subject": "Q4 Performance Report",
  "sender_name": "Audrey - Financial Analyst",
  "branding": "TechCorp Analytics",
  "include_disclaimer": true
}

2. format_report_html

Creates professional HTML report with sections and styling.

Input:

{
  "title": "Quarterly Analysis Report",
  "content": "Main report content...",
  "sections": [
    {
      "title": "Executive Summary",
      "content": "Key findings..."
    }
  ],
  "summary": "Brief overview...",
  "branding": "Company Name"
}

3. validate_output_quality

Checks agent output for generic AI language and specialization.

Input:

{
  "content": "Your agent's output here...",
  "expected_role": "legal assistant",
  "check_tone": true
}

Output:

{
  "quality_score": 85,
  "status": "GOOD",
  "issues": [],
  "suggestions": [],
  "content_length": 245
}

4. create_executive_summary

Condenses long content into key points.

Input:

{
  "full_content": "Long detailed content...",
  "max_points": 5,
  "include_recommendations": true
}

5. add_branding

Applies client-specific branding to content.

Input:

{
  "content": "Your content here...",
  "client_id": "client-123",
  "brand_elements": {
    "primary_color": "#0066cc",
    "company_name": "TechCorp",
    "tagline": "Excellence in AI"
  }
}

๐ŸŒ HTTP API Usage

If you're running the HTTP server (node http-server.js), you can call tools via REST API:

Health Check

curl http://localhost:3000/health

List Tools

curl http://localhost:3000/tools

Format Email (Convenience Endpoint)

curl -X POST http://localhost:3000/format-email \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Q4 revenue exceeded expectations...",
    "recipient": "John Smith",
    "subject": "Q4 Report",
    "sender": "Audrey"
  }'

Check Quality (Convenience Endpoint)

curl -X POST http://localhost:3000/check-quality \
  -H "Content-Type: application/json" \
  -d '{
    "content": "As an AI, I cannot provide legal advice...",
    "role": "legal assistant"
  }'

Execute Any Tool

curl -X POST http://localhost:3000/tools/create_executive_summary \
  -H "Content-Type: application/json" \
  -d '{
    "full_content": "Your long content here...",
    "max_points": 5
  }'

๐Ÿ”— Integration with Your Platform

N8N Workflow Integration

Create an N8N workflow:

  1. Webhook Trigger - Receives data from your AI agent

  2. HTTP Request Node - Calls this MCP API

    • Method: POST

    • URL: https://your-deployed-mcp.com/tools/create_email_template

    • Body: Agent output data

  3. Process Response - Format the result

  4. Return to Platform - Send formatted output back

Example N8N HTTP Request:

{
  "method": "POST",
  "url": "{{ $env.MCP_API_URL }}/format-email",
  "body": {
    "content": "{{ $json.agent_output }}",
    "recipient": "{{ $json.recipient_name }}",
    "subject": "{{ $json.subject }}",
    "sender": "{{ $json.agent_name }}"
  }
}

Direct Platform Integration

If your platform supports HTTP calls:

// In your platform's agent workflow
const response = await fetch('https://your-mcp-api.com/format-email', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    content: agentOutput,
    recipient: customerName,
    subject: reportTitle,
    sender: agentName
  })
});

const { email } = await response.json();
// Use formatted email

๐Ÿ“ Action Items Addressed

This MCP helps with your meeting action items:

โœ… Employee Response Customization - Use validate_output_quality to test if Audrey's responses are specialized

โœ… Report Generation Workflow - Use create_email_template and format_report_html to format outputs for customers

โœ… MCP Integration - This entire server demonstrates MCP integration for your platform

๐Ÿงช Testing

Run the test suite:

npm test

This will test all 5 tools with example data.

๐Ÿ“ฆ Package Updates

Update dependencies:

npm install @modelcontextprotocol/sdk@latest

Add Express for HTTP API:

npm install express

๐Ÿ› Troubleshooting

MCP not appearing in Claude Desktop?

  • Check the path in your config is absolute

  • Restart Claude Desktop completely

  • Check server.js has execute permissions: chmod +x server.js

HTTP API not working?

  • Make sure Express is installed: npm install express

  • Check the port is available (default: 3000)

  • Look for error messages in console

Tools returning errors?

  • Check the input matches the expected schema

  • Use the test script to validate: npm test

  • Check server logs for specific error messages

๐Ÿš€ Next Steps

  1. Test locally - Run npm test to see it work

  2. Deploy to Railway - Get a public URL for platform integration

  3. Create N8N workflow - Connect to your AI Operations Platform

  4. Build more tools - Add custom tools for your specific needs

๐Ÿ“– Additional Resources

๐Ÿ‘ค Author

Built by Nathan for the AI Operations Platform collaboration with Chris, David, and Charlie Butler.

๐Ÿ“„ License

MIT

Install Server
A
security โ€“ no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/nathanwolfe2208/mcp'

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