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
| Name | Required | Description | Default |
|---|---|---|---|
| reports | No | Array of DETAILED agent reports. Each must have: agent, report (severity, summary, metrics, warnings, recommendations), memory (learned_patterns) | |
| brain_export_url | No | URL for Central to pull brain data from (alternative to sending reports directly) |
Implementation Reference
- server.js:621-647 (handler)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." }], }; } - server.js:358-386 (schema)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"], }, }, ], }));