t3code-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| T3_TOKEN | Yes | Bearer token for the local T3 server | |
| MCP_HTTP_TOKEN | No | Secret token for HTTP mode (required when running with --http) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| t3_statusA | Check the local T3 Code server: is it running, is auth working, and a summary of projects/threads (how many are working, how many need attention). Use this first if anything else fails. |
| list_projectsA | List the projects (workspaces/repos) registered in T3 Code, with per-project counts of active and attention-needing threads. |
| list_threadsA | List agent threads in T3 Code, most recently updated first. Filter by project, attention state (needs-approval, needs-input, plan-ready, working, error, done, idle), or include archived threads. Each row includes the thread's attention state — what, if anything, it needs from the human. |
| get_threadA | Read a thread's recent conversation: messages from the last N turns, session status, any pending approval/user-input requests (with requestIds needed to respond), and an activity overview. Use beforeCursor from a previous call to page further back. |
| send_messageA | Send a user message to an existing thread and start an agent turn. Reuses the thread's current model, runtime mode, and interaction mode unless overridden. If the agent is mid-turn the message is queued by T3. Returns immediately; use wait_for_turn or get_thread to see the reply. |
| pending_actionsA | Cross-thread inbox: every thread currently blocked on the human — pending command/file approvals (with the exact request detail), unanswered agent questions, actionable proposed plans, and errored sessions. Includes the requestIds needed by respond_to_approval / respond_to_user_input. |
| respond_to_approvalA | Approve or decline a pending permission request (command execution, file read, file change) on a thread. Get the requestId from pending_actions or get_thread. Decisions: accept (once), acceptForSession (don't ask again this session), decline, cancel. |
| respond_to_user_inputA | Answer a pending user-input request (an agent asked a question with options or free text). Get the requestId and the question structure from pending_actions or get_thread; answers is an object keyed by question id. |
| create_threadA | Create a new agent thread in a project and send its first message, starting the agent. The thread runs directly in the project workspace (worktree isolation is only available from the T3 UI). Model defaults to the project's default, falling back to the project's most recent thread's model. runtimeMode defaults to approval-required (safest); pass full-access for autonomous work. |
| interrupt_threadB | Interrupt the agent's current turn on a thread (like pressing stop). The thread and session survive; you can send a new message afterwards. |
| stop_threadA | Shut down the provider process attached to a thread. The thread and its history remain; a new session starts automatically on the next message. |
| wait_for_turnA | Block until the thread's current turn finishes OR the agent asks for approval/input, then return the latest assistant message or the pending request. Use after send_message or create_thread for a single round-trip. Times out (default 120s, max 300s) with the current state. |
| archive_threadA | Archive a thread (hides it from the active list; reversible). |
| unarchive_threadB | Bring an archived thread back to the active list. |
| set_thread_titleA | Set a thread's title (useful for voice: 'call this one auth bug'). |
| thread_digestA | A TTS-friendly plain-language digest of one thread: what it's doing, what the agent last said (markdown/code stripped), and anything it's waiting on. Designed to be read aloud by a voice assistant. |
| workspace_digestA | One-line-per-thread briefing across all projects — the 'what are my agents doing' answer. Covers threads needing attention first, then working, then recently finished. TTS-friendly 'spoken' field plus structured rows. |
| search_threadsA | Find threads by words from the title, project name, or branch (case-insensitive substring match on each word). Searches active and archived threads. |
| wait_for_changeA | Long-poll the workspace until any thread changes attention state (a turn finishes, an approval appears, an error occurs) or the timeout passes. Returns the changed threads with old and new state. Lets a voice loop stay silent until something actually happens. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThomasCrund/t3code-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server