Skip to main content
Glama
Claude Code MCP Server

Claude Code MCP Server

Send follow-up to Claude Code cloud session

claude_send_followup

Queue a follow-up message into an existing Claude Code cloud session so the agent continues work; replies appear only at the session URL, which you check for the pushed branch and PR.

Instructions

Queue a follow-up message into an existing Claude Code cloud session via claude --cloud <session> -p <message>. Replies are only visible at the session_url; claude_get_session reports the pushed branch and pull request. If the session can't push to GitHub, use this to ask for git format-patch origin/<base>..HEAD --stdout (or a full git diff including new files), then apply it locally with git am / git apply --3way and push it yourself.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "session": "<session>",
      "message": "<message>"
    },
    "name": "claude_send_followup"
  }
}

Input Schema

NameRequiredDescriptionDefault
messageYesMessage to queue into the session.
sessionYesTarget cloud session: a session id (session_... / cse_...) or a https://claude.ai/code/... URL.

Output Schema

NameRequiredDescriptionDefault
cliYesCLI output with terminal control sequences removed.
argsYes
sentYesTrue when the CLI confirmed the message was sent.
parsedYesTrue when both session_id and session_url were parsed from CLI output.
sessionYes
session_idYes
session_urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (which only declare readOnlyHint=false, openWorldHint=true, idempotentHint=false), the description discloses the crucial non-obvious behavior: the message is *queued* and replies are only visible at session_url rather than returned inline. It also documents a real operational constraint (no GitHub push access) and the exact remediation, which an agent could not infer from structured fields alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action and its scope, then visibility semantics, then the contingency workflow. No filler and no restatement of the tool name or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full annotation coverage, the description needn't describe return values — and it correctly focuses instead on what the schema can't express: queued/asynchronous semantics and where replies surface. Nothing needed to invoke or follow up on this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with both parameters documented, including the session ID/URL pattern, so the baseline applies. The description adds little beyond restating the parameters in command form, though the fallback example implicitly models what a useful `message` payload looks like (`git format-patch origin/<base>..HEAD --stdout`).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Queue a follow-up message into an existing Claude Code cloud session') and pins the target to an *existing* session, which cleanly separates it from siblings like claude_create_cloud_session and claude_get_session. The underlying command form (`claude --cloud <session> -p <message>`) removes any ambiguity about what is actually executed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the precondition (the session must already exist), names a concrete fallback scenario (the session can't push to GitHub), and routes the agent to alternatives: claude_get_session for branch/PR status, and a local `git am` / `git apply --3way` path for applying patches yourself. When-to-use and when-to-switch are both explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.