{ "version": 1, "lastUpdated": "2026-02-12T16:00:00-05:00", "updatedBy": "Buba (heartbeat: Meta Ads + Twilio 8->9, credentials pending)", "phases": [ { "id": 1, "name": "Discovery & Research", "color": "#3B82F6", "stages": [ 1, 2, 3, 4 ] }, { "id": 2, "name": "Build", "color": "#8B5CF6", "stages": [ 5, 6, 7, 8 ] }, { "id": 3, "name": "Testing & Hardening", "color": "#F59E0B", "stages": [ 9, 10, 11, 12 ] }, { "id": 4, "name": "Documentation & Packaging", "color": "#14B8A6", "stages": [ 13, 14, 15 ] }, { "id": 5, "name": "Launch & Distribution", "color": "#F43F5E", "stages": [ 16, 17, 18 ] }, { "id": 6, "name": "Adoption & Feedback", "color": "#10B981", "stages": [ 19, 20, 21 ] }, { "id": 7, "name": "Monetization & Scale", "color": "#EAB308", "stages": [ 22, 23, 24, 25 ] } ], "stages": [ { "id": 1, "name": "Identified", "phase": 1 }, { "id": 2, "name": "Market Research", "phase": 1 }, { "id": 3, "name": "API Research", "phase": 1 }, { "id": 4, "name": "Architecture Designed", "phase": 1 }, { "id": 5, "name": "Server Scaffolded", "phase": 2 }, { "id": 6, "name": "Core Tools Built", "phase": 2 }, { "id": 7, "name": "UI Apps Built", "phase": 2, "gates": [ "design-mockup-approval", "final-screenshot-approval" ] }, { "id": 8, "name": "Integration Complete", "phase": 2 }, { "id": 9, "name": "Credentials Acquired", "phase": 2, "description": "API keys and secrets obtained (can proceed with * if pending)" }, { "id": 10, "name": "Local Testing", "phase": 3 }, { "id": 11, "name": "Edge Case Testing", "phase": 3 }, { "id": 12, "name": "Host Compatibility Testing", "phase": 3 }, { "id": 13, "name": "Performance Validated", "phase": 3 }, { "id": 14, "name": "README Written", "phase": 4 }, { "id": 15, "name": "Package Prepared", "phase": 4 }, { "id": 16, "name": "Website Built", "phase": 4, "description": "Landing page with animation (same format as 30 existing MCP sites)" }, { "id": 17, "name": "Website Live", "phase": 4, "description": "Deployed to production URL" }, { "id": 18, "name": "GitHub Repo Published", "phase": 4, "approval": true }, { "id": 19, "name": "Website Updated", "phase": 4, "description": "All GitHub buttons point to actual repo" }, { "id": 20, "name": "Registry Listed", "phase": 5, "approval": true }, { "id": 21, "name": "Launch Marketing", "phase": 5 }, { "id": 22, "name": "Content Marketing", "phase": 5 }, { "id": 23, "name": "Early Adopter Feedback", "phase": 6 }, { "id": 24, "name": "Iteration Cycle", "phase": 6 }, { "id": 25, "name": "Community Building", "phase": 6 }, { "id": 26, "name": "Freemium/Pro Strategy", "phase": 7, "approval": true }, { "id": 27, "name": "Enterprise Outreach", "phase": 7 }, { "id": 28, "name": "Enterprise Deals", "phase": 7 }, { "id": 29, "name": "Raving Fans", "phase": 7 } ], "mcps": [ { "id": "closebot", "name": "CloseBot MCP", "type": "BIG4", "stage": 19, "tools": 119, "apps": 6, "modules": 14, "blocked": false, "blockerNote": "", "notes": "119 tools, 14 modules. README 87 lines. Package prepared: bin entry, prepublishOnly, npm pack clean (71.7kB / 88 files). Repos already live on GitHub. Jake approved skip API key testing (2026-02-11).", "needsCredentials": true, "apiKeyEnvVar": "CLOSE_API_KEY", "dashboardUrl": "https://app.close.com/settings/api/", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 9, "entered": "2026-02-05T04:12:00Z" }, { "stage": 10, "entered": "2026-02-05T07:00:00Z" }, { "stage": 11, "entered": "2026-02-05T13:03:00Z" }, { "stage": 12, "entered": "2026-02-07T11:05:18.374755Z" }, { "stage": 13, "entered": "2026-02-08T03:00:00Z" }, { "stage": 14, "entered": "2026-02-08T05:00:00Z" }, { "stage": 15, "entered": "2026-02-08T07:00:00Z" }, { "stage": 16, "entered": "2026-02-08T09:05:00Z" }, { "stage": 17, "entered": "2026-02-09T21:00:00Z" }, { "stage": 18, "entered": "2026-02-11T14:02:02-05:00" } ], "hasCredentials": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Stage 19: Website GitHub links verified pointing to actual repos with source code. Advanced 2026-02-11.", "websiteUrl": "https://busybee3333.github.io/closebot-mcp-2026-complete/", "githubRepo": "BusyBee3333/closebot-mcp-2026-complete" }, { "id": "meta-ads", "name": "Meta Ads MCP", "type": "BIG4", "stage": 9, "tools": 55, "apps": 11, "blocked": false, "blockerNote": "", "notes": "~55 tools, 11 categories, 11 UI apps. Compile clean.", "needsCredentials": true, "apiKeyEnvVar": [ "META_ACCESS_TOKEN", "META_APP_ID", "META_APP_SECRET" ], "dashboardUrl": "https://developers.facebook.com/apps/", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 9, "entered": "2026-02-12T16:00:00-05:00" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Meta Ads MCP *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "stageNote": "Stage 9: Credentials pending (META_ACCESS_TOKEN, META_APP_ID, META_APP_SECRET). Advanced 2026-02-12 heartbeat." }, { "id": "google-console", "name": "Google Console MCP", "type": "BIG4", "stage": 7, "tools": 22, "apps": 5, "blocked": false, "blockerNote": "", "notes": "22 tools, 5 UI apps. Compile clean.", "needsCredentials": true, "apiKeyEnvVar": [ "GOOGLE_CLIENT_ID", "GOOGLE_CLIENT_SECRET", "GOOGLE_APPLICATION_CREDENTIALS" ], "dashboardUrl": "https://console.cloud.google.com/apis/credentials", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Google Console MCP *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "twilio", "name": "Twilio MCP", "type": "BIG4", "stage": 9, "tools": 54, "apps": 19, "blocked": false, "blockerNote": "", "notes": "54 tools, 19 UI apps. Integrated into LocalBosses.", "needsCredentials": true, "apiKeyEnvVar": [ "TWILIO_ACCOUNT_SID", "TWILIO_AUTH_TOKEN" ], "dashboardUrl": "https://console.twilio.com/", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 9, "entered": "2026-02-12T16:00:00-05:00" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Twilio MCP *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "stageNote": "Stage 9: Credentials pending (TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN). Advanced 2026-02-12 heartbeat." }, { "id": "ghl", "name": "GoHighLevel MCP", "type": "GHL", "stage": 19, "tools": 474, "apps": 65, "blocked": false, "blockerNote": "", "notes": "65 apps, 474 tools. Host compat fix: made API connection test non-fatal so server starts without credentials. stdio transport verified with Claude Desktop config format. 42 test assertions still need updating (sub-agent dispatched). Repos already live on GitHub. Jake approved skip API key testing (2026-02-11).", "needsCredentials": true, "apiKeyEnvVar": [ "GHL_API_KEY", "GHL_LOCATION_ID" ], "dashboardUrl": "https://app.gohighlevel.com/settings/api_key", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 11, "entered": "2026-02-05T00:00:00Z" }, { "stage": 12, "entered": "2026-02-09T17:00:00Z" }, { "stage": 13, "entered": "2026-02-09T19:00:00Z" }, { "stage": 14, "entered": "2026-02-09T21:00:00Z" }, { "stage": 15, "entered": "2026-02-09T21:00:00Z" }, { "stage": 16, "entered": "2026-02-09T21:00:00Z" }, { "stage": 17, "entered": "2026-02-09T21:00:00Z" }, { "stage": 18, "entered": "2026-02-11T14:02:02-05:00" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "GoHighLevel MCP *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Performance Validated", "deploymentReady": true, "hostCompatPassed": true, "hostCompatDate": "2026-02-09", "hostCompatNotes": "Fixed fatal auth check on startup. stdio transport works, 474 tools listed, Claude Desktop config verified.", "stageNote": "Stage 19: Website GitHub links verified pointing to actual repos with source code. Advanced 2026-02-11.", "websiteUrl": "https://busybee3333.github.io/Go-High-Level-MCP-2026-Complete/", "websiteBuilt": true, "hasAnimation": true }, { "id": "acuity-scheduling", "name": "Acuity Scheduling", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "needsCredentials": true, "apiKeyEnvVar": [ "ACUITY_USER_ID", "ACUITY_API_KEY" ], "dashboardUrl": "https://acuityscheduling.com/app.php?action=settings&key=api", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Acuity Scheduling *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "bamboohr", "name": "BambooHR", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "needsCredentials": true, "apiKeyEnvVar": [ "BAMBOOHR_API_KEY", "BAMBOOHR_SUBDOMAIN" ], "dashboardUrl": "https://YOUR_SUBDOMAIN.bamboohr.com/settings/api/", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "BambooHR *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "basecamp", "name": "Basecamp", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "needsCredentials": true, "apiKeyEnvVar": [ "BASECAMP_ACCESS_TOKEN", "BASECAMP_ACCOUNT_ID" ], "dashboardUrl": "https://launchpad.37signals.com/integrations", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Basecamp *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "bigcommerce", "name": "BigCommerce", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "needsCredentials": true, "apiKeyEnvVar": [ "BIGCOMMERCE_STORE_HASH", "BIGCOMMERCE_ACCESS_TOKEN", "BIGCOMMERCE_CLIENT_ID" ], "dashboardUrl": "https://login.bigcommerce.com/", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "BigCommerce *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "brevo", "name": "Brevo", "type": "STD", "stage": 19, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "README 235 lines. Package prepared: bin entry + prepublishOnly added. Live API tested. README synced from github-repos. Repos already live on GitHub. Jake approved skip API key testing (2026-02-11).", "needsCredentials": true, "apiKeyEnvVar": "BREVO_API_KEY", "dashboardUrl": "https://app.brevo.com/settings/keys/api", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 9, "entered": "2026-02-05T04:12:00Z" }, { "stage": 10, "entered": "2026-02-05T07:00:00Z" }, { "stage": 11, "entered": "2026-02-05T13:03:00Z" }, { "stage": 12, "entered": "2026-02-07T11:05:18.374880Z" }, { "stage": 13, "entered": "2026-02-08T03:00:00Z" }, { "stage": 14, "entered": "2026-02-08T05:00:00Z" }, { "stage": 15, "entered": "2026-02-08T07:00:00Z" }, { "stage": 16, "entered": "2026-02-08T07:00:00Z" }, { "stage": 18, "entered": "2026-02-11T14:02:02-05:00" } ], "hasCredentials": true, "liveAPITested": true, "liveAPITestDate": "2026-02-05", "status": "Website Built", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Stage 19: Website GitHub links verified pointing to actual repos with source code. Advanced 2026-02-11.", "websiteUrl": "https://busybee3333.github.io/brevo-mcp-2026-complete/" }, { "id": "calendly", "name": "Calendly", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "needsCredentials": true, "apiKeyEnvVar": [ "CALENDLY_API_KEY" ], "dashboardUrl": "https://calendly.com/integrations/api_webhooks", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Calendly *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "clickup", "name": "ClickUp", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "needsCredentials": true, "apiKeyEnvVar": [ "CLICKUP_API_KEY" ], "dashboardUrl": "https://app.clickup.com/settings/apps", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "ClickUp *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "close", "name": "Close", "type": "STD", "stage": 19, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "API connectivity verified. Lead listing works. Advanced to edge case testing. Repos already live on GitHub. Jake approved skip API key testing (2026-02-11).", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 9, "entered": "2026-02-05T04:12:00Z" }, { "stage": 10, "entered": "2026-02-05T07:00:00Z" }, { "stage": 11, "entered": "2026-02-05T13:03:00Z" }, { "stage": 18, "entered": "2026-02-11T14:02:02-05:00" } ], "needsCredentials": true, "apiKeyEnvVar": "CLOSE_API_KEY", "authType": "api_key", "dashboardUrl": "https://app.close.com/settings/api/", "hasCredentials": true, "liveAPITested": true, "liveAPITestDate": "2026-02-05", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Stage 19: Website GitHub links verified pointing to actual repos with source code. Advanced 2026-02-11.", "websiteUrl": "https://busybee3333.github.io/close-crm-mcp-2026-complete/" }, { "id": "clover", "name": "Clover", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "needsCredentials": true, "apiKeyEnvVar": "CLOVER_API_TOKEN", "authType": "oauth2", "dashboardUrl": "https://sandbox.dev.clover.com/developers", "compileTestPassed": true, "needsAPIKey": true, "displayName": "Clover *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "constant-contact", "name": "Constant Contact", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "needsCredentials": true, "apiKeyEnvVar": "CONSTANT_CONTACT_API_KEY", "authType": "oauth2", "dashboardUrl": "https://app.constantcontact.com/pages/dma/portal/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "Constant Contact *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "fieldedge", "name": "FieldEdge", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API. ENTERPRISE API - contact sales for access.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "needsCredentials": true, "apiKeyEnvVar": "FIELDEDGE_API_KEY", "authType": "enterprise", "dashboardUrl": "https://www.fieldedge.com/integrations/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "FieldEdge *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "freshbooks", "name": "FreshBooks", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 6, "entered": "2026-02-06T15:01:19Z" } ], "needsCredentials": true, "apiKeyEnvVar": "FRESHBOOKS_CLIENT_ID", "authType": "oauth2", "dashboardUrl": "https://my.freshbooks.com/#/developer", "compileTestPassed": true, "needsAPIKey": true, "displayName": "FreshBooks *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Auto-advanced: compile clean, 7-8 tools implemented" }, { "id": "freshdesk", "name": "FreshDesk", "type": "STD", "stage": 19, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API. Repos already live on GitHub. Jake approved skip API key testing (2026-02-11).", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 18, "entered": "2026-02-11T14:02:02-05:00" } ], "needsCredentials": true, "apiKeyEnvVar": "FRESHDESK_API_KEY", "authType": "api_key", "dashboardUrl": "https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key", "compileTestPassed": true, "needsAPIKey": true, "displayName": "FreshDesk *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Stage 19: Website GitHub links verified pointing to actual repos with source code. Advanced 2026-02-11.", "websiteUrl": "https://busybee3333.github.io/freshdesk-mcp-2026-complete/" }, { "id": "gusto", "name": "Gusto", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 6, "entered": "2026-02-06T15:01:19Z" } ], "needsCredentials": true, "apiKeyEnvVar": "GUSTO_CLIENT_ID", "authType": "oauth2", "dashboardUrl": "https://dev.gusto.com/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "Gusto *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Auto-advanced: compile clean, 7-8 tools implemented" }, { "id": "helpscout", "name": "HelpScout", "type": "STD", "stage": 19, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API. Repos already live on GitHub. Jake approved skip API key testing (2026-02-11).", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 18, "entered": "2026-02-11T14:02:02-05:00" } ], "needsCredentials": true, "apiKeyEnvVar": "HELPSCOUT_APP_ID", "authType": "oauth2", "dashboardUrl": "https://secure.helpscout.net/members/apps/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "HelpScout *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Stage 19: Website GitHub links verified pointing to actual repos with source code. Advanced 2026-02-11.", "websiteUrl": "https://busybee3333.github.io/helpscout-mcp-2026-complete/", "githubRepo": "BusyBee3333/helpscout-mcp-2026-complete" }, { "id": "housecall-pro", "name": "Housecall Pro", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "needsCredentials": true, "apiKeyEnvVar": "HOUSECALL_PRO_CLIENT_ID", "authType": "oauth2", "dashboardUrl": "https://developer.housecallpro.com/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "Housecall Pro *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "jobber", "name": "Jobber", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 6, "entered": "2026-02-06T15:01:19Z" } ], "needsCredentials": true, "apiKeyEnvVar": "JOBBER_CLIENT_ID", "authType": "oauth2", "dashboardUrl": "https://developer.getjobber.com/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "Jobber *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Auto-advanced: compile clean, 7-8 tools implemented" }, { "id": "keap", "name": "Keap", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 6, "entered": "2026-02-06T15:01:19Z" } ], "needsCredentials": true, "apiKeyEnvVar": "KEAP_CLIENT_ID", "authType": "oauth2", "dashboardUrl": "https://developer.keap.com/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "Keap *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Auto-advanced: compile clean, 7-8 tools implemented" }, { "id": "lightspeed", "name": "Lightspeed", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" }, { "stage": 6, "entered": "2026-02-06T15:01:19Z" } ], "needsCredentials": true, "apiKeyEnvVar": "LIGHTSPEED_CLIENT_ID", "authType": "oauth2", "dashboardUrl": "https://developers.lightspeedhq.com/", "compileTestPassed": true, "needsAPIKey": true, "displayName": "Lightspeed *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Auto-advanced: compile clean, 7-8 tools implemented" }, { "id": "mailchimp", "name": "Mailchimp", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Mailchimp *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "pipedrive", "name": "Pipedrive", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Pipedrive *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "rippling", "name": "Rippling", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Rippling *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "servicetitan", "name": "ServiceTitan", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "ServiceTitan *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "squarespace", "name": "Squarespace", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Squarespace *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "toast", "name": "Toast", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Toast *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "touchbistro", "name": "TouchBistro", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "TouchBistro *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "trello", "name": "Trello", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Trello *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "wave", "name": "Wave", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Wave *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "wrike", "name": "Wrike", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Wrike *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "zendesk", "name": "Zendesk", "type": "STD", "stage": 6, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [ { "stage": 8, "entered": "2026-02-03T00:00:00Z" } ], "compileTestPassed": true, "needsAPIKey": true, "displayName": "Zendesk *", "mockTested": true, "note": " | Mock tested, API key pending *", "status": "Deployment Ready (API key pending *)", "deploymentReady": true, "websiteBuilt": true, "hasAnimation": true, "stageNote": "Downgraded by ruthless eval 2026-02-05" }, { "id": "compliance-grc", "name": "Compliance GRC MCP", "description": "Vanta/Drata/Secureframe integration for SOC2/HIPAA/GDPR compliance automation", "stage": 6, "priority": "MEDIUM", "note": "Architecture APPROVED by Jake (dec-003, 2026-02-12). Server scaffolded 2026-02-12 \u2014 package.json, tsconfig, src/index.ts with VantaClient + DrataClient, ~15-20 tools. Secureframe dropped (enterprise-only). Differentiation: unified multi-platform GRC dashboard.", "targetAPIs": [ "Vanta", "Drata", "Secureframe" ], "estimatedBuildTime": "3-4 weeks", "revenueModel": "$99-299/mo per org", "stageHistory": [ { "stage": 1, "entered": "2026-02-05T00:00:00Z" }, { "stage": 2, "entered": "2026-02-09T23:00:00Z" }, { "stage": 3, "entered": "2026-02-10T01:00:00Z" }, { "stage": 4, "entered": "2026-02-12T07:00:00Z" }, { "stage": 5, "entered": "2026-02-12T17:00:00Z" }, { "stage": 6, "entered": "2026-02-12T17:05:00Z" } ], "marketResearch": { "date": "2026-02-09", "competitors": [ "VantaInc/vanta-mcp-server (official)", "Drata experimental MCP (official)", "Sprinto (no MCP yet)" ], "verdict": "Both Vanta and Drata have official MCPs. Our differentiation must be multi-platform aggregation or deeper compliance workflow automation. Recommend deprioritize unless Jake sees unified-GRC angle.", "apiAccess": "Vanta: API key via dashboard. Drata: API key via settings. Secureframe: contact sales." }, "apiResearch": { "date": "2026-02-10", "vanta": { "baseUrl": "https://api.vanta.com", "auth": "OAuth2 (client_credentials)", "docs": "https://developer.vanta.com", "endpoints": "Controls, tests, vulnerabilities, evidence, users, integrations", "rateLimit": "Unknown - standard OAuth scoping" }, "drata": { "baseUrl": "https://public-api.drata.com", "auth": "API key (Bearer token)", "docs": "https://developers.drata.com/api-docs/", "endpoints": "Controls, personnel, vendors, risks, assets, compliance frameworks, evidence", "rateLimit": "Standard REST" }, "secureframe": { "auth": "Enterprise-only, contact sales", "docs": "No public developer portal", "verdict": "Skip for MVP \u2014 enterprise gating makes it impractical" } }, "tools": 17, "compileTestPassed": true, "stageNote": "Stage 6: 17 tools (8 Vanta + 9 Drata). Compile clean. Pushed to mcpengine repo 2026-02-12." }, { "id": "hr-people-ops", "name": "HR People Ops MCP", "description": "Gusto/Rippling/BambooHR integration for HR automation, onboarding, payroll queries", "stage": -1, "priority": "KILLED", "blocked": true, "blockerNote": "KILLED by Jake (dec-003, 2026-02-12). Redundant with existing BambooHR + Gusto MCPs at Stage 6.", "note": "API research complete but this MCP is redundant with existing pipeline. BambooHR: REST API with API key auth. Gusto: OAuth2 partner API. Rippling: OAuth2 developer portal. Deel: REST API with API token. All have good documentation. However, we already build these individually.", "targetAPIs": [ "Gusto", "Rippling", "BambooHR", "Deel" ], "estimatedBuildTime": "2-4 weeks", "revenueModel": "$5-15/employee/month", "stageHistory": [ { "stage": 1, "entered": "2026-02-05T00:00:00Z" }, { "stage": 2, "entered": "2026-02-09T23:00:00Z" }, { "stage": 3, "entered": "2026-02-10T01:00:00Z" } ], "marketResearch": { "date": "2026-02-09", "competitors": [ "Composio BambooHR MCP (43+ tools)", "n8n BambooHR MCP (15 ops)", "mcpmarket BambooHR MCP", "Our own bamboohr + gusto MCPs at Stage 6" ], "verdict": "REDUNDANT \u2014 we already have BambooHR and Gusto as individual MCPs in the pipeline. A unified HR MCP adds marginal value over what we're already building. Skip unless Jake wants a unified multi-HRIS product.", "apiAccess": "All have developer portals. Gusto and BambooHR are OAuth2." }, "apiResearch": { "date": "2026-02-10", "bamboohr": { "auth": "API key (Basic auth)", "docs": "https://documentation.bamboohr.com/reference", "verdict": "Already have standalone MCP at Stage 6" }, "gusto": { "auth": "OAuth2 (partner app)", "docs": "https://docs.gusto.com/", "verdict": "Already have standalone MCP at Stage 6" }, "rippling": { "auth": "OAuth2", "docs": "https://developer.rippling.com/", "verdict": "Developer portal exists but requires partner approval" }, "deel": { "auth": "API token (Bearer)", "docs": "https://developer.deel.com/", "verdict": "Public API with good docs" } } }, { "id": "product-analytics", "name": "Product Analytics MCP", "description": "Amplitude/Mixpanel/PostHog deep integration for natural language analytics queries", "stage": 6, "priority": "MEDIUM", "note": "Architecture APPROVED by Jake (dec-003, 2026-02-12). Server scaffolded 2026-02-12 \u2014 package.json, tsconfig, src/index.ts with MixpanelClient + AmplitudeClient + PostHogClient, ~18-22 tools. Differentiation: unified multi-platform analytics MCP.", "targetAPIs": [ "Amplitude", "Mixpanel", "PostHog" ], "estimatedBuildTime": "4-6 weeks", "revenueModel": "$49-199/mo per team", "stageHistory": [ { "stage": 1, "entered": "2026-02-05T00:00:00Z" }, { "stage": 2, "entered": "2026-02-09T23:00:00Z" }, { "stage": 3, "entered": "2026-02-10T01:00:00Z" }, { "stage": 4, "entered": "2026-02-12T07:00:00Z" }, { "stage": 5, "entered": "2026-02-12T17:00:00Z" }, { "stage": 6, "entered": "2026-02-12T17:05:00Z" } ], "marketResearch": { "date": "2026-02-09", "competitors": [ "Mixpanel official MCP (Sep 2025)", "moonbird.ai Amplitude MCP", "PostHog community MCPs likely" ], "verdict": "Official MCPs exist for top 2 platforms. Our angle: unified multi-platform analytics MCP that lets users query across Amplitude + Mixpanel + PostHog from one server. Still viable but lower priority than original assessment.", "apiAccess": "Mixpanel: project token + API secret. Amplitude: API key + secret. PostHog: project API key (self-hosted or cloud)." }, "apiResearch": { "date": "2026-02-10", "mixpanel": { "baseUrl": "https://mixpanel.com/api/2.0 (query), https://api.mixpanel.com (ingestion)", "auth": "Service Account (Basic auth) or Project Token", "docs": "https://developer.mixpanel.com/reference/overview", "endpoints": "Query API (/engage, /jql, /segmentation, /funnels, /retention), Ingestion API (/track, /import), Export API", "rateLimit": "Varies by plan, concurrent query limits" }, "amplitude": { "baseUrl": "https://api2.amplitude.com (ingestion), https://amplitude.com/api/2 (dashboard)", "auth": "API Key + Secret Key", "docs": "https://amplitude.com/docs/apis/analytics/http-v2", "endpoints": "HTTP V2 API (event ingestion), Dashboard REST API (charts, cohorts, user activity), Export API, Taxonomy API", "rateLimit": "Standard per-plan limits" }, "posthog": { "baseUrl": "https://app.posthog.com/api/ (cloud) or self-hosted", "auth": "Project API Key (Personal API key for private endpoints)", "docs": "https://posthog.com/docs/api", "endpoints": "Events, persons, feature flags, cohorts, annotations, insights, HogQL query endpoint", "rateLimit": "Burst-based, generous for cloud" } }, "tools": 20, "compileTestPassed": true, "stageNote": "Stage 6: ~20 tools (Mixpanel + Amplitude + PostHog). Compile clean. Pushed to mcpengine repo 2026-02-12." } ], "decisions": { "pending": [ { "id": "dec-003", "type": "architecture-approval", "stage": "3\u21924", "question": "Approve architecture design for Product Analytics, Compliance GRC, and HR People Ops MCPs?", "postedAt": "2026-02-10T11:00:00Z", "discordMessageId": "1470736478261870633", "channel": "pipeline-decisions", "status": "resolved", "resolution": "APPROVED \u2014 Jake reacted \u2705 on reminder (2026-02-12). Product Analytics + Compliance GRC \u2192 Stage 4. HR People Ops \u2192 KILLED (redundant).", "resolvedBy": "Jake (Discord 2026-02-12T05:00:00Z)", "resolvedAt": "2026-02-12T07:00:00Z", "recommendation": "Approve Product Analytics + Compliance GRC, kill HR People Ops (redundant)" }, { "id": "dec-004", "type": "batch-registry-listing", "stage": "19\u219220", "question": "Submit 6 MCPs (GHL, CloseBot, Brevo, Close, FreshDesk, HelpScout) to MCP registries?", "postedAt": "2026-02-11T19:01:00Z", "discordMessageId": "1471219841179582516", "channel": "pipeline-decisions", "status": "awaiting-reaction" } ], "history": [ { "id": "dec-001", "type": "pipeline-wide", "stage": "8\u21929", "question": "Testing strategy: structural-only vs live API vs hybrid", "resolution": "OVERRIDDEN \u2014 Jake directed Buba to proactively acquire API keys via signups, test with real APIs, advance on success", "resolvedBy": "Jake (Discord 2026-02-05T03:32:49Z)", "resolvedAt": "2026-02-05T03:32:49Z", "discordMessageId": "1468811576533586120" }, { "id": "dec-002", "type": "batch-publishing", "stage": "17\u219218", "question": "Publish GitHub repos for 6 MCPs (GHL, CloseBot, Brevo, Close, FreshDesk, HelpScout)?", "resolution": "APPROVED \u2014 Jake approved + skip API key testing. All 6 repos live on GitHub.", "resolvedBy": "Jake (Discord 2026-02-11T18:45:04Z)", "resolvedAt": "2026-02-11T18:45:04Z", "discordMessageId": "1470526031545897032" } ] }, "discord": { "guildId": "1458233582404501547", "categoryId": "1468757930940698675", "channels": { "pipeline-decisions": "1468757982140567676", "design-reviews": "1468757983428083762", "pipeline-standup": "1468757984384389234", "build-log": "1468757986422820864", "blockers": "1468757987412938945", "mcp-strategy": "1468757988448669829", "shipped": "1468757989497507870" } }, "config": { "heartbeatIntervalMinutes": 60, "maxAutoRetries": 2, "humanApprovalRequired": [ 4, 7, 18, 20, 26 ], "designApprovalRequired": [ 7 ], "autoAdvanceStages": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 21, 22, 23, 24, 25 ], "standupTime": "09:00", "standupTimezone": "America/New_York" } }