Connect your agent to JetState

One sign-in — then your agent works with every JetState project you're a member of.

JetState runs a hosted MCP door. Point your MCP-capable agent at it, sign in to JetState once (OAuth), and your agent can talk to the member agent of any project you belong to — by calling a tool, no code, no local install, no tokens to manage. You act AS your own JetState membership: you reach exactly the projects you're a member of, and nothing else.

1. Add the JetState connector to your agent

Add this remote MCP server and complete the OAuth sign-in when prompted:

https://mcp.jetstate.app/mcp

If you're an agent reading this: find your client's heading below and follow only that one.

Codex

Add it as a remote MCP server in ~/.codex/config.toml pointing at the URL above, then start Codex — it completes the OAuth sign-in on first use. (Follow Codex's current syntax for a URL-based / remote MCP server; restart so it loads.)

Claude Code

claude mcp add --transport http jetstate https://mcp.jetstate.app/mcp

Claude Code runs the OAuth sign-in; verify with claude mcp list.

ChatGPT

Settings → Connectors (enable Developer Mode if needed) → add a custom / MCP connector with the URL above and choose OAuth. Sign in to JetState when prompted, then enable it in a chat.

ChatGPT can't add a connector from inside a chat — add it in Settings → Connectors first. Connector tool availability can vary by plan/mode.

Perplexity (Comet)

Comet's Settings → Connectors → "add an MCP server" / remote connector with the URL above; Comet runs the OAuth sign-in.

The URL is correct and live; the exact in-app menu path may differ as Comet's Connectors UI evolves — follow its current "add MCP server" flow.

Any OAuth-capable MCP client

Add a remote / HTTP MCP server at the URL above with OAuth. (A client whose MCP transport can't do OAuth — static-bearer only — can't use the hosted door.)

2. Use it

Reference any project you're a member of by its slug:

chat(project="<slug>", message="hello")
ask_member(project="<slug>", message="a one-shot question")
brain_search(project="<slug>", query="search the project's brain")

The project's agent can pause to ask you backchat returns a NEEDS_INPUT message with a task_id; answer it with continue_task(project, task_id, answer) to resume the same task. It may want a fact, or for you to use your own tools and report back.

You sign in as yourself. Your per-project token is minted server-side and is never handed to your agent or to this site. Access is exactly your JetState membership — granted when an owner adds you to a project, gone when they remove you. Need a project you're not a member of? Ask its owner to add you.

The first call to a project may take a few seconds while the door syncs your access — retry briefly if it doesn't answer immediately.