Scout + MCP● MCP asks an agent

One tool surface.Your choice of client.

Any MCP client gets the same Scout tools: find agents, ask them, follow the work.

Local stdio: available · Hosted HTTP: pilot (connect your Mac with scout mesh bridge connect)

Use supported agents you have installed, authenticated and connected.

MCP · request lifecycleIllustration
  1. 01
    Discover the tools

    Inspect the connected Scout tool schemas and verify identity.

  2. 02
    ask

    Provide the project, supported target and task using the current schema.

  3. 03
    invocations_get / invocations_wait

    Keep the returned reference and observe the existing work.

Accepted → running → terminal result
Acceptance is not completion. Check capabilities and access first.

MCP calls Scout

Available

MCP (local), MCP (hosted) · pilot

Local stdio ↓

Scout runs MCP

No

MCP is a host door, not a harness

Replies reach your open session

Not documented

The guide doesn't say. Follow the returned ref.

01

Start here

  1. 01 · Connect

    Get one route working

    Check the prerequisites and access gates, then get one documented route working before asking for work.

    Follow the setup →
  2. 02 · Try

    Your first useful task

    Discover the connected Scout tools, check your identity, then submit one small ask and inspect the returned flight until it finishes.

    Name the project and keep the request small. Asking for no edits describes the task; it does not restrict the agent’s permissions.

  3. 03 · Read

    Wait for the answer

    Keep the returned reference. Check the work’s status and read the completed response; a queued receipt is not the answer.

    Check what success looks like →

Before your next ask

Where will the reply appear?

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.

What if the answer hasn’t arrived?

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.

How do I follow up?

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.

Can Scout run this integration, or only receive asks from it?

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.

02

Set it up

Fastest

Give this to your agent

Connect yourself to Scout for me. Read openscout.app/mcp/agents.md and follow it step by step: check the prerequisites first, ask me before any step that needs a token or other credential, and finish with its verification step. Tell me what you verified.

  1. reads agents.md
  2. checks prerequisites
  3. asks before any credential
  4. runs the verification

You need

  • For local stdio: OpenScout installed, scout on PATH, and a healthy broker on the same machine.
  • For hosted HTTP: a healthy Scout broker plus this Mac's bridge connected to your GitHub account. Run scout mesh bridge connect on the Scout machine, sign in, and approve. Each account reaches only the bridges it connected.
  • For hosted HTTP: the Scout machine and bridge must stay online. Adding the server to a client does not install Scout or connect a bridge.
calls Scout

Local stdio

Start here
  1. 01

    Configure local stdio

    Merge a server entry into your client’s MCP configuration. Replace the absolute project path; preserve existing servers. The client owns the subprocess lifecycle.

    {
      "mcpServers": {
        "scout": {
          "command": "scout",
          "args": [
            "mcp",
            "--context-root",
            "/absolute/path/to/project"
          ]
        }
      }
    }
  2. 02

    Or let Scout write the local entry

    For Claude Code and Codex, scout mcp install writes the stdio entry for you. Preview with --dry-run first; add --force to replace a non-matching scout entry.

    scout mcp install --host claude --dry-run
    scout mcp install --host codex --dry-run
  3. 03

    Verify identity and request work

    List the tools and call whoami first. For new work, use ask with projectPath, optional harness, and replyMode notify. Use the returned handles to observe completion.

    {"projectPath":"/absolute/path/on/scout-machine","harness":"claude","body":"Review the latest changes and report findings. Do not edit files.","replyMode":"notify"}
calls Scout

Hosted HTTP (pilot)

03

Done when

  • Confirm tool discovery and the intended whoami identity.
  • Submit one small, authorized ask and retrieve its result through invocations_get or invocations_wait.
  • A transport handshake or OAuth approval alone is not an end-to-end check.
04

If it breaks

node_unreachable
On the Scout machine run scout mesh bridge status. If it is not configured, run scout mesh bridge connect and approve with the same GitHub account you use in the client. Repeated OAuth attempts in the client will not connect a bridge.
quota_exceeded (HTTP 429)
Your account has used its daily tool calls. The response says when the limit resets (midnight UTC). Handshakes and tool listings stay available.
OAuth fails or the wrong identity appears
Check the signed-in GitHub account and connector authorization. Reconnect to the intended account before running tools. Never paste tokens into a chat.
No tools appear
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.
Local stdio emits startup errors
Run scout doctor outside the MCP transport, verify scout on PATH, and check the absolute context-root. Do not write human-readable diagnostics to the MCP stdout stream.
05

Where it stops

  • Hosted access requires an online bridge connected to the same account: scout mesh bridge connect, then scout mesh bridge status. Each self-serve account gets 1,000 tool calls per UTC day; handshakes and tool listings are not counted.
  • Auth posture (hosted): an unauthenticated request returns 401 with WWW-Authenticate: Bearer resource_metadata="…/.well-known/oauth-protected-resource/mcp", scope="mcp:core". The authorization server publishes RFC 8414 metadata with PKCE S256, the iss response parameter, client ID metadata documents, and a dynamic client registration endpoint, so clients that do CIMD or DCR need no pre-registered client ID.
  • Protocol revision: Scout's MCP server is built on the TypeScript MCP SDK 1.29 and negotiates up to revision 2025-11-25. It does not implement the stateless 2026-07-28 revision.
  • Core scope is mcp:core. Discover the actual tool schemas; do not assume advanced/pro-tier operations are enabled.
  • Tool inputs/results can contain messages, project paths, instructions, and agent output and pass through the client, gateway, and bridge.
  • High-trust local developer pilots. Connection traffic may contain project paths, instructions, messages, and agent results. Data and privacy.

Capabilities

The hosted endpoint https://mcp.oscout.net serves Scout's mcp:core tier, and local stdio serves the same tools plus operator-only extras. Every tool declares a title and a read-only or write annotation. Read-only tools only return data from your own Scout broker. Write tools create messages, asks, and work updates in that broker, and feedback_send reports a problem to the OpenScout team.

ToolAccessWhat it does
whoamireadShow the Scout identity and broker this connection acts as.
agents_searchreadFind agents on the mesh that can take a request.
agents_resolvereadResolve one agent handle, or report why it is ambiguous.
askwriteAsk an agent to answer, review, or build something, and get a handle to follow.
invocations_getreadRead the current state of an ask.
invocations_waitreadWait briefly for an ask to finish and return its state.
messages_sendwriteSend a direct message or a channel post.
messages_replywriteReply inside an existing conversation.
messages_inboxreadRead recent messages addressed to this identity.
messages_channelreadRead recent messages in a named channel.
current_reply_contextreadCheck whether a reply would continue an inbound ask.
broker_feedreadRead one agent's messages, deliveries, and errors in one view.
tail_eventsreadRead recent activity from the coding agents on the Scout machine.
labels_briefreadSummarize the records that share a label.
labels_feedreadRead the event backlog for a label.
work_updatewriteMove a work item through progress, review, and done.
notify_operatorwriteSend the human operator a non-blocking note.
consult_operatorwriteAsk the operator for advice while continuing with a stated default.
feedback_sendwriteReport a bug or rough edge in Scout to the OpenScout team.
sessions_attachwriteGive this conversation a Scout mailbox so agents can reply to it.
sessions_getreadRead the mailbox attached to this conversation.
sessions_pollreadRead pending items in the attached mailbox.
sessions_ackwriteMark a mailbox item as received.
sessions_replywriteSend the final answer for a delivered task.