cd /news/ai-agents/t3-fleet-gateway-a-unified-mcp-gatew… · home › topics › ai-agents › article
[ARTICLE · art-154993] src=bounds.dev ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

t3-fleet-gateway: A Unified MCP Gateway for T3 Code, Driven by Grok Bot

Developer boundsj released t3-fleet-gateway v0.1, an MIT-licensed MCP gateway that lets xAI's Grok Bot run coding jobs on the user's own machines running T3 Code. The gateway acts as an MCP server to Grok Bot with OAuth 2.1 sign-in and as an MCP client to each T3 Code server, exposing fleet_status plus eight work_* tools instead of T3's roughly 80 raw tools per machine, and tracking jobs in a SQLite ledger. Job start, follow, continue and cancel are confirmed live, while answering questions, approvals and failed runs remain unconfirmed, and boundsj is filing T3 issues including #16906 (Grok Bot could not call T3's tools directly due to an empty 400) and #17030 (no way to read the newest items of a thread).

by read3 min views40 publishedOct 8, 2026
t3-fleet-gateway: A Unified MCP Gateway for T3 Code, Driven by Grok Bot
Image: Bounds (auto-discovered)

After maxing out my T3 Code setup, I built t3-fleet-gateway, a small always-on gateway (MIT) that lets me code with Grok Bot on my phone and have the work happen on my own machines.

Try it #

Setup is two prompts. Grok Bot runs in the cloud, so the gateway needs a public HTTPS URL. It only listens on localhost. I expose it with Tailscale Funnel, but any tunnel (Cloudflare Tunnel, ngrok) works.

Give this to a coding agent on the always-on machine that runs T3 Code:

Set up https://github.com/boundsj/t3-fleet-gateway on this machine by
following its README. Enroll this machine's T3 Code server as a host
and add these projects: <your projects>. Run the gateway as a service
and expose it over HTTPS with <your tunnel>. Make sure `doctor` passes.
Then give me the public /mcp URL. When I connect each Grok bot, mint
a one-time approval code for it.

Then make one Grok bot per project and give each one this:

Connect to my T3 fleet gateway at https://<your public URL>/mcp.
You own the <project> project. Set up a 15-minute routine that checks
only <project>'s jobs, keeps your place in the feed between checks,
and stays quiet unless a job needs an answer, is ready for review,
or failed.

Each bot opens the gateway’s approval page. Ask the agent from the first step for a code (they expire after 15 minutes) and choose Operate. I stagger the routines a few minutes apart so they don’t all check at once.

How it works #

The gateway is an MCP server to Grok Bot, with OAuth 2.1 sign-in, and an MCP client to the T3 Code server on each machine.

Grok Bot  (xAI cloud, long-running)
   |  HTTPS + OAuth 2.1, one URL
   v
t3-fleet-gateway  (Mac mini, always on)
   |  SQLite job ledger, one T3 credential per host
   +--> T3 Code on the Mac mini
   +--> T3 Code on the M3 (next)
          |
          +--> worktree + fleet/<job> branch + thread

T3 exposes about 80 raw tools per machine; the gateway exposes fleet_status plus eight work_* tools. Grok names a project and a task; the gateway picks the host, creates a worktree, a fleet/<job> branch and a T3 thread, and follows the job. work_feed returns what changed since Grok’s last check. Grok’s tokens never reach T3 and T3’s credentials never leave the gateway.

One project, one bot #

jobs adopt registers a long-lived T3 thread, a project Chief of Staff (CoS), as that project’s front door, and allowWorkStart: false makes it the only way in. Grok sends it instructions with work_continue. The CoS plans, delegates to its own subagents (Opus implements, Fable reviews) and reports back. Each project gets one conversation in Grok and one thread in T3.

Say I ask the Crumb Exchange bot (a toy prediction market for sandwich questions) for a resting-orders panel. The instruction lands in the CoS thread in T3, and Grok relays the summary when the CoS is done.

Status #

This is v0.1. Starting, following, continuing and cancelling a job are confirmed live; answering questions, approvals and failed runs are unconfirmed. Approvals happen only in T3 itself, so unattended projects need the auto or full-access runtime mode.

This project also tests T3’s own MCP server, and I’m filing issues as I go, like #16906 (Grok Bot couldn’t call T3’s tools directly because of an empty 400) and #17030 (no way to read the newest items of a thread).

── more in #ai-agents 4 stories · sorted by recency
── more on @t3-fleet-gateway 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/t3-fleet-gateway-a-u…] indexed:0 read:3min 2026-10-08 · —