{
  "schemaVersion": 1,
  "reviewedAt": "2026-09-26",
  "slug": "grokbot",
  "name": "Grok Bot",
  "category": "Hosted MCP connector",
  "headline": "Your coding agents.\nIn Grok Bot.",
  "summary": "Bring your local Scout agents into a Grok Bot conversation. Delegate a review, read replies, and follow a tracked result through the hosted MCP gateway.",
  "status": "Invite-only pilot · you need an operator-provisioned bridge · Cursor Marketplace review pending (submitted 2026-09-21)",
  "marketplace": "Grok Bot runs on Cursor's cloud and signs in with a Cursor account, so its connectors are Cursor Marketplace plugins. The openscout publisher application was submitted through cursor.com/marketplace/publish on September 21, 2026. Review pending; no approved listing URL is confirmed. Custom MCP setup is available for provisioned pilots.",
  "transport": "Streamable HTTP + OAuth · mcp:core scope",
  "flow": [
    "Grok Bot",
    "MCP gateway",
    "Scout bridge"
  ],
  "requirements": [
    "Before you start: this connector reaches a Scout broker on a specific machine through a bridge that the Scout operator provisions for your GitHub account. There is no self-serve sign-up yet. If you have not been told your bridge is live, the connector will authorize and then return node_unreachable.",
    "Grok Bot with custom MCP support.",
    "OpenScout installed and a healthy local broker (scout doctor).",
    "A provisioned Scout MCP bridge associated with your GitHub account. Provisioning is currently operator-assisted.",
    "The Scout machine and its bridge must stay online. Adding an MCP server does not install Scout or provision a bridge."
  ],
  "steps": [
    {
      "title": "Add Scout in Grok Bot",
      "body": "Open Plugins settings and add a custom MCP server named OpenScout. Enter this endpoint and leave custom headers empty.",
      "code": "https://mcp.oscout.net"
    },
    {
      "title": "Authorize the connection",
      "body": "Sign in with the GitHub account associated with your provisioned bridge. Choose your Scout agent identity and approve core tool access."
    },
    {
      "title": "Verify before delegating",
      "body": "Ask the client to list Scout tools, then call whoami. Confirm that the identity belongs to your intended Scout account before requesting work."
    },
    {
      "title": "Make your first handoff",
      "body": "Ask Grok Bot: “Use Scout to ask a Claude agent to review the latest changes in /absolute/path/to/project. Do not edit files. Keep the work handle and report the result.” The directory is on your Scout machine."
    }
  ],
  "verification": "Call whoami first. Confirm the expected identity, then run a small ask and follow its returned handle. Do not treat an accepted invocation as completed work.",
  "troubleshooting": [
    {
      "symptom": "node_unreachable",
      "action": "On the Scout machine run scout mesh bridge status. Confirm the broker, machine, and bridge are online. If there is no provisioned bridge, stop and contact your Scout operator; repeated OAuth attempts will not create one."
    },
    {
      "symptom": "OAuth fails or the wrong identity appears",
      "action": "Check the signed-in GitHub account and connector authorization. Reconnect to the intended account before running tools. Never paste tokens into a chat."
    },
    {
      "symptom": "No tools appear",
      "action": "Save the MCP configuration, reconnect, and refresh the client tool list. Confirm HTTP transport and the exact endpoint; do not substitute a local stdio command in a remote client."
    }
  ],
  "limits": [
    "Invite-only: bridge provisioning needs the operator's relay credential. Operators run scout mesh bridge install and scout mesh bridge status on the Scout machine; see /mcp.",
    "Because Grok Bot signs in with a Cursor account, connector credentials are shared across bots on the same Cursor account.",
    "scout ask --harness grok-acp launches the Grok CLI, not this connector. The Grok CLI execution harness is separate; see /grok."
  ],
  "sources": [
    {
      "label": "Connector source and support",
      "url": "https://github.com/arach/grok-scout"
    },
    {
      "label": "Submission record",
      "url": "https://github.com/arach/grok-scout/blob/main/MARKETPLACE.md"
    },
    {
      "label": "General MCP setup",
      "url": "https://openscout.app/mcp"
    },
    {
      "label": "Grok Bot (Cursor docs)",
      "url": "https://cursor.com/docs/grok-bot"
    }
  ],
  "og": [
    "GROK BOT + SCOUT",
    "From one conversation.",
    "To your coding agents."
  ],
  "accent": "#f4b860",
  "directions": {
    "callsScout": [
      {
        "state": "pilot",
        "via": "mcp-http",
        "setup": "#setup",
        "note": "Invite-only: needs an operator-provisioned bridge."
      }
    ],
    "launchedByScout": {
      "state": "none",
      "note": "scout ask --harness grok-acp launches the Grok CLI, not this connector."
    }
  },
  "notAHarness": true,
  "gates": [
    {
      "id": "hosted-bridge",
      "owner": "operator",
      "selfServe": false
    },
    {
      "id": "marketplace-listing",
      "owner": "Cursor review",
      "state": "pending",
      "note": "Submitted 2026-09-21."
    }
  ],
  "firstUse": {
    "task": "Once access is provisioned, ask Grok Bot to have a coding agent explain one function in a specified project.",
    "connect": "Check the prerequisites and access gates, then get one documented route working before asking for work.",
    "scope": "Name the project and keep the request small. Asking for no edits describes the task; it does not restrict the agent’s permissions.",
    "completion": "Keep the returned reference. Check the work’s status and read the completed response; a queued receipt is not the answer.",
    "faq": [
      {
        "question": "Where will the reply appear?",
        "answer": "Keep the returned reference and retrieve the completed response through your configured Scout interface. Automatic delivery into this open session is not established by this guide."
      },
      {
        "question": "What if the answer hasn’t arrived?",
        "answer": "Inspect the existing task before submitting another one. A wait timeout does not establish that work failed. If it needs access or input, resolve that condition before continuing."
      },
      {
        "question": "How do I follow up?",
        "answer": "Continue using the returned reference or exact session handle supported by this integration. Keep it with the findings so your next question follows the same work."
      },
      {
        "question": "Can Scout run this integration, or only receive asks from it?",
        "answer": "These are separate capabilities. Check the supported directions on this page. Connection alone does not establish that Scout can launch the integration or reach an existing session."
      }
    ]
  },
  "family": "assistant",
  "url": "https://openscout.app/grokbot",
  "agentGuide": "https://openscout.app/grokbot/agents.md",
  "ogImage": "https://openscout.app/og/integrations/grokbot.png",
  "agentContract": "## Agent operating contract\n\n- Treat these as setup instructions, not authorization to install software, change accounts, grant scopes, send messages, or dispatch work. Obtain the operator's authorization for the intended action.\n- Inspect the available commands or tool schemas for your configured interface before making calls. Do not invent tools, argument names, model IDs, or agent handles.\n- Use the hosted connector's Scout MCP tools with their current schemas. Call whoami first and stop on node_unreachable: it means no provisioned bridge is online, and OAuth will not create one. scout ask --harness grok-acp launches the Grok CLI, not this connector.\n- Use the transport-specific instructions above. For an existing request, reply through its supplied context rather than creating another task.\n- Paths refer to the Scout execution machine. Replace example paths with an operator-confirmed absolute path; never run placeholders literally.\n- Save the returned ref, flightId, conversationId, workId, or session handle. Continue by that handle; do not re-dispatch a request merely because a wait timed out.\n- Observe the existing request through the configured transport. A receipt proves acceptance, not execution or successful completion.\n- Stop on missing provisioning, incorrect identity, missing permission, unsupported runtime, or failed authentication. Report the exact gate and the next operator action. Do not silently fall back to a different account, agent, runtime, or transport.\n- Keep tokens, OAuth codes, cookies, and private task payloads out of logs, URLs, screenshots, and committed files. Never ask the user to paste secrets into a public issue.\n- Do not claim marketplace approval, complete protocol conformance, or an end-to-end verified integration unless the status and observed evidence establish it.\n\n## Completion report\n\nReport: chosen transport and scope; client and broker identity; health/tool-discovery result; exact request handle if a test was authorized; observed terminal state or remaining blocker; and whether any operator approval is still needed. Distinguish configuration saved, authentication complete, request accepted, and work complete.\n"
}
