=== 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.
367 lines
10 KiB
JSON
367 lines
10 KiB
JSON
{
|
|
"server": {
|
|
"command": "node",
|
|
"args": [
|
|
"/Users/jakeshore/.clawdbot/workspace/mcp-diagrams/mcp-servers/constant-contact/dist/index.js"
|
|
],
|
|
"env": {
|
|
"CONSTANT_CONTACT_ACCESS_TOKEN": "factory_discovery_dummy"
|
|
}
|
|
},
|
|
"tests": {
|
|
"tools": {
|
|
"list_contacts": {
|
|
"args": {
|
|
"status": "all",
|
|
"email": "test@example.com",
|
|
"lists": "test_value",
|
|
"segment_id": "test-id-123",
|
|
"limit": 50,
|
|
"include": "custom_fields",
|
|
"include_count": true,
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "content && content.length > 0"
|
|
},
|
|
"list_contacts:empty-status": {
|
|
"args": {
|
|
"status": "",
|
|
"email": "test@example.com",
|
|
"lists": "test_value",
|
|
"segment_id": "test-id-123",
|
|
"limit": 50,
|
|
"include": "custom_fields",
|
|
"include_count": true,
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_contacts:empty-email": {
|
|
"args": {
|
|
"status": "all",
|
|
"email": "",
|
|
"lists": "test_value",
|
|
"segment_id": "test-id-123",
|
|
"limit": 50,
|
|
"include": "custom_fields",
|
|
"include_count": true,
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_contacts:empty-lists": {
|
|
"args": {
|
|
"status": "all",
|
|
"email": "test@example.com",
|
|
"lists": "",
|
|
"segment_id": "test-id-123",
|
|
"limit": 50,
|
|
"include": "custom_fields",
|
|
"include_count": true,
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_contacts:empty-segment_id": {
|
|
"args": {
|
|
"status": "all",
|
|
"email": "test@example.com",
|
|
"lists": "test_value",
|
|
"segment_id": "",
|
|
"limit": 50,
|
|
"include": "custom_fields",
|
|
"include_count": true,
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_contacts:empty-include": {
|
|
"args": {
|
|
"status": "all",
|
|
"email": "test@example.com",
|
|
"lists": "test_value",
|
|
"segment_id": "test-id-123",
|
|
"limit": 50,
|
|
"include": "",
|
|
"include_count": true,
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_contacts:empty-cursor": {
|
|
"args": {
|
|
"status": "all",
|
|
"email": "test@example.com",
|
|
"lists": "test_value",
|
|
"segment_id": "test-id-123",
|
|
"limit": 50,
|
|
"include": "custom_fields",
|
|
"include_count": true,
|
|
"cursor": ""
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"add_contact": {
|
|
"args": {
|
|
"email_address": "test@example.com",
|
|
"first_name": "Test Name",
|
|
"last_name": "Test Name",
|
|
"job_title": "test_value",
|
|
"company_name": "Test Name",
|
|
"phone_numbers": [],
|
|
"street_addresses": [],
|
|
"list_memberships": [],
|
|
"custom_fields": [],
|
|
"birthday_month": 50,
|
|
"birthday_day": 50,
|
|
"anniversary": "test_value",
|
|
"create_source": "Contact"
|
|
},
|
|
"expect": "content && content.length > 0"
|
|
},
|
|
"add_contact:empty-first_name": {
|
|
"args": {
|
|
"email_address": "test@example.com",
|
|
"first_name": "",
|
|
"last_name": "Test Name",
|
|
"job_title": "test_value",
|
|
"company_name": "Test Name",
|
|
"phone_numbers": [],
|
|
"street_addresses": [],
|
|
"list_memberships": [],
|
|
"custom_fields": [],
|
|
"birthday_month": 50,
|
|
"birthday_day": 50,
|
|
"anniversary": "test_value",
|
|
"create_source": "Contact"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"add_contact:empty-last_name": {
|
|
"args": {
|
|
"email_address": "test@example.com",
|
|
"first_name": "Test Name",
|
|
"last_name": "",
|
|
"job_title": "test_value",
|
|
"company_name": "Test Name",
|
|
"phone_numbers": [],
|
|
"street_addresses": [],
|
|
"list_memberships": [],
|
|
"custom_fields": [],
|
|
"birthday_month": 50,
|
|
"birthday_day": 50,
|
|
"anniversary": "test_value",
|
|
"create_source": "Contact"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"add_contact:empty-job_title": {
|
|
"args": {
|
|
"email_address": "test@example.com",
|
|
"first_name": "Test Name",
|
|
"last_name": "Test Name",
|
|
"job_title": "",
|
|
"company_name": "Test Name",
|
|
"phone_numbers": [],
|
|
"street_addresses": [],
|
|
"list_memberships": [],
|
|
"custom_fields": [],
|
|
"birthday_month": 50,
|
|
"birthday_day": 50,
|
|
"anniversary": "test_value",
|
|
"create_source": "Contact"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"add_contact:empty-company_name": {
|
|
"args": {
|
|
"email_address": "test@example.com",
|
|
"first_name": "Test Name",
|
|
"last_name": "Test Name",
|
|
"job_title": "test_value",
|
|
"company_name": "",
|
|
"phone_numbers": [],
|
|
"street_addresses": [],
|
|
"list_memberships": [],
|
|
"custom_fields": [],
|
|
"birthday_month": 50,
|
|
"birthday_day": 50,
|
|
"anniversary": "test_value",
|
|
"create_source": "Contact"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"add_contact:empty-anniversary": {
|
|
"args": {
|
|
"email_address": "test@example.com",
|
|
"first_name": "Test Name",
|
|
"last_name": "Test Name",
|
|
"job_title": "test_value",
|
|
"company_name": "Test Name",
|
|
"phone_numbers": [],
|
|
"street_addresses": [],
|
|
"list_memberships": [],
|
|
"custom_fields": [],
|
|
"birthday_month": 50,
|
|
"birthday_day": 50,
|
|
"anniversary": "",
|
|
"create_source": "Contact"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"add_contact:empty-create_source": {
|
|
"args": {
|
|
"email_address": "test@example.com",
|
|
"first_name": "Test Name",
|
|
"last_name": "Test Name",
|
|
"job_title": "test_value",
|
|
"company_name": "Test Name",
|
|
"phone_numbers": [],
|
|
"street_addresses": [],
|
|
"list_memberships": [],
|
|
"custom_fields": [],
|
|
"birthday_month": 50,
|
|
"birthday_day": 50,
|
|
"anniversary": "test_value",
|
|
"create_source": ""
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_campaigns": {
|
|
"args": {
|
|
"limit": 50,
|
|
"before_date": "test_value",
|
|
"after_date": "test_value",
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "content && content.length > 0"
|
|
},
|
|
"list_campaigns:empty-before_date": {
|
|
"args": {
|
|
"limit": 50,
|
|
"before_date": "",
|
|
"after_date": "test_value",
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_campaigns:empty-after_date": {
|
|
"args": {
|
|
"limit": 50,
|
|
"before_date": "test_value",
|
|
"after_date": "",
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_campaigns:empty-cursor": {
|
|
"args": {
|
|
"limit": 50,
|
|
"before_date": "test_value",
|
|
"after_date": "test_value",
|
|
"cursor": ""
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"create_campaign": {
|
|
"args": {
|
|
"name": "Test Name",
|
|
"subject": "test_value",
|
|
"from_name": "Test Name",
|
|
"from_email": "test@example.com",
|
|
"reply_to_email": "test@example.com",
|
|
"html_content": "Sample content for testing",
|
|
"text_content": "Sample content for testing",
|
|
"format_type": 1,
|
|
"physical_address_in_footer": {}
|
|
},
|
|
"expect": "content && content.length > 0"
|
|
},
|
|
"create_campaign:empty-reply_to_email": {
|
|
"args": {
|
|
"name": "Test Name",
|
|
"subject": "test_value",
|
|
"from_name": "Test Name",
|
|
"from_email": "test@example.com",
|
|
"reply_to_email": "",
|
|
"html_content": "Sample content for testing",
|
|
"text_content": "Sample content for testing",
|
|
"format_type": 1,
|
|
"physical_address_in_footer": {}
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"create_campaign:empty-html_content": {
|
|
"args": {
|
|
"name": "Test Name",
|
|
"subject": "test_value",
|
|
"from_name": "Test Name",
|
|
"from_email": "test@example.com",
|
|
"reply_to_email": "test@example.com",
|
|
"html_content": "",
|
|
"text_content": "Sample content for testing",
|
|
"format_type": 1,
|
|
"physical_address_in_footer": {}
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"create_campaign:empty-text_content": {
|
|
"args": {
|
|
"name": "Test Name",
|
|
"subject": "test_value",
|
|
"from_name": "Test Name",
|
|
"from_email": "test@example.com",
|
|
"reply_to_email": "test@example.com",
|
|
"html_content": "Sample content for testing",
|
|
"text_content": "",
|
|
"format_type": 1,
|
|
"physical_address_in_footer": {}
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_lists": {
|
|
"args": {
|
|
"limit": 50,
|
|
"include_count": true,
|
|
"include_membership_count": "all",
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "content && content.length > 0"
|
|
},
|
|
"list_lists:empty-include_membership_count": {
|
|
"args": {
|
|
"limit": 50,
|
|
"include_count": true,
|
|
"include_membership_count": "",
|
|
"cursor": "test_value"
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"list_lists:empty-cursor": {
|
|
"args": {
|
|
"limit": 50,
|
|
"include_count": true,
|
|
"include_membership_count": "all",
|
|
"cursor": ""
|
|
},
|
|
"expect": "exists"
|
|
},
|
|
"add_to_list": {
|
|
"args": {
|
|
"list_id": "test-id-123",
|
|
"contact_ids": []
|
|
},
|
|
"expect": "content && content.length > 0"
|
|
},
|
|
"get_campaign_stats": {
|
|
"args": {
|
|
"campaign_activity_id": "test-id-123"
|
|
},
|
|
"expect": "content && content.length > 0"
|
|
}
|
|
},
|
|
"resources": {},
|
|
"prompts": {},
|
|
"timeout": 30000
|
|
}
|
|
} |