Skip to main content
Glama
agentmindsdev

agentminds-mcp

Official

agentminds_push

Push detailed agent reports with severity, metrics, warnings, recommendations, and learned patterns to AgentMinds Central to receive improved analysis and insights.

Instructions

Push detailed agent data to AgentMinds Central. IMPORTANT: Send FULL data, not just names and scores.

Each agent report MUST include:

  • severity: "critical" | "warning" | "info"

  • summary: what the agent found (1-2 sentences)

  • metrics: key numbers (e.g. {total_leads: 567, bounce_rate: 3.5, open_rate: 12})

  • warnings: array of issues found [{severity: "warning", message: "..."}]

  • recommendations: array of suggested fixes [{title: "...", priority: "high"}]

  • memory.learned_patterns: what the agent learned [{pattern: "...", category: "...", confidence: 0.9, status: "active", impact: "high"}]

The MORE detail you send, the BETTER recommendations you get back. Empty data = empty recommendations.

Example: {agent: "lead_hunter", report: {severity: "warning", summary: "567 leads found but 0% open rate", metrics: {total_leads: 567, emails_found: 230, open_rate: 0, bounce_rate: 8.3}, warnings: [{severity: "critical", message: "0% email open rate - emails likely going to spam"}], recommendations: [{title: "Warm up email domain before bulk sending", priority: "critical"}]}, memory: {learned_patterns: [{pattern: "cold_email_spam", category: "email_deliverability", confidence: 0.9, status: "active", impact: "critical", detail: "Bulk cold emails without domain warmup go to spam"}]}}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
reportsNoArray of DETAILED agent reports. Each must have: agent, report (severity, summary, metrics, warnings, recommendations), memory (learned_patterns)
brain_export_urlNoURL for Central to pull brain data from (alternative to sending reports directly)

Implementation Reference

  • The handler function for the agentminds_push tool. It accepts brain_export_url or reports array, pushes data to AgentMinds Central via HTTP POST to /api/v1/connect or /api/v1/sync/bulk, and returns a summary of what was pushed.
    case "agentminds_push": {
      if (args?.brain_export_url) {
        // Let Central pull from the URL
        const data = await httpPost("/api/v1/connect", {
          brain_export_url: args.brain_export_url,
        });
        const pushed = data.data_pushed || {};
        return {
          content: [{ type: "text", text: `# Data Pushed to AgentMinds\n\nAgents: ${pushed.agents || 0}\nPatterns: ${pushed.patterns || 0}\nURL: ${pushed.url || args.brain_export_url}\n\nYour data is now in the collective pool. Other sites benefit from your patterns and solutions.\nUse agentminds_connect to get your recommendations.` }],
        };
      }
    
      if (args?.reports && Array.isArray(args.reports)) {
        // Push reports directly via bulk endpoint
        const data = await httpPost("/api/v1/sync/bulk", {
          site_id: "auto", // server determines from key
          reports: args.reports,
        });
        return {
          content: [{ type: "text", text: `# Data Pushed\n\nReports sent: ${args.reports.length}\nStatus: ${data.status || "ok"}\n\nUse agentminds_connect to get your recommendations.` }],
        };
      }
    
      return {
        content: [{ type: "text", text: "Provide either brain_export_url or reports array to push data." }],
      };
    }
  • The input schema definition for agentminds_push, registered in the ListTools handler. Defines 'reports' (array of detailed agent reports) and 'brain_export_url' (URL for Central to pull brain data from) as input properties.
        {
          name: "agentminds_push",
          description: `Push detailed agent data to AgentMinds Central. IMPORTANT: Send FULL data, not just names and scores.
    
    Each agent report MUST include:
    - severity: "critical" | "warning" | "info"
    - summary: what the agent found (1-2 sentences)
    - metrics: key numbers (e.g. {total_leads: 567, bounce_rate: 3.5, open_rate: 12})
    - warnings: array of issues found [{severity: "warning", message: "..."}]
    - recommendations: array of suggested fixes [{title: "...", priority: "high"}]
    - memory.learned_patterns: what the agent learned [{pattern: "...", category: "...", confidence: 0.9, status: "active", impact: "high"}]
    
    The MORE detail you send, the BETTER recommendations you get back. Empty data = empty recommendations.
    
    Example: {agent: "lead_hunter", report: {severity: "warning", summary: "567 leads found but 0% open rate", metrics: {total_leads: 567, emails_found: 230, open_rate: 0, bounce_rate: 8.3}, warnings: [{severity: "critical", message: "0% email open rate - emails likely going to spam"}], recommendations: [{title: "Warm up email domain before bulk sending", priority: "critical"}]}, memory: {learned_patterns: [{pattern: "cold_email_spam", category: "email_deliverability", confidence: 0.9, status: "active", impact: "critical", detail: "Bulk cold emails without domain warmup go to spam"}]}}`,
          inputSchema: {
            type: "object",
            properties: {
              reports: {
                type: "array",
                description: "Array of DETAILED agent reports. Each must have: agent, report (severity, summary, metrics, warnings, recommendations), memory (learned_patterns)",
              },
              brain_export_url: {
                type: "string",
                description: "URL for Central to pull brain data from (alternative to sending reports directly)",
              },
            },
          },
        },
  • server.js:321-459 (registration)
    The tool registration within the ListToolsRequestSchema handler. agentminds_push is registered alongside other agentminds_* tools as an MCP tool on the server.
    // List available tools
    server.setRequestHandler(ListToolsRequestSchema, async () => ({
      tools: [
        {
          name: "agentminds_connect",
          description: `Connect to AgentMinds Central — fully automatic.
    
    CRITICAL RULES:
    1. You MUST send your learned data FIRST before getting any recommendations
    2. If this tool returns an error or "no_data", show ONLY the error message
    3. DO NOT generate fake recommendations if the API fails or times out
    4. DO NOT say "AgentMinds recommends..." unless you received real data from this tool
    5. If you cannot reach the API, say "AgentMinds'a bağlanılamadı" — nothing else
    
    If no key: register first, then push data, then get recommendations.
    If has key: push data → get recommendations.
    
    Before calling this, collect DETAILED agent data from this project:
    - For each agent/module: what it does, its metrics, any issues found
    - Warnings and errors discovered
    - Patterns learned
    - Use agentminds_push to send detailed data FIRST, then connect for recommendations.
    The more data you send, the better recommendations you get.`,
          inputSchema: {
            type: "object",
            properties: {
              site_url: {
                type: "string",
                description: "Site URL for registration (e.g. https://mysite.com). Only needed if auto-detection fails.",
              },
              brain_export_url: {
                type: "string",
                description: "URL to pull brain data from (e.g. https://api.mysite.com/api/v1/brain/export). Optional.",
              },
            },
          },
        },
        {
          name: "agentminds_push",
          description: `Push detailed agent data to AgentMinds Central. IMPORTANT: Send FULL data, not just names and scores.
    
    Each agent report MUST include:
    - severity: "critical" | "warning" | "info"
    - summary: what the agent found (1-2 sentences)
    - metrics: key numbers (e.g. {total_leads: 567, bounce_rate: 3.5, open_rate: 12})
    - warnings: array of issues found [{severity: "warning", message: "..."}]
    - recommendations: array of suggested fixes [{title: "...", priority: "high"}]
    - memory.learned_patterns: what the agent learned [{pattern: "...", category: "...", confidence: 0.9, status: "active", impact: "high"}]
    
    The MORE detail you send, the BETTER recommendations you get back. Empty data = empty recommendations.
    
    Example: {agent: "lead_hunter", report: {severity: "warning", summary: "567 leads found but 0% open rate", metrics: {total_leads: 567, emails_found: 230, open_rate: 0, bounce_rate: 8.3}, warnings: [{severity: "critical", message: "0% email open rate - emails likely going to spam"}], recommendations: [{title: "Warm up email domain before bulk sending", priority: "critical"}]}, memory: {learned_patterns: [{pattern: "cold_email_spam", category: "email_deliverability", confidence: 0.9, status: "active", impact: "critical", detail: "Bulk cold emails without domain warmup go to spam"}]}}`,
          inputSchema: {
            type: "object",
            properties: {
              reports: {
                type: "array",
                description: "Array of DETAILED agent reports. Each must have: agent, report (severity, summary, metrics, warnings, recommendations), memory (learned_patterns)",
              },
              brain_export_url: {
                type: "string",
                description: "URL for Central to pull brain data from (alternative to sending reports directly)",
              },
            },
          },
        },
        {
          name: "agentminds_actions",
          description: "Get action plan — ONLY works if you already pushed data. If no data was pushed, this returns nothing. DO NOT fabricate recommendations. Show only what this tool returns.",
          inputSchema: {
            type: "object",
            properties: {
              site_id: {
                type: "string",
                description: "Site ID (e.g. mimari_ai, gridera_io). If not provided, determined from API key.",
              },
            },
          },
        },
        {
          name: "agentminds_agent_detail",
          description: "Get detailed info about a specific agent — metrics, warnings, patterns, recommendations. Use when user asks about a specific agent like 'health agent ne diyor?', 'security durumu'.",
          inputSchema: {
            type: "object",
            properties: {
              site_id: {
                type: "string",
                description: "Site ID",
              },
              agent_name: {
                type: "string",
                description: "Agent name (health, security, performance, seo, content, quality, feedback, learning, supervisor, ui, e2e, user_behavior, design, social_media)",
              },
            },
            required: ["site_id", "agent_name"],
          },
        },
        {
          name: "agentminds_site_overview",
          description: "Get full overview of your site — all agents, their status, scores. Use when user asks 'site durumu', 'genel durum', 'tüm agentları göster'.",
          inputSchema: {
            type: "object",
            properties: {
              site_id: {
                type: "string",
                description: "Site ID",
              },
            },
            required: ["site_id"],
          },
        },
        {
          name: "agentminds_status",
          description: "Check AgentMinds Central system health — is the server up, any alerts, circuit breakers. Use when user asks 'sistem durumu', 'AgentMinds çalışıyor mu?'.",
          inputSchema: {
            type: "object",
            properties: {},
          },
        },
        {
          name: "agentminds_register",
          description: "Register a new site with AgentMinds Central. Returns API key. Use when user says 'kayıt ol', 'register', 'yeni site ekle'.",
          inputSchema: {
            type: "object",
            properties: {
              url: {
                type: "string",
                description: "Site URL (e.g. https://mysite.com)",
              },
              name: {
                type: "string",
                description: "Site name",
              },
            },
            required: ["url", "name"],
          },
        },
      ],
    }));
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It describes the expected input format and the consequence of not sending enough detail. It does not mention authentication or side effects, but the main behavior is well-covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer due to the example, but the structure is logical: purpose, important note, bullet points, and a complete JSON example. It is front-loaded and every part serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the nested arrays and no output schema, the description comprehensively explains the required input structure. It leaves no ambiguity about what data to send.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds extensive detail beyond the schema: it specifies required fields, structure, and an example for the 'reports' parameter, and explains the 'brain_export_url' as an alternative.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Push detailed agent data to AgentMinds Central') and provides a specific resource. It distinguishes from sibling tools (e.g., agentminds_actions, agentminds_status) by focusing on data submission.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to send full data and warns that empty data yields empty recommendations. It lacks an explicit when-not-to-use clause, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/agentmindsdev/mcp-server'

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