Skip to content

[Bug]: MCP clients do not get the parameter descriptions written for T3 tools #35015

Open

Description

@only21mil

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Steps to reproduce

  1. Start T3 Code from main with vp run dev and create a pairing code with t3 auth pairing create.
  2. Connect an MCP client to the server's /mcp endpoint, sign in, and approve it with the pairing code (Read only is enough).
  3. Call tools/list and look at the title and clientRequestId parameters of t3_thread_update, and the clientRequestId parameter of delegate_task or t3_thread_send.

Expected behavior

Each parameter carries the description written for it in the tool's schema, so the agent knows what to pass. For t3_thread_update, title should say "New concise display title. Required only when action is rename." and clientRequestId should say "Stable idempotency key to reuse when retrying this mutation." For delegate_task and t3_thread_send, clientRequestId should say "Reuse it to retry the same call. A new call gets a new key."

Actual behavior

Those parameters arrive as a bare {"type":"string"} with no description. None of the three texts appears anywhere in the tools/list reply. Other parameters keep theirs: delegate_task > mode has its description. So an agent is not told that title is only for a rename, or how to use the retry key.

Impact

Minor bug or occasional failure

Version or commit

main, commit b68aedf

Environment

macOS 27.0.1, T3 Code dev server from source on Node 26.12.1, a plain MCP client over HTTP on Node 26.13.1 (no agent involved).

Logs or stack traces

v26.13.1
authorize -> 302, approval page /connect-agent
signed in, scope: orchestration:read
initialize -> server T3 Code 0.1.9
tools/list -> 68 tools (full reply saved)

--- t3_thread_update
"action": {"type":"string","enum":["rename","regenerate_title"]}
"title": {"type":"string"}
"clientRequestId": {"type":"string"}

--- delegate_task
"mode": {"type":"string","enum":["async","wait"],"description":"Default 'async'. 'wait' only if this turn needs the result. A question or approval ends the wait."}
"clientRequestId": {"type":"string"}

--- t3_thread_send
"threadId": {"type":"string"}
"clientRequestId": {"type":"string"}

Screenshots, recordings, or supporting files

Workaround

None that I found.

A fix is in #23285.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions