{"mcp_version":"1.0.0","name":"SocialCRM Connector","title":"SocialCRM","version":"1.1.0","description":"MCP manifest for SocialCRM brand data, analytics, notification, and workflow tools.","developer":{"name":"SocialCRM","url":"https://socialcrm.com"},"categories":["Marketing","Analytics","Productivity"],"icon_url":"https://socialcrm.com/logo.png","website_url":"https://socialcrm.com","documentation_url":"https://socialcrm.com/developers","support_url":"https://socialcrm.com/contact","privacy_policy_url":"https://socialcrm.com/privacy","terms_of_service_url":"https://socialcrm.com/terms","base_url":"https://socialcrm.com/mcp","connector_url":"https://socialcrm.com/mcp","openapi_url":"https://socialcrm.com/openapi.json","authentication":{"type":"bearer","description":"Generic clients can use SocialCRM API keys. Claude and ChatGPT connectors use OAuth 2.1 against the /mcp endpoint."},"tools":[{"name":"get_agentic_readiness_report","title":"Get Agentic Readiness report","description":"Read the latest completed public SocialCRM Agentic Readiness report for a URL. This read-only tool does not start a scan and does not require authentication.","input_schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","description":"The public HTTP or HTTPS URL used when the report was created."}},"required":["url"]},"securitySchemes":[],"annotations":{"title":"Get Agentic Readiness report","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[]}},{"name":"get_agentic_readiness_methodology","title":"Get Agentic Readiness methodology","description":"Read the SocialCRM score weights, applicability rules, model version, and limits. This read-only tool does not require authentication.","input_schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]},"securitySchemes":[],"annotations":{"title":"Get Agentic Readiness methodology","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[]}},{"name":"get_agentic_readiness_developer_docs","title":"Get Agentic Readiness developer docs","description":"Read the public browser, JSON, Markdown, OpenAPI, and MCP interface paths for Agentic Readiness. This read-only tool does not require authentication.","input_schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]},"securitySchemes":[],"annotations":{"title":"Get Agentic Readiness developer docs","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[]}},{"name":"get_brand_snapshot","title":"Get Brand Snapshot","description":"✅ PRIMARY tool for a full single-brand report. Renders one consolidated Brand Snapshot — brand profile, competitors, repository assets, AI visibility, mentions, monitoring, and trends — for a single brand. Use this when the user wants \"everything\" or a complete overview of one brand. For just a score use get_ai_visibility_score; for a company-wide roll-up use get_dashboard_overview.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs if needed."},"repositoryCategory":{"type":"string","description":"Optional repository category filter for the snapshot (for example, \"faq\", \"product\", \"blog\")."},"repositoryLimit":{"type":"number","description":"Maximum number of repository items to include (default: 8, max: 20)."},"mentionsLimit":{"type":"number","description":"Maximum number of recent mentions to include (default: 8, max: 20)."},"mentionsPlatform":{"type":"string","description":"Optional AI platform filter for mentions (for example, \"chatgpt\", \"claude\", \"gemini\", \"perplexity\")."},"metricName":{"type":"string","description":"Metric name for the trend section (default: \"visibilityScore\")."},"metricDays":{"type":"number","description":"Number of trailing days for the trend section (default: 30, max: 90)."}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Brand Snapshot","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"ui":{"resourceUri":"ui://widget/socialcrm-brand-snapshot-v1.html","visibility":["model","app"]},"openai/outputTemplate":"ui://widget/socialcrm-brand-snapshot-v1.html","openai/widgetAccessible":true,"openai/toolInvocation/invoking":"Building Brand Snapshot…","openai/toolInvocation/invoked":"Brand Snapshot ready"}},{"name":"get_brand_profile","title":"Get Brand Profile","description":"Get the detailed profile for ONE specific brand: industry, website, brand voice, keywords, and target audience. Use this when the user asks about a single brand's setup or details. For a full multi-section report (metrics, mentions, competitors, monitoring) use get_brand_snapshot instead; to see the raw list of brands use list_brand_profiles.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Brand Profile","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"list_brand_profiles","title":"List Brand Profiles","description":"✅ START HERE. Primary discovery tool: lists every brand profile in the company. Use this first whenever the user names a brand, asks \"what brands do I have?\", or before any tool that needs a brandId — the IDs returned here are required by get_brand_profile, get_brand_snapshot, get_platform_metrics, and most other tools.","input_schema":{"type":"object","properties":{},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List Brand Profiles","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_repository_items","title":"Get Repository Items","description":"Browse or list the stored content items (blog posts, product pages, FAQs, etc.) in a brand's repository, optionally filtered by category. Use this when the user wants to see what content exists or list a category. When the user has specific keywords to find, use search_repository_items instead.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."},"category":{"type":"string","description":"Optional category filter (e.g., \"blog\", \"product\", \"faq\")"},"limit":{"type":"number","description":"Maximum number of items to return (default: 50)"},"offset":{"type":"number","description":"Number of items to skip for pagination (default: 0)"}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Repository Items","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"search_repository_items","title":"Search Repository Items","description":"Search a brand's repository for content items whose title or body matches a keyword or phrase. Use this when the user is looking for something specific (\"find our pages about brake service\"). To browse everything or filter only by category, use get_repository_items.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."},"query":{"type":"string","description":"Search query to match against titles and content"},"limit":{"type":"number","description":"Maximum number of items to return (default: 20)"},"offset":{"type":"number","description":"Number of items to skip for pagination (default: 0)"}},"required":["brandId","query"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Search Repository Items","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_competitors","title":"Get Competitors","description":"List the competitors recorded on a brand profile (names and, when available, sites). Use this when the user asks \"who are my competitors?\". For how the brand actually ranks against them in AI visibility, use get_competitor_rankings instead.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Competitors","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_platform_metrics","title":"Get Platform Metrics","description":"Get per-engine visibility and mention metrics for one brand, broken out by AI engine (ChatGPT, Claude, Gemini, Perplexity). Use this when the user asks how a brand performs on specific engines or wants an engine-by-engine breakdown. For a single 0-100 headline number use get_ai_visibility_score; for a full report use get_brand_snapshot.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Platform Metrics","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_brand_mentions","title":"Get Brand Mentions","description":"Get recent mentions and quotes of a brand captured from AI engine checks. Use this when the user asks \"what are the AI engines saying about us?\" or wants recent examples. Pass a platform to focus on one engine. For aggregate scores rather than individual mentions, use get_platform_metrics.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."},"limit":{"type":"number","minimum":1,"maximum":100,"description":"Maximum number of mentions to return (default: 50)"},"offset":{"type":"number","minimum":0,"description":"Number of mentions to skip for pagination (default: 0)"},"platform":{"type":"string","description":"Filter to a specific platform (e.g., \"chatgpt\", \"claude\")"}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Brand Mentions","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_agent_run_summary","title":"Get Agent Run Summary","description":"Get execution statistics for an agent instance","input_schema":{"type":"object","properties":{"agentInstanceId":{"type":"string","description":"The unique identifier of the agent instance"}},"required":["agentInstanceId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Agent Run Summary","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_monitoring_results","title":"Get Monitoring Results","description":"Get the latest results and alerts from a brand's monitoring scripts (crawler checks, content-gap and bot-access monitors). Use this when the user asks whether anything is broken or flagged for a brand. For product-wide notifications across all brands, use list_notifications.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Monitoring Results","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_metric_trend","title":"Get Metric Trend","description":"Get a time series of one metric over the last N days for a brand — use this when the user asks how something changed over time, wants a trend, or a chartable history. For the current value only, use get_ai_visibility_score or get_platform_metrics.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."},"metricName":{"type":"string","description":"The name of the metric to track (e.g., \"visibilityScore\", \"mentionCount\")"},"days":{"type":"number","description":"Number of days of history to retrieve (default: 30)"}},"required":["brandId","metricName"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Metric Trend","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_ai_visibility_score","title":"Get Ai Visibility Score","description":"Get the AI visibility score for ONE brand — the single headline metric (0-100) for how well it appears across benchmarked engines (ChatGPT, Claude, Gemini, Perplexity). Use this when the user asks \"what's my score?\" for a specific brand. Returns score, change since last calculation, factor breakdown, and issue counts. For the per-engine breakdown use get_platform_metrics; for a company-wide roll-up use get_dashboard_overview.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"The brand UUID or exact brand name. Call list_brand_profiles first to get valid IDs."}},"required":["brandId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Ai Visibility Score","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_dashboard_overview","title":"Get Dashboard Overview","description":"✅ Good first call for company-wide status. Returns a high-level roll-up across ALL brands: average visibility score, brand count, open issues (total + critical), and unread notifications. Use this when the user asks \"how are we doing overall?\" (no specific brand). For one brand's score use get_ai_visibility_score; for one brand's full report use get_brand_snapshot.","input_schema":{"type":"object","properties":{},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Dashboard Overview","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"list_simulations","title":"List Simulations","description":"List recent AI simulation sessions — probes of how AI platforms answer queries about your brand. Returns platform, brand, mode (visibility = organic probe, readiness = grounded), status, accuracy score, custom query when the run was ad-hoc, and timestamp.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"Filter to a specific brand (UUID or exact name). Omit for company-wide history. Call list_brand_profiles to get valid IDs."},"limit":{"type":"number","description":"Maximum number of simulations to return (default: 20, max: 100)"},"offset":{"type":"number","description":"Number of simulations to skip for pagination (default: 0)"}},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List Simulations","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_competitor_rankings","title":"Get Competitor Rankings","description":"Get competitive intelligence rankings showing how your brand compares to competitors in AI visibility. Filterable by brand and platform.","input_schema":{"type":"object","properties":{"brandId":{"type":"string","description":"Filter to a specific brand (UUID or exact name). Omit for company-wide view. Call list_brand_profiles to get valid IDs."},"platform":{"type":"string","description":"Filter to a specific AI platform (e.g., \"chatgpt\", \"claude\", \"gemini\", \"perplexity\")"},"limit":{"type":"number","description":"Maximum number of rankings to return (default: 50, max: 100)"}},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Competitor Rankings","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"list_notifications","title":"List Notifications","description":"List recent notifications and alerts for the company: bot access events, crawler errors, content gaps, AI mentions, and system alerts. Filter to unread only for actionable items.","input_schema":{"type":"object","properties":{"limit":{"type":"number","description":"Maximum number of notifications to return (default: 20, max: 100)"},"offset":{"type":"number","description":"Number of notifications to skip for pagination (default: 0)"},"onlyUnread":{"type":"boolean","description":"If true, only return unread notifications (default: false)"}},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List Notifications","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"list_workflows","title":"List Workflows","description":"List all available workflows with their agent counts, credit costs, estimated durations, and whether each is available on the current plan. Call this first to discover which workflows you can run.","input_schema":{"type":"object","properties":{},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List Workflows","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"get_credits","title":"Get Credits","description":"Get the current credit balance including available credits, reserved (in-flight) credits, usage this month, monthly limit, and reset date. Check this before running a workflow to ensure sufficient credits.","input_schema":{"type":"object","properties":{},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Credits","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"run_workflow","title":"Run Workflow","description":"Start a workflow run (asynchronous). Returns a runId immediately. The workflow executes in the background — poll get_run_status with the returned runId until status is \"completed\", \"partial_complete\", or \"failed\". Validates plan limits, credit balance, and concurrent run limits before starting.","input_schema":{"type":"object","properties":{"workflowId":{"type":"string","description":"The workflow ID to run. Use list_workflows to see available IDs (e.g. \"ai_shop_checkup\", \"fix_visibility\", \"competitive_scan\", \"content_refresh\", \"full_service\", \"reputation_shield\")."},"configuration":{"type":"object","description":"Optional configuration passed to the workflow agents.","properties":{"context":{"type":"string","description":"Free-text instructions or context for the workflow agents (e.g., \"Focus on product pages\" or \"Compare against competitor X\")."},"priority":{"type":"string","enum":["low","normal","high"],"description":"Execution priority (default: \"normal\")."},"brandId":{"type":"string","description":"Scope the workflow to a specific brand (UUID or name)."}},"additionalProperties":true}},"required":["workflowId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}],"annotations":{"title":"Run Workflow","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}]}},{"name":"get_run_status","title":"Get Run Status","description":"Get the full status of a workflow run including overall status, per-agent progress, findings, and error details. Use this to poll a running workflow until completion.","input_schema":{"type":"object","properties":{"runId":{"type":"string","description":"The run ID returned by run_workflow."}},"required":["runId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get Run Status","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"list_workflow_runs","title":"List Workflow Runs","description":"List recent workflow runs with optional filtering by status or workflow type. Returns runs ordered by most recent first.","input_schema":{"type":"object","properties":{"status":{"type":"string","enum":["pending","running","completed","partial_complete","failed","cancelled"],"description":"Filter runs by status."},"workflowId":{"type":"string","description":"Filter runs by workflow type (e.g. \"ai_shop_checkup\")."},"limit":{"type":"number","description":"Maximum number of runs to return (default 20, max 100)."},"offset":{"type":"number","description":"Number of runs to skip for pagination (default 0)."}},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List Workflow Runs","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"cancel_workflow_run","title":"Cancel Workflow Run","description":"Cancel a pending or running workflow run. Only runs with status \"pending\" or \"running\" can be cancelled. Cancelled runs do not consume credits.","input_schema":{"type":"object","properties":{"runId":{"type":"string","description":"The run ID to cancel."}},"required":["runId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}],"annotations":{"title":"Cancel Workflow Run","readOnlyHint":false,"destructiveHint":true,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}]}},{"name":"list_prompt_sets","title":"List prompt sets","description":"List the company prompt sets available for AI visibility configuration. In the MVP, each active brand is a prompt set so prompts remain tied to a real brand.","input_schema":{"type":"object","properties":{},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List prompt sets","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"list_tracked_prompts","title":"List tracked prompts","description":"List the durable prompts in a SocialCRM prompt set, including whether each prompt is enabled in stored configuration.","input_schema":{"type":"object","properties":{"promptSetId":{"type":"string","description":"The prompt set ID returned by list_prompt_sets."}},"required":["promptSetId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List tracked prompts","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"add_prompts_to_set","title":"Add prompts to a set","description":"Add one or more durable custom prompts to an existing SocialCRM prompt set. Exact duplicate prompt text is skipped so retries are safe.","input_schema":{"type":"object","properties":{"promptSetId":{"type":"string","description":"The prompt set ID returned by list_prompt_sets."},"prompts":{"type":"array","minItems":1,"maxItems":20,"description":"Prompts to add to the stored set.","items":{"type":"object","properties":{"name":{"type":"string","description":"A short, recognizable name for the prompt."},"prompt":{"type":"string","description":"The complete prompt text that SocialCRM should track."},"enabled":{"type":"boolean","description":"Whether the stored prompt should be enabled immediately. Defaults to true."}},"required":["name","prompt"]}}},"required":["promptSetId","prompts"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}],"annotations":{"title":"Add prompts to a set","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}]}},{"name":"list_reusable_agents","title":"List reusable agents","description":"List reusable SocialCRM agent instances for the current company, including their specialist archetype, status, assigned brands, and runtime configuration.","input_schema":{"type":"object","properties":{},"required":[]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"List reusable agents","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}},{"name":"create_reusable_agent","title":"Create a reusable agent","description":"Create a reusable SocialCRM agent from a supported marketing specialist archetype. The instructions, provider settings, and brand assignments are persisted for later runs and team reuse.","input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Team-visible name for the reusable agent."},"archetype":{"type":"string","enum":["brand_monitor","content_optimizer","tech_manager","market_analyzer","response_coordinator","ai_simulator","strategist","writer","optimizer"],"description":"The specialist runtime and guardrail profile to build on."},"instructions":{"type":"string","description":"Persistent system instructions defining the agent objective, method, and expected output."},"brandIds":{"type":"array","maxItems":20,"items":{"type":"string"},"description":"Optional company brand IDs assigned to this agent."},"provider":{"type":"string","enum":["claude","openai","gemini"],"description":"Model provider. Defaults to Claude."},"model":{"type":"string","description":"Optional model override for the selected provider."},"tools":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["WebSearch","WebFetch"]},"description":"Optional external tools. Tenant-scoped SocialCRM data tools are enabled automatically."}},"required":["name","archetype","instructions"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}],"annotations":{"title":"Create a reusable agent","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}]}},{"name":"run_reusable_agent","title":"Run a reusable agent","description":"Queue a run for a reusable SocialCRM agent. Returns a stable run ID that can be polled with get_agent_run_status.","input_schema":{"type":"object","properties":{"agentId":{"type":"string","description":"The reusable agent ID returned by create_reusable_agent or list_reusable_agents."},"brandId":{"type":"string","description":"Optional company brand ID for this run."},"instructions":{"type":"string","description":"Optional run-specific instructions appended to the saved agent instructions."}},"required":["agentId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}],"annotations":{"title":"Run a reusable agent","readOnlyHint":false,"destructiveHint":false,"openWorldHint":true},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.write"]}]}},{"name":"get_agent_run_status","title":"Get agent run status","description":"Get the current status and persisted result for a reusable-agent run in the current company.","input_schema":{"type":"object","properties":{"runId":{"type":"string","description":"The run ID returned by run_reusable_agent."}},"required":["runId"]},"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}],"annotations":{"title":"Get agent run status","readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"_meta":{"securitySchemes":[{"type":"oauth2","scopes":["socialcrm.read"]}]}}]}