Jake Shore f3c4cd817b Add all MCP servers + factory infra to MCPEngine — 2026-02-06
=== NEW SERVERS ADDED (7) ===
- servers/closebot — 119 tools, 14 modules, 4,656 lines TS (Stage 7)
- servers/google-console — Google Search Console MCP (Stage 7)
- servers/meta-ads — Meta/Facebook Ads MCP (Stage 8)
- servers/twilio — Twilio communications MCP (Stage 8)
- servers/competitor-research — Competitive intel MCP (Stage 6)
- servers/n8n-apps — n8n workflow MCP apps (Stage 6)
- servers/reonomy — Commercial real estate MCP (Stage 1)

=== FACTORY INFRASTRUCTURE ADDED ===
- infra/factory-tools — mcp-jest, mcp-validator, mcp-add, MCP Inspector
  - 60 test configs, 702 auto-generated test cases
  - All 30 servers score 100/100 protocol compliance
- infra/command-center — Pipeline state, operator playbook, dashboard config
- infra/factory-reviews — Automated eval reports

=== DOCS ADDED ===
- docs/MCP-FACTORY.md — Factory overview
- docs/reports/ — 5 pipeline evaluation reports
- docs/research/ — Browser MCP research

=== RULES ESTABLISHED ===
- CONTRIBUTING.md — All MCP work MUST go in this repo
- README.md — Full inventory of 37 servers + infra docs
- .gitignore — Updated for Python venvs

TOTAL: 37 MCP servers + full factory pipeline in one repo.
This is now the single source of truth for all MCP work.
2026-02-06 06:32:29 -05:00

444 lines
12 KiB
JSON

{
"server": {
"command": "node",
"args": [
"/Users/jakeshore/.clawdbot/workspace/mcp-diagrams/mcp-servers/keap/dist/index.js"
],
"env": {
"KEAP_ACCESS_TOKEN": "factory_discovery_dummy"
}
},
"tests": {
"tools": {
"list_contacts": {
"args": {
"limit": 50,
"offset": 50,
"email": "test@example.com",
"given_name": "Test Name",
"family_name": "Test Name",
"order": "test_value",
"order_direction": "ASCENDING",
"since": "test_value",
"until": "test_value"
},
"expect": "content && content.length > 0"
},
"list_contacts:empty-email": {
"args": {
"limit": 50,
"offset": 50,
"email": "",
"given_name": "Test Name",
"family_name": "Test Name",
"order": "test_value",
"order_direction": "ASCENDING",
"since": "test_value",
"until": "test_value"
},
"expect": "exists"
},
"list_contacts:empty-given_name": {
"args": {
"limit": 50,
"offset": 50,
"email": "test@example.com",
"given_name": "",
"family_name": "Test Name",
"order": "test_value",
"order_direction": "ASCENDING",
"since": "test_value",
"until": "test_value"
},
"expect": "exists"
},
"list_contacts:empty-family_name": {
"args": {
"limit": 50,
"offset": 50,
"email": "test@example.com",
"given_name": "Test Name",
"family_name": "",
"order": "test_value",
"order_direction": "ASCENDING",
"since": "test_value",
"until": "test_value"
},
"expect": "exists"
},
"list_contacts:empty-order": {
"args": {
"limit": 50,
"offset": 50,
"email": "test@example.com",
"given_name": "Test Name",
"family_name": "Test Name",
"order": "",
"order_direction": "ASCENDING",
"since": "test_value",
"until": "test_value"
},
"expect": "exists"
},
"list_contacts:empty-order_direction": {
"args": {
"limit": 50,
"offset": 50,
"email": "test@example.com",
"given_name": "Test Name",
"family_name": "Test Name",
"order": "test_value",
"order_direction": "",
"since": "test_value",
"until": "test_value"
},
"expect": "exists"
},
"list_contacts:empty-since": {
"args": {
"limit": 50,
"offset": 50,
"email": "test@example.com",
"given_name": "Test Name",
"family_name": "Test Name",
"order": "test_value",
"order_direction": "ASCENDING",
"since": "",
"until": "test_value"
},
"expect": "exists"
},
"list_contacts:empty-until": {
"args": {
"limit": 50,
"offset": 50,
"email": "test@example.com",
"given_name": "Test Name",
"family_name": "Test Name",
"order": "test_value",
"order_direction": "ASCENDING",
"since": "test_value",
"until": ""
},
"expect": "exists"
},
"get_contact": {
"args": {
"id": 50,
"optional_properties": []
},
"expect": "content && content.length > 0"
},
"create_contact": {
"args": {
"email_addresses": [],
"given_name": "Test Name",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"lead_source_id": 50,
"opt_in_reason": "test_value",
"source_type": "WEBFORM",
"custom_fields": []
},
"expect": "content && content.length > 0"
},
"create_contact:empty-given_name": {
"args": {
"email_addresses": [],
"given_name": "",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"lead_source_id": 50,
"opt_in_reason": "test_value",
"source_type": "WEBFORM",
"custom_fields": []
},
"expect": "exists"
},
"create_contact:empty-family_name": {
"args": {
"email_addresses": [],
"given_name": "Test Name",
"family_name": "",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"lead_source_id": 50,
"opt_in_reason": "test_value",
"source_type": "WEBFORM",
"custom_fields": []
},
"expect": "exists"
},
"create_contact:empty-job_title": {
"args": {
"email_addresses": [],
"given_name": "Test Name",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "",
"lead_source_id": 50,
"opt_in_reason": "test_value",
"source_type": "WEBFORM",
"custom_fields": []
},
"expect": "exists"
},
"create_contact:empty-opt_in_reason": {
"args": {
"email_addresses": [],
"given_name": "Test Name",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"lead_source_id": 50,
"opt_in_reason": "",
"source_type": "WEBFORM",
"custom_fields": []
},
"expect": "exists"
},
"create_contact:empty-source_type": {
"args": {
"email_addresses": [],
"given_name": "Test Name",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"lead_source_id": 50,
"opt_in_reason": "test_value",
"source_type": "",
"custom_fields": []
},
"expect": "exists"
},
"update_contact": {
"args": {
"id": 50,
"email_addresses": [],
"given_name": "Test Name",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"custom_fields": []
},
"expect": "content && content.length > 0"
},
"update_contact:empty-given_name": {
"args": {
"id": 50,
"email_addresses": [],
"given_name": "",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"custom_fields": []
},
"expect": "exists"
},
"update_contact:empty-family_name": {
"args": {
"id": 50,
"email_addresses": [],
"given_name": "Test Name",
"family_name": "",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "test_value",
"custom_fields": []
},
"expect": "exists"
},
"update_contact:empty-job_title": {
"args": {
"id": 50,
"email_addresses": [],
"given_name": "Test Name",
"family_name": "Test Name",
"phone_numbers": [],
"addresses": [],
"company": {},
"job_title": "",
"custom_fields": []
},
"expect": "exists"
},
"list_opportunities": {
"args": {
"limit": 50,
"offset": 50,
"user_id": 50,
"stage_id": 50,
"search_term": "test query",
"order": "test_value"
},
"expect": "content && content.length > 0"
},
"list_opportunities:empty-search_term": {
"args": {
"limit": 50,
"offset": 50,
"user_id": 50,
"stage_id": 50,
"search_term": "",
"order": "test_value"
},
"expect": "exists"
},
"list_opportunities:empty-order": {
"args": {
"limit": 50,
"offset": 50,
"user_id": 50,
"stage_id": 50,
"search_term": "test query",
"order": ""
},
"expect": "exists"
},
"list_tasks": {
"args": {
"limit": 50,
"offset": 50,
"contact_id": 50,
"user_id": 50,
"completed": true,
"since": "test_value",
"until": "test_value",
"order": "test_value"
},
"expect": "content && content.length > 0"
},
"list_tasks:empty-since": {
"args": {
"limit": 50,
"offset": 50,
"contact_id": 50,
"user_id": 50,
"completed": true,
"since": "",
"until": "test_value",
"order": "test_value"
},
"expect": "exists"
},
"list_tasks:empty-until": {
"args": {
"limit": 50,
"offset": 50,
"contact_id": 50,
"user_id": 50,
"completed": true,
"since": "test_value",
"until": "",
"order": "test_value"
},
"expect": "exists"
},
"list_tasks:empty-order": {
"args": {
"limit": 50,
"offset": 50,
"contact_id": 50,
"user_id": 50,
"completed": true,
"since": "test_value",
"until": "test_value",
"order": ""
},
"expect": "exists"
},
"create_task": {
"args": {
"title": "test_value",
"description": "test_value",
"contact": {},
"due_date": "test_value",
"priority": 50,
"type": "test_value",
"user_id": 50,
"remind_time": 50
},
"expect": "content && content.length > 0"
},
"create_task:empty-description": {
"args": {
"title": "test_value",
"description": "",
"contact": {},
"due_date": "test_value",
"priority": 50,
"type": "test_value",
"user_id": 50,
"remind_time": 50
},
"expect": "exists"
},
"create_task:empty-due_date": {
"args": {
"title": "test_value",
"description": "test_value",
"contact": {},
"due_date": "",
"priority": 50,
"type": "test_value",
"user_id": 50,
"remind_time": 50
},
"expect": "exists"
},
"create_task:empty-type": {
"args": {
"title": "test_value",
"description": "test_value",
"contact": {},
"due_date": "test_value",
"priority": 50,
"type": "",
"user_id": 50,
"remind_time": 50
},
"expect": "exists"
},
"list_tags": {
"args": {
"limit": 50,
"offset": 50,
"category": 50,
"name": "Test Name"
},
"expect": "content && content.length > 0"
},
"list_tags:empty-name": {
"args": {
"limit": 50,
"offset": 50,
"category": 50,
"name": ""
},
"expect": "exists"
}
},
"resources": {},
"prompts": {},
"timeout": 30000
}
}