t3code-mcp
Summary: This MCP server lets an agent discover T3 environments and manage coding threads across them.
List linked machines/environments, optionally checking availability.
List projects and model defaults on a selected environment.
List and read unarchived threads, including status, approvals, timing, and paginated messages.
Start a new thread with instructions, model/runtime/interaction settings, and retry-safe
operationId.Send follow-up instructions to an existing thread.
Interrupt the current or a specified turn.
Note: the README describes a different three-tool gateway (list_environments, list_tools, call_tool), so the schema and README are inconsistent.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@t3code-mcp List my T3 environments, then show the projects on the machine I choose."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
T3 Connect MCP
One stdio MCP connection for discovering your T3 Connect machines and using each machine’s official T3 MCP tools. Sign in to discover your machines, approve MCP access on the machines you choose, then let your external agent select and call their native tools.
Formerly T3 Code MCP (t3code-mcp). The package and command are now t3connect-mcp. The GitHub repository stays at emmsixx/t3code-mcp so existing links remain usable. This independent project is not an official T3 product.
Gateway release in preparation. The latest published v0.3.0 still uses the old name and seven-tool interface. Use the source installation below until a gateway release is published. The gateway is tested with local fake services; live compatibility with current T3 remains unverified. Verification · Migration
Why use this?
T3 already supports outside agents over MCP. Connect directly to its MCP URL when you only need one machine or your client already manages several remote connections.
This gateway adds account-wide discovery and routing through one local MCP entry, including for clients that only support stdio. It discovers native tool schemas instead of maintaining its own thread/agent API. T3 owns execution, available features, and permissions. The gateway does not implement another orchestration engine.
One account login discovers machines. Each machine still requires its own OAuth approval: T3 Connect account credentials cannot substitute for that consent. You can approve different permission levels on different machines.
Related MCP server: hermes-dsh-bridge
Install from source
Requires Node 22.12+, pnpm, Linux or macOS, a T3 Connect account, and reachable linked machines with official outside-agent MCP support. The upstream reference is T3 v0.1.2. Providers and projects are configured in T3.
git clone https://github.com/emmsixx/t3code-mcp.git t3connect-mcp
cd t3connect-mcp
pnpm install --frozen-lockfile
pnpm run build
pnpm pack --out ./t3connect-mcp.tgz
pnpm add --global ./t3connect-mcp.tgz
t3connect-mcp login
t3connect-mcp environmentsTo approve a selected machine, use its ID from environments:
t3connect-mcp connect <environmentId>Open the printed URL in a browser on the computer running the CLI, choose a permission level on T3’s page, and approve. The CLI listens on an ephemeral loopback port for up to five minutes. Read-only is T3’s default. A browser on another computer needs an SSH forward for that callback port; an ordinary remote browser cannot reach it automatically. No coding task runs during setup.
The CLI stores the approved credential locally. Re-run connect when it expires, is revoked, or the machine’s address changes. Authentication
Connect your agent
{
"mcpServers": {
"t3connect": {
"command": "t3connect-mcp",
"args": ["serve"]
}
}
}For Hermes, use its mcp_servers section with command: t3connect-mcp and args: [serve]. Preserve existing client settings. Use the full executable path if needed. Run login, approval, and MCP under the same OS user and state directory.
Try: “List my T3 machines, discover the tools on the machine I choose, and list its projects.”
Gateway tools
list_environmentsdiscovers account-linked machines, official MCP URLs, and saved approval status. Availability checks are optional.list_toolslists a selected machine’s native tools, descriptions, schemas, and annotations. FollownextCursorfor more tools.call_toolforwards a native tool’s name and unchanged arguments to the selected machine and returns its MCP result.
For example, discover the schema for t3_project_list, then call:
{
"environmentId": "<selected environment ID>",
"name": "t3_project_list",
"arguments": {}
}Native tools can start agents, change files, incur provider charges, or schedule recurring work. T3 enforces the approved permission ceiling. Tools requiring a T3 provider session, such as delegate_task, may reject an outside client. This gateway forwards those errors; it cannot create that identity or approve permissions. It forwards tools only, not arbitrary HTTP/RPC, MCP prompts/resources, or interactive MCP elicitation. Tools and limits
Calls are not automatically replayed. After a timeout or lost response, inspect T3 state before retrying a mutation, and follow that native tool’s own retry contract.
Credentials and configuration
New installations use ~/.t3connect-mcp. If that directory is absent and ~/.t3code-mcp already exists, the gateway continues using the old directory. T3_MCP_STATE_DIR overrides both. Account credentials and per-machine approvals are unencrypted, with directory mode 0700 and file mode 0600. Existing operation journals are retained for manual reconciliation and never replayed by this gateway.
disconnect <environmentId> forgets one local approval. logout ends the gateway’s account session and forgets all local approvals. Neither revokes the machines’ OAuth sessions: revoke those in each machine’s Settings → Connections. Storage and recovery
Upgrade or uninstall
After a gateway release is published, install or upgrade with:
pnpm add --global https://github.com/emmsixx/t3code-mcp/releases/latest/download/t3connect-mcp.tgzUntil then, repeat the source installation. The new archive name is not present on the old v0.3.0 release. Upgrades do not happen automatically. Replace the old client command with t3connect-mcp, reconnect your client, and approve each machine. Once the new command works, remove the old package with pnpm remove --global t3code-mcp. See migration for unfinished operations and downgrade limits.
To uninstall the gateway, revoke its clients in T3, run t3connect-mcp logout, remove its MCP configuration, then run pnpm remove --global t3connect-mcp. Keep legacy journals until outstanding operations are reconciled.
Contributing
See CONTRIBUTING.md. Report bugs through GitHub Issues and vulnerabilities through SECURITY.md.
License
MIT. NOTICE includes upstream attribution. Not affiliated with or endorsed by T3 Tools Inc. or Clerk.
Available Tools
7 toolsget_threadARead-only
Read bounded recent messages, activity, current status, provider errors and requests for human attention. Discover thread IDs with list_threads. Older turns can be paginated using beforeCursor. Reply to approvals and input in T3.
Inputs: threadId (required), environmentId (required), turnLimit, beforeCursor.
interrupt_threadADestructive
Request interruption of the current or explicitly selected turn. The target turn is recorded so a retry cannot interrupt a later turn.
Inputs: threadId (required), operationId (required), environmentId (required), turnId.
list_environmentsARead-only
List machines linked to the signed-in T3 account. Availability probes are optional and bounded to this page.
Inputs: limit, offset, checkAvailability.
list_projectsARead-only
List projects and their model defaults on one explicitly selected environment.
Inputs: environmentId (required), limit, offset.
list_threadsARead-only
Discover unarchived threads on one environment with IDs, titles, current status, approval/input flags and recent turn timing. Optionally filter by project or status. Newest activity first; bounded pages. Use get_thread with a returned threadId to read messages. Finished means the latest turn completed, not verified task success.
Inputs: environmentId (required), limit, offset, status, +1 more.
send_messageADestructive
Send follow-up instructions using the thread's existing model and runtime modes. May change files or incur charges. Preserve operationId and arguments for retries.
Inputs: threadId (required), operationId (required), instructions (required), environmentId (required).
start_threadADestructive
Create a thread and send instructions to its agent in the existing project workspace. May change files and incur provider charges. Defaults to approval-required. Worktree creation is not supported. Reuse operationId and identical arguments after ambiguous failures.
Inputs: title (required), projectId (required), operationId (required), instructions (required), +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Most tools are clearly distinct: list_threads/get_thread for reading, start_thread/send_message for creating and continuing threads, interrupt_thread for control, and list_environments/list_projects for discovery. The only mild overlap is between list_threads and get_thread, but their descriptions make the list-vs-detail relationship clear.
Tool names follow a consistent verb_noun pattern: list_threads, get_thread, interrupt_thread, list_environments, list_projects, send_message, start_thread. The pattern is predictable, though 'send_message' and 'start_thread' are slightly less uniform than the list/get/interrupt group.
Seven tools is well-scoped for a T3 coding-agent MCP server. Each tool covers a distinct operation: discovery, reading, starting, sending, and interrupting threads, plus environment and project listing. No tool feels redundant or unnecessary.
The surface covers the core thread lifecycle: list, get, start, send, and interrupt. Minor gaps exist, such as no explicit archive/unarchive or delete/cancel thread operation, and worktree creation is noted as unsupported, but agents can accomplish the main workflows.
Maintenance
Related MCP Connectors
Start and manage Reason cloud coding agents, projects and sessions from any MCP client.
Hosted MCP server and Agent Skills for specs, engineering threads, and project memory.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
A full backend your AI coding agent can set up over MCP
Related MCP Servers
- FlicenseAqualityDmaintenanceMCP server for interacting with a running T3 Code instance. Enables viewing agent threads, sending messages, and approving permission requests from Claude Code or voice-controlled models.192-
- AlicenseNot gradedqualityBmaintenanceEnables external MCP clients to drive DeepSeek Harness agents for real coding tasks, providing tools for task execution and queueing, session management, sandboxed file access, preset switching, and usage statistics.397 npm7GPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables external AI supervisors to oversee and steer native Codex through MCP, including thread and turn management, observation, interruption, approval responses, runtime status, and checkpointing.MIT
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to start, monitor, and control T3 Code / T3 Turbo threads locally via MCP.2MIT