{
  "serverInfo": {
    "name": "V30",
    "version": "3.0.0",
    "description": "Accountable marketing operations through direct product tools, durable approvals, evidence, and structured delegation."
  },
  "protocolVersion": "2025-11-25",
  "transports": [
    {
      "type": "streamable-http",
      "endpoint": "https://www.v30.ai/api/mcp/mcp",
      "authentication": {
        "preferred": "clerk_oauth",
        "interactive": {
          "type": "oauth2",
          "protected_resource": "https://www.v30.ai/.well-known/oauth-protected-resource/api/mcp/mcp"
        },
        "headless": {
          "type": "bearer",
          "token_format": "project-scoped Clerk API key",
          "configuration": "https://www.v30.ai/agent"
        }
      }
    }
  ],
  "capabilities": {
    "tools": true,
    "resources": true,
    "prompts": true
  },
  "tools": [
    {
      "name": "projects_list",
      "title": "List projects",
      "description": "Start here to discover your accessible V30 project IDs. No project ID or Campaign setup is needed.",
      "scope": "v30:workspace:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "workspace_get",
      "title": "Get workspace",
      "description": "Inspect accessible V30 projects, one selected workspace, its connections, capabilities, and service links.",
      "scope": "v30:workspace:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "context_search",
      "title": "Search context",
      "description": "Search V30 Files, approved memory, prior chats, and saved research within one project.",
      "scope": "v30:context:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "connections_request",
      "title": "Request a connection",
      "description": "Create a short-lived V30 connection link for a supported provider without exposing credentials.",
      "scope": "v30:connections:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "files_list",
      "title": "List Files",
      "description": "List or search V30 Files and folders in one project.",
      "scope": "v30:files:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "files_read",
      "title": "Read a File",
      "description": "Read one V30 File or folder by stable ID.",
      "scope": "v30:files:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "files_create",
      "title": "Create a File",
      "description": "Create one V30 File or folder with source metadata.",
      "scope": "v30:files:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "files_update",
      "title": "Update a File",
      "description": "Update a V30 File title, content, source metadata, or folder placement.",
      "scope": "v30:files:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "files_delete",
      "title": "Delete a File",
      "description": "Request durable human approval to delete one V30 File or folder.",
      "scope": "v30:files:delete",
      "risk_class": "consequential",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "campaigns_list",
      "title": "List Campaigns",
      "description": "List V30 Campaigns or return one Campaign by stable ID.",
      "scope": "v30:campaigns:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "campaigns_create",
      "title": "Create a Campaign",
      "description": "Create one V30 Campaign with a required name and Goal.",
      "scope": "v30:campaigns:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "campaigns_update",
      "title": "Update a Campaign",
      "description": "Rename, update the Goal, archive, or unarchive one V30 Campaign.",
      "scope": "v30:campaigns:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "campaigns_record_evidence",
      "title": "Record Campaign evidence",
      "description": "Attach append-only outcome evidence to one V30 Campaign.",
      "scope": "v30:campaigns:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "content_list",
      "title": "List content",
      "description": "List V30 Posts or articles, or return one saved item by stable ID.",
      "scope": "v30:content:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "content_create",
      "title": "Create content",
      "description": "Create a V30 draft Post, thread, or article. No Campaign Outcome is required. Omit campaign_id to use the project's oldest active Campaign.",
      "scope": "v30:content:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "content_update",
      "title": "Update content",
      "description": "Edit a V30 post or article draft, media placement, lane, or Campaign assignment. Scheduled content is immutable to agents. Create a new complete thread draft to change the text or media of a saved thread.",
      "scope": "v30:content:write",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "content_review",
      "title": "Review content",
      "description": "Review supplied text or one saved V30 content item and optionally save the notes.",
      "scope": "v30:content:review",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "content_schedule",
      "title": "Schedule content",
      "description": "Request human approval of an exact saved content snapshot, named account, and timestamp. Only the person can approve scheduling in V30.",
      "scope": "v30:content:schedule",
      "risk_class": "consequential",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "content_publish",
      "title": "Publish content",
      "description": "Request durable human approval to publish an exact saved V30 snapshot to one named target.",
      "scope": "v30:content:publish",
      "risk_class": "consequential",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "content_delete",
      "title": "Delete content",
      "description": "Request durable human approval to delete one saved V30 content item.",
      "scope": "v30:content:delete",
      "risk_class": "consequential",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "research_run",
      "title": "Run research",
      "description": "Start bounded web, URL, or social research and optionally save its result to V30 Files.",
      "scope": "v30:research:run",
      "risk_class": "write",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "media_generate",
      "title": "Generate media",
      "description": "Start bounded media generation and save the resulting assets to V30 Files.",
      "scope": "v30:media:generate",
      "risk_class": "write",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "automations_list",
      "title": "List Automations",
      "description": "List V30 Automations or return one Automation and its recent runs.",
      "scope": "v30:automations:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "automations_create",
      "title": "Create an Automation",
      "description": "Create one bounded recurring V30 Automation.",
      "scope": "v30:automations:write",
      "risk_class": "write",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "automations_control",
      "title": "Control an Automation",
      "description": "Pause, resume, run once, or request deletion of one V30 Automation.",
      "scope": "v30:automations:write",
      "risk_class": "consequential",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "message_send",
      "title": "Send a message",
      "description": "Request durable human approval to send an exact message through one connected V30 channel.",
      "scope": "v30:communications:send",
      "risk_class": "consequential",
      "execution_mode": "native_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "work_delegate",
      "title": "Delegate work",
      "description": "Prepare new drafts and evidence in a governed V30 run with explicit deliverables and a budget cap. Revise saved content with content_update. Use content_schedule or content_publish to request human approval of the exact content, account and time. Delegated work cannot grant approval or execute publication, scheduling or Automation activation.",
      "scope": "v30:operator:delegate",
      "risk_class": "delegated",
      "execution_mode": "operator_run",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "runs_get",
      "title": "Get a run",
      "description": "Inspect one V30 run, canonical result, artifacts, pending input or approval, usage, and next action.",
      "scope": "v30:runs:read",
      "risk_class": "read",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "runs_cancel",
      "title": "Cancel a run",
      "description": "Cancel future work for one queued or active MCP-originated V30 run while preserving completed evidence.",
      "scope": "v30:runs:control",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "runs_respond",
      "title": "Respond to a run",
      "description": "Answer the current clarification for one V30 run without approving a consequential action.",
      "scope": "v30:runs:control",
      "risk_class": "write",
      "execution_mode": "inline",
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "resources": [
    {
      "name": "workspace",
      "title": "V30 workspace",
      "description": "Authorized project workspace summary.",
      "uri_template": "v30://projects/{project_id}/workspace",
      "scope": "v30:workspace:read"
    },
    {
      "name": "file",
      "title": "V30 File",
      "description": "One authorized project File.",
      "uri_template": "v30://projects/{project_id}/files/{file_id}",
      "scope": "v30:files:read"
    },
    {
      "name": "campaign",
      "title": "V30 Campaign",
      "description": "One authorized project Campaign.",
      "uri_template": "v30://projects/{project_id}/campaigns/{campaign_id}",
      "scope": "v30:campaigns:read"
    },
    {
      "name": "content",
      "title": "V30 content",
      "description": "One authorized project content item.",
      "uri_template": "v30://projects/{project_id}/content/{content_id}",
      "scope": "v30:content:read"
    },
    {
      "name": "automation",
      "title": "V30 Automation",
      "description": "One authorized project Automation.",
      "uri_template": "v30://projects/{project_id}/automations/{automation_id}",
      "scope": "v30:automations:read"
    },
    {
      "name": "run",
      "title": "V30 run",
      "description": "One authorized project run and its canonical result.",
      "uri_template": "v30://projects/{project_id}/runs/{run_id}",
      "scope": "v30:runs:read"
    }
  ],
  "prompts": [
    {
      "name": "delegate_campaign_outcome",
      "title": "Delegate a Campaign outcome",
      "description": "Frame a measurable multi-step Campaign outcome for V30.",
      "arguments": [
        {
          "name": "project_id",
          "description": "Authorized V30 project ID.",
          "required": true
        },
        {
          "name": "objective",
          "description": "Desired commercial outcome.",
          "required": true
        }
      ]
    },
    {
      "name": "turn_product_update_into_content",
      "title": "Turn a product update into content",
      "description": "Create Campaign-bound content from an approved product source.",
      "arguments": [
        {
          "name": "project_id",
          "description": "Authorized V30 project ID.",
          "required": true
        },
        {
          "name": "source_id",
          "description": "Stable V30 File ID for the product update.",
          "required": true
        }
      ]
    },
    {
      "name": "research_and_save_evidence",
      "title": "Research and save evidence",
      "description": "Run bounded research and preserve useful evidence in V30 Files.",
      "arguments": [
        {
          "name": "project_id",
          "description": "Authorized V30 project ID.",
          "required": true
        },
        {
          "name": "question",
          "description": "Research question and bounds.",
          "required": true
        }
      ]
    },
    {
      "name": "review_and_schedule_content",
      "title": "Review and schedule content",
      "description": "Review a saved content item before scheduling it.",
      "arguments": [
        {
          "name": "project_id",
          "description": "Authorized V30 project ID.",
          "required": true
        },
        {
          "name": "content_id",
          "description": "Stable V30 content ID.",
          "required": true
        }
      ]
    },
    {
      "name": "create_branded_media_set",
      "title": "Create a branded media set",
      "description": "Create bounded media from V30-owned brand sources.",
      "arguments": [
        {
          "name": "project_id",
          "description": "Authorized V30 project ID.",
          "required": true
        },
        {
          "name": "brief",
          "description": "Media purpose and required variations.",
          "required": true
        }
      ]
    }
  ],
  "scopes": [
    "v30:workspace:read",
    "v30:context:read",
    "v30:connections:write",
    "v30:files:read",
    "v30:files:write",
    "v30:files:delete",
    "v30:campaigns:read",
    "v30:campaigns:write",
    "v30:content:read",
    "v30:content:write",
    "v30:content:review",
    "v30:content:schedule",
    "v30:content:publish",
    "v30:content:delete",
    "v30:research:run",
    "v30:media:generate",
    "v30:automations:read",
    "v30:automations:write",
    "v30:communications:send",
    "v30:operator:delegate",
    "v30:runs:read",
    "v30:runs:control"
  ]
}