Connect your agents.
Use Keel with Claude Code, Codex or any client that supports remote HTTP MCP. Everyone connects to the same team Memory.
Before you connect
Sign in and open your team, or create one if you are starting from scratch. If your team already uses Keel, ask a Team Admin for an invitation.
The plugin is called Team AI. You will see team-ai in commands and configuration, even though the app is called Keel.
Claude Code
The plugin adds MCP tools, automatic recall and commands for connecting, binding and review. You need a shell with curl and jq.
Set the deployment address
In your terminal, set the address before starting Claude Code. The plugin otherwise defaults to a local development server.
export TEAMAI_URL=https://teamai-app.com claudeInstall the plugin
Run these commands inside Claude Code. Review the plugin and choose the installation option you want.
/plugin marketplace add teamai-app/team-ai /plugin install team-ai@team-aiSign in and connect the hooks
Start a new session, open
/mcpand authenticate Team AI. In the browser, sign in and choose your team.Then run the command below, open the URL it prints and approve the same team yourself. This authorizes the automatic hooks separately from MCP.
/team-ai:connectBind the project folder
From your project, run this command, choose a Scope and check who reads it before confirming.
/team-ai:bindIt writes the team endpoint and Scope declaration to
.mcp.json, and the team setting to.claude/settings.json. Keep both files together in the repository. Start a new session and authenticate the project connection if prompted.
Codex Desktop and CLI
Use a Codex version with plugin marketplace support. Local hooks need Python 3.11+, a POSIX shell, curl and jq on the host running Codex. On Windows, use WSL with Codex attached to that environment.
Install Team AI
Run these commands in a terminal using the same user profile and host as Codex Desktop.
codex plugin marketplace add teamai-app/team-ai codex plugin add team-ai@team-aiIn Desktop, open Plugins and check that Team AI is installed and enabled. Restart the app if the marketplace has not refreshed.
Install from a local checkout or another deployment
From a checkout of the Team AI repository, run:
npm run plugin:install:codexFor another deployment, pass its origin:
npm run plugin:install:codex -- --url http://127.0.0.1:8787The installer registers a local marketplace and installs the same bundle. Run it again to refresh that copy after updating the checkout.
Authenticate the MCP connection
Start a new chat and authenticate Team AI when prompted. Choose your team in the browser. In the CLI, start the same flow with:
codex mcp login team-aiTrust and connect the hooks
Review and trust the installed Team AI hook definitions. Then invoke this skill in a Codex chat, open the printed URL and approve the same team.
$team-ai:manage connectMCP sign-in and hook authorization are separate. Codex skips hooks you have not trusted.
Bind the project folder
From your project chat, invoke:
$team-ai:manage bindSelect a readable Scope, inspect who reads it and confirm. The adapter updates
.codex/config.toml; commit that file. Start a new chat in the trusted project, authenticate its scoped endpoint and connect the hooks to its team if requested.Codex reads its own configuration. It does not use Claude Code’s
.mcp.jsonor.claude/settings.json.
Other MCP clients
Connect directly from ChatGPT or another client with remote HTTP MCP support. Direct MCP gives you the tools; automatic recall and distillation require the local plugin and supported hooks.
Add a remote server
In your client’s MCP settings, add a server named
team-ai, choose HTTP (Streamable HTTP) and enter:https://teamai-app.com/mcpChoose OAuth authentication. Open the browser sign-in flow and select your team.
Connect from ChatGPT
On the web, open Plugins and choose Create custom MCP server (or Add custom MCP server). Enter the URL above, choose OAuth, create and install the plugin. Start a new Work chat, select it with
@and authenticate.Connect Codex through MCP only
Add this to your Codex configuration, then authenticate with
codex mcp login team-ai. Use this path if you are connecting without the Team AI plugin.[mcp_servers.team-ai] url = "https://teamai-app.com/mcp"Choose the team and Scope explicitly
For a connection fixed to one team, use
https://teamai-app.com/t/<team-id>/mcp, replacing<team-id>with the ID in your team page’s URL. Authenticate for that team.If your client supports custom headers, declare a Scope with
X-Team-AI-Scope. Its value is the Scope ID followed by a space and its path. Ask the agent to calllist_scopesto inspect readable Scopes before choosing one.Without a Scope declaration, the connection uses the team root, read by everyone in the team. A folder name or Git remote never selects the Scope.
Recall when work begins
Without hooks, ask the agent to recall relevant team Memory at the start of a task. At the end, ask it to submit selected durable findings for review. Use the web app to review candidates and create Scopes.
Use a bearer token instead of OAuth
If your client cannot use OAuth, issue an API token from your team page and configure an Authorization: Bearer <token> header. Keep the token in your client’s credential store or environment, outside committed project files.
The token identifies you and your team. It uses the same Scope permissions and review process as OAuth.
Check the connection
Ask your agent:
List the Scopes I can read in Team AI, then recall Memory relevant to my current task. Tell me which team and Scope answered.
Check that the answer names the intended team and Scope. An empty recall result can be valid: a new team may have no approved Memory, or nothing may be relevant to the task.
In Codex, invoke $team-ai:manage orientation to check the hooks too. Inspect the installation from your terminal:
codex plugin list --json
codex mcp list --json
New findings go through checked intake and individual review. They become shared guidance after approval; a team’s automatic approval setting can admit eligible findings with sampling.
If something does not connect
The tools work, but automatic recall does not
Connect the hooks as well as MCP: /team-ai:connect in Claude Code, or $team-ai:manage connect in Codex. In Codex, check hook trust and that the required shell tools are available on the host running the hooks.
The answer names a different team or Scope
Recheck the project’s explicit binding and authenticate the team endpoint it declares. Run the bind workflow again if needed, then start a new session. Confirm the team and readers before submitting findings.
You use a self-hosted deployment
Replace https://teamai-app.com with your deployment origin. Set TEAMAI_URL before starting Claude Code; for Codex, use the local installer’s --url option above.
Your server needs sign-in and its public origin configured for OAuth. A remote client such as ChatGPT needs a reachable HTTPS endpoint or supported Secure MCP Tunnel; it cannot reach your machine’s 127.0.0.1.