Messages from an outside MCP client show as "Agent" instead of the client's name

Open Beginner friendly
#36,853 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
backend

Research direction

Start in OrchestratorMcpService.ts at sendToThread, where linkedSender: scope.client.senderThread is the only sender path stored; check where McpClientCaller.label (the OAuth-approved client name) is available at that call site. Then follow the stored message shape into TimelineUserMessageRow.tsx, where a message with no senderThreadId/linkedSender falls back to "Agent". Done means a message sent by an outside MCP client renders with its approved client name, verified against a stored creationSource: "mcp" message. Note the thread asks whether this is intended, so confirm the desired wording before patching.

Written by the indexing model from the issue text.

Description

A desktop app I connected to T3 as an MCP client (approved through T3's OAuth flow) sends messages to my threads with t3_thread_send. In the thread they show as "Agent", with no name:

Message from an MCP client labelled "Agent"

Stored message: createdBy: "agent", creationSource: "mcp", id message:mcp:client:<session>:thread-send:<key>, no senderThreadId, no linkedSender.

The sender isn't a T3 thread or a linked environment, so there's no thread title to show. The server does know the client's approved name (McpClientCaller.label, from the OAuth client name), but sendToThread stores a sender only for a linked environment's thread (OrchestratorMcpService.ts, linkedSender: scope.client.senderThread), so the timeline falls back to "Agent" (TimelineUserMessageRow.tsx).

With two outside clients, I can't tell which one wrote. Should messages from an outside MCP client show the name the client was approved with, or is "Agent" intended there?

Version: 0.1.10-nightly.20261114.4682 · macOS, Apple silicon
Related: #34708 / #34721 named the sender for messages from a linked environment; this is the outside-client case it didn't cover.

Filed by Claude Opus 5.5 in T3 Code, for EtanHey.

Dominant language
TypeScript
Stars
24.8k
Forks
6.4k
Avg merge
3h 40m
Merged PRs (30d)
543

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pingdotgg/t3code

All issues in pingdotgg/t3code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.