310 lines
11 KiB
Bash
Executable File

#!/bin/bash
# MCP Factory V3 — Manifest Builder
# Creates the manifest file for all 30 servers
MANIFEST_DIR="$(dirname "$0")/../manifests"
mkdir -p "$MANIFEST_DIR"
cat > "$MANIFEST_DIR/batch-1.json" << 'EOF'
[
{
"name": "shopify",
"displayName": "Shopify",
"repo": "shopify-mcp-2026-complete",
"apiBase": "https://{store}.myshopify.com/admin/api/2024-01",
"auth": "oauth2",
"toolCategories": ["products", "orders", "customers", "inventory", "collections", "discounts", "shipping", "fulfillments", "themes", "pages", "blogs", "analytics", "webhooks"],
"appCount": 18
},
{
"name": "stripe",
"displayName": "Stripe",
"repo": "stripe-mcp-2026-complete",
"apiBase": "https://api.stripe.com/v1",
"auth": "bearer",
"toolCategories": ["charges", "customers", "subscriptions", "invoices", "products", "prices", "payment-intents", "payment-methods", "refunds", "disputes", "payouts", "balance", "events", "webhooks"],
"appCount": 18
},
{
"name": "quickbooks",
"displayName": "QuickBooks Online",
"repo": "quickbooks-mcp-2026-complete",
"apiBase": "https://quickbooks.api.intuit.com/v3/company/{realmId}",
"auth": "oauth2",
"toolCategories": ["invoices", "customers", "payments", "estimates", "bills", "vendors", "items", "accounts", "reports", "employees", "time-activities", "taxes", "purchases", "journal-entries"],
"appCount": 18
},
{
"name": "hubspot",
"displayName": "HubSpot",
"repo": "hubspot-mcp-2026-complete",
"apiBase": "https://api.hubapi.com",
"auth": "bearer",
"toolCategories": ["contacts", "companies", "deals", "tickets", "emails", "engagements", "pipelines", "lists", "forms", "campaigns", "blog", "analytics", "workflows", "webhooks"],
"appCount": 20
},
{
"name": "salesforce",
"displayName": "Salesforce",
"repo": "salesforce-mcp-2026-complete",
"apiBase": "https://{instance}.salesforce.com/services/data/v59.0",
"auth": "oauth2",
"toolCategories": ["accounts", "contacts", "leads", "opportunities", "cases", "tasks", "events", "campaigns", "reports", "dashboards", "users", "custom-objects", "soql", "bulk-api"],
"appCount": 20
}
]
EOF
cat > "$MANIFEST_DIR/batch-2.json" << 'EOF'
[
{
"name": "notion",
"displayName": "Notion",
"repo": "notion-mcp-2026-complete",
"apiBase": "https://api.notion.com/v1",
"auth": "bearer",
"toolCategories": ["pages", "databases", "blocks", "users", "comments", "search"],
"appCount": 15
},
{
"name": "airtable",
"displayName": "Airtable",
"repo": "airtable-mcp-2026-complete",
"apiBase": "https://api.airtable.com/v0",
"auth": "bearer",
"toolCategories": ["bases", "tables", "records", "fields", "views", "webhooks", "automations"],
"appCount": 15
},
{
"name": "intercom",
"displayName": "Intercom",
"repo": "intercom-mcp-2026-complete",
"apiBase": "https://api.intercom.io",
"auth": "bearer",
"toolCategories": ["contacts", "conversations", "companies", "articles", "help-center", "tickets", "tags", "segments", "events", "messages", "teams", "admins"],
"appCount": 16
},
{
"name": "monday",
"displayName": "Monday.com",
"repo": "monday-mcp-2026-complete",
"apiBase": "https://api.monday.com/v2",
"auth": "bearer",
"toolCategories": ["boards", "items", "columns", "groups", "updates", "users", "teams", "workspaces", "folders", "webhooks", "automations"],
"appCount": 16
},
{
"name": "xero",
"displayName": "Xero",
"repo": "xero-mcp-2026-complete",
"apiBase": "https://api.xero.com/api.xro/2.0",
"auth": "oauth2",
"toolCategories": ["invoices", "contacts", "accounts", "bank-transactions", "payments", "bills", "credit-notes", "purchase-orders", "quotes", "reports", "employees", "payroll", "tax-rates"],
"appCount": 18
}
]
EOF
cat > "$MANIFEST_DIR/batch-3.json" << 'EOF'
[
{
"name": "jira",
"displayName": "Jira/Atlassian",
"repo": "jira-mcp-2026-complete",
"apiBase": "https://{domain}.atlassian.net/rest/api/3",
"auth": "basic_or_oauth2",
"toolCategories": ["issues", "projects", "boards", "sprints", "users", "comments", "attachments", "transitions", "fields", "filters", "dashboards", "webhooks"],
"appCount": 18
},
{
"name": "linear",
"displayName": "Linear",
"repo": "linear-mcp-2026-complete",
"apiBase": "https://api.linear.app/graphql",
"auth": "bearer",
"toolCategories": ["issues", "projects", "teams", "cycles", "labels", "milestones", "users", "comments", "workflows", "webhooks"],
"appCount": 15
},
{
"name": "asana",
"displayName": "Asana",
"repo": "asana-mcp-2026-complete",
"apiBase": "https://app.asana.com/api/1.0",
"auth": "bearer",
"toolCategories": ["tasks", "projects", "workspaces", "teams", "users", "sections", "tags", "goals", "portfolios", "custom-fields", "status-updates", "webhooks"],
"appCount": 16
},
{
"name": "docusign",
"displayName": "DocuSign",
"repo": "docusign-mcp-2026-complete",
"apiBase": "https://{account}.docusign.net/restapi/v2.1",
"auth": "oauth2",
"toolCategories": ["envelopes", "templates", "recipients", "documents", "signing", "folders", "users", "accounts", "reports", "bulk-send"],
"appCount": 14
},
{
"name": "square",
"displayName": "Square",
"repo": "square-mcp-2026-complete",
"apiBase": "https://connect.squareup.com/v2",
"auth": "bearer",
"toolCategories": ["payments", "orders", "customers", "catalog", "inventory", "locations", "team", "invoices", "subscriptions", "loyalty", "bookings", "disputes", "refunds"],
"appCount": 18
}
]
EOF
cat > "$MANIFEST_DIR/batch-4.json" << 'EOF'
[
{
"name": "klaviyo",
"displayName": "Klaviyo",
"repo": "klaviyo-mcp-2026-complete",
"apiBase": "https://a.klaviyo.com/api",
"auth": "bearer",
"toolCategories": ["profiles", "lists", "segments", "campaigns", "flows", "templates", "metrics", "events", "catalogs", "forms", "tags", "reporting"],
"appCount": 16
},
{
"name": "activecampaign",
"displayName": "ActiveCampaign",
"repo": "activecampaign-mcp-2026-complete",
"apiBase": "https://{account}.api-us1.com/api/3",
"auth": "api_key",
"toolCategories": ["contacts", "deals", "lists", "campaigns", "automations", "forms", "tags", "tasks", "notes", "pipelines", "accounts", "webhooks"],
"appCount": 16
},
{
"name": "salesloft",
"displayName": "Salesloft",
"repo": "salesloft-mcp-2026-complete",
"apiBase": "https://api.salesloft.com/v2",
"auth": "oauth2",
"toolCategories": ["people", "cadences", "emails", "calls", "accounts", "steps", "users", "teams", "imports", "activities", "notes"],
"appCount": 14
},
{
"name": "zoho-crm",
"displayName": "Zoho CRM",
"repo": "zoho-crm-mcp-2026-complete",
"apiBase": "https://www.zohoapis.com/crm/v6",
"auth": "oauth2",
"toolCategories": ["leads", "contacts", "accounts", "deals", "tasks", "events", "calls", "notes", "products", "quotes", "invoices", "campaigns", "blueprints", "workflows"],
"appCount": 18
},
{
"name": "sendgrid",
"displayName": "SendGrid",
"repo": "sendgrid-mcp-2026-complete",
"apiBase": "https://api.sendgrid.com/v3",
"auth": "bearer",
"toolCategories": ["mail", "contacts", "lists", "segments", "templates", "campaigns", "senders", "stats", "suppressions", "webhooks", "api-keys"],
"appCount": 14
}
]
EOF
cat > "$MANIFEST_DIR/batch-5.json" << 'EOF'
[
{
"name": "greenhouse",
"displayName": "Greenhouse",
"repo": "greenhouse-mcp-2026-complete",
"apiBase": "https://harvest.greenhouse.io/v1",
"auth": "basic",
"toolCategories": ["candidates", "applications", "jobs", "offers", "scorecards", "interviews", "users", "departments", "offices", "custom-fields", "activity-feed"],
"appCount": 15
},
{
"name": "datadog",
"displayName": "Datadog",
"repo": "datadog-mcp-2026-complete",
"apiBase": "https://api.datadoghq.com/api/v2",
"auth": "api_key_app_key",
"toolCategories": ["monitors", "dashboards", "events", "metrics", "logs", "incidents", "service-checks", "hosts", "downtimes", "synthetics", "apm"],
"appCount": 16
},
{
"name": "supabase",
"displayName": "Supabase",
"repo": "supabase-mcp-2026-complete",
"apiBase": "https://{project}.supabase.co",
"auth": "bearer",
"toolCategories": ["database", "auth", "storage", "edge-functions", "realtime", "rpc", "migrations", "policies"],
"appCount": 14
},
{
"name": "typeform",
"displayName": "Typeform",
"repo": "typeform-mcp-2026-complete",
"apiBase": "https://api.typeform.com",
"auth": "bearer",
"toolCategories": ["forms", "responses", "workspaces", "themes", "images", "insights", "webhooks"],
"appCount": 12
},
{
"name": "chargebee",
"displayName": "Chargebee",
"repo": "chargebee-mcp-2026-complete",
"apiBase": "https://{site}.chargebee.com/api/v2",
"auth": "basic",
"toolCategories": ["subscriptions", "customers", "invoices", "plans", "addons", "coupons", "payments", "credit-notes", "events", "quotes", "exports"],
"appCount": 15
}
]
EOF
cat > "$MANIFEST_DIR/batch-6.json" << 'EOF'
[
{
"name": "pandadoc",
"displayName": "PandaDoc",
"repo": "pandadoc-mcp-2026-complete",
"apiBase": "https://api.pandadoc.com/public/v1",
"auth": "bearer",
"toolCategories": ["documents", "templates", "contacts", "content-library", "forms", "webhooks", "workspaces", "members"],
"appCount": 12
},
{
"name": "loom",
"displayName": "Loom",
"repo": "loom-mcp-2026-complete",
"apiBase": "https://www.loom.com/v1",
"auth": "bearer",
"toolCategories": ["videos", "folders", "workspaces", "members", "comments", "transcripts", "analytics", "embeds"],
"appCount": 12
},
{
"name": "webflow",
"displayName": "Webflow",
"repo": "webflow-mcp-2026-complete",
"apiBase": "https://api.webflow.com/v2",
"auth": "bearer",
"toolCategories": ["sites", "pages", "collections", "items", "orders", "products", "inventory", "users", "forms", "webhooks", "assets"],
"appCount": 15
},
{
"name": "apollo",
"displayName": "Apollo.io",
"repo": "apollo-mcp-2026-complete",
"apiBase": "https://api.apollo.io/v1",
"auth": "api_key",
"toolCategories": ["people", "organizations", "contacts", "accounts", "sequences", "tasks", "emails", "opportunities", "labels", "lists", "enrichment"],
"appCount": 15
},
{
"name": "lever",
"displayName": "Lever",
"repo": "lever-mcp-2026-complete",
"apiBase": "https://api.lever.co/v1",
"auth": "basic_or_oauth2",
"toolCategories": ["opportunities", "candidates", "postings", "interviews", "offers", "stages", "users", "archive-reasons", "sources", "tags", "feedback-forms"],
"appCount": 14
}
]
EOF
echo "All 6 batch manifests created (30 servers total)"
ls -la "$MANIFEST_DIR"