AI and agents
AI and agents
Open Settings → AI & agents to connect an AI assistant, or a server of your own, to the active workspace over MCP. Connections are read-only unless you turn on Allow changes when connecting.
The page has three tabs:
- Connect AI lists assistants in compact rows with setup actions and marketplace status. Use Copy MCP URL or Copy install prompt at the bottom for another assistant. The prompt uses OAuth sign-in; no API key is involved.
- Usage lists what is connected and how much each connection has been used.
- Settings shows managed chat defaults and your Ask menus preference. Select Show advanced to reveal developer tools (Claude Code, Cursor, VS Code), API keys, and the endpoint and tools. Twelfth staff workspace admins also have a collapsed Chat runtime section.
Everything connected lives in one list. A row is a connection, and a connection is one key: it can be renamed, re-tagged and revoked on its own without touching any other. One person can run several connections of the same kind, so two Claude Codes on two laptops are two rows.
Workspace chat runtime
Twelfth manages models, routing, turn budgets and research defaults for your workspace. You do not need to tune these to use chat. Your personal Ask menus choice controls which external assistant the Ask button opens; it does not change Twelfth chat.
Twelfth staff who are active workspace owners/admins can expand Chat runtime to adjust working style, models and soft turn limits. Changes apply to new turns and are audited. Runtime details → Reset to defaults clears workspace overrides. Budgets are checked between calls; a call in flight and the final answer can exceed them.
The same staff boundary applies over MCP. A staff owner/admin OAuth connection can read the effective policy with twelfth_get_preferences at organization scope, and update it with twelfth_update_agent_policy after approving Allow changes and meeting workspace MFA requirements. Customer accounts and workspace keys cannot inspect or change runtime controls, including through older grants. Other preference reads and task/routine permissions are unchanged.
How each assistant connects
Most assistants connect in under a minute, by signing in to Twelfth with no key. The table sorts them from least to most setup.
| Assistant | What you do | Sign-in |
|---|---|---|
| Claude | One click: Add to Claude opens Claude’s directory listing | Your Twelfth account |
| ChatGPT | Add to ChatGPT opens the marketplace listing; select Install plugin | Your Twelfth account |
| Cursor | One click: Install in Cursor under Developer tools, or the Twelfth plugin | Your Twelfth account |
| VS Code / GitHub Copilot | One click: Install in VS Code under Developer tools | Your Twelfth account |
| Claude Code | One command: claude mcp add --transport http twelfth https://api.twelfth.ai/mcp, or the Twelfth plugin |
Your Twelfth account |
| GitHub Copilot CLI | Two commands: add the Twelfth plugin marketplace, then install the plugin | Your Twelfth account |
| Gemini CLI | One command to install the extension, then /mcp auth twelfth |
Your Twelfth account |
| Grok | Add a custom connector at grok.com/connectors with https://api.twelfth.ai/mcp |
Your Twelfth account, or a workspace key |
| Perplexity, Le Chat, Kiro, Junie, Amazon Quick, Zed, Warp, Goose | Add a custom MCP connector with https://api.twelfth.ai/mcp; steps for each |
Your Twelfth account |
| Gemini Enterprise | An admin adds a custom MCP server with a client ID from Twelfth | Your Twelfth account |
| Any other MCP client | Add a custom connector with https://api.twelfth.ai/mcp |
Your Twelfth account, or a workspace key |
| Claude Desktop, Glean | An owner or admin creates a key, then pastes the endpoint and key into the assistant | Workspace key |
| Servers, scripts, Vercel apps | An owner or admin creates a labelled key with selected tools | Workspace key, or OAuth through Vercel Connect |
| Copilot & Microsoft 365 | Copy install prompt on Connect AI for custom setup; marketplace listing coming soon | Your Twelfth account |
A connection that signs in reads as you, within your remits, and needs no owner or admin. A workspace key reads the whole workspace, so only owners and admins can create one.
Before you start
Anyone in the workspace can connect an assistant from the cards; it reads as
them. Only workspace owners and admins can create or revoke keys. Keep keys
secret.
Connect an assistant
From the cards, with no key to copy
Choose your assistant on the Connect AI tab:
- Claude: select Add to Claude. Twelfth’s page in Claude’s directory opens; add it in one click.
- ChatGPT: select Add to ChatGPT to open Twelfth’s marketplace listing, then select Install plugin.
- Copilot & Microsoft 365: marketplace listing coming soon; use Copy install prompt for custom setup.
Each card sends you to Twelfth to sign in, then asks which workspace the connection is for and which read tools to allow. Approve it and you are done: no key is ever created, copied or pasted.
A connection made this way reads as you: your remits, your categories, and
nothing outside them. That is why any member can make one, not only owners and
admins. It also stops working as soon as you stop being a member of that
workspace, and there is no key left behind to find and revoke.
One connection reads one workspace. To connect the same assistant to a second
workspace, connect it again from that workspace.
Advanced
For developers, and for setups that cannot use a card.
Developer tools: Claude Code, Codex, Gemini CLI, Cursor, VS Code
These live on the Settings tab, under Developer tools: a one-line command for the terminal tools, and a one-click install for the editors. They sign in the same way as the cards.
Any other assistant that speaks MCP
Any other assistant that speaks MCP and OAuth connects the same way. Add a custom MCP connector pointing at:
https://api.twelfth.ai/mcp
It sends you to Twelfth to sign in, the same as a card.
By key, for an assistant that cannot sign in
Owners and admins only.
- On the Settings tab, under API keys, select Connect an agent and pick the assistant.
- Select the read tools this connection may use, then create its key. Twelfth copies the key to your clipboard and starts waiting.
- Follow the prompt on the row: a one-click button for Cursor and VS Code, a paste-ready prompt or MCP configuration for everything else.
- The row switches to connected by itself when the assistant’s first request arrives. There is nothing to confirm.
Copy the key while it is on screen. Twelfth shows a newly created key only once.
Ending a connection
Open Settings → AI & agents and use the row’s menu. Ending an OAuth
connection takes effect on the assistant’s next request, including one
that already holds a valid token, because every request re-checks the
connection before it reads anything.
You can always end your own connections. Owners and admins see, and can end,
every connection in the workspace.
Connect a server
Select Create an API key for anything that is not an assistant, such as a cron job, a script or your own backend. Name it, tag it Development, Staging or Production, choose its read tools, and the key is revealed once. The environment tag shows on the row, so an admin deciding what is safe to revoke can tell the production server from someone’s experiment.
The tool picker comes from the current server catalogue, so it only offers tools available to that workspace and credential type. A disabled tool is absent from MCP discovery and refused if a client calls it directly. Owners and admins can change a key’s selected tools from its row in AI & agents; the change takes effect on the next MCP request. An OAuth connection chooses tools during consent and must reconnect to change its selection. Older connections made before tool selection existed retain access to all currently eligible read tools until changed or reconnected. A new tool is not automatically added to a connection with an explicit selection.
What a connection reports
Each row shows the client that actually connected and its version (for example Claude Code 2.0.14), not the choice made when the key was minted. It also shows whether the connection has an explicit tool selection. OAuth rows name the member whose access is being used. If a key has been used by more than one client, the row says so: that is usually a key that has been shared around and is worth splitting.
Ask menus
The Ask button on pages and tables is separate from connections. It hands your prompt to an external AI chat. Choose which one under Ask menus. It grants no access to the workspace and involves no key.
Setup guides by assistant
For the assistants most people use, adding Twelfth is a button and a sign-in:
- Claude: one click from Claude’s directory. Also covers the Claude desktop and mobile apps.
- ChatGPT: install from ChatGPT’s marketplace, then sign in.
- Copilot & Microsoft 365: marketplace listing coming soon; use Copy install prompt for custom setup.
- Gemini: Gemini and Gemini CLI.
- Grok: Grok connectors.
- Glean: Glean MCP connection.
Advanced: developer tools, keys and servers
- Claude Desktop: a key-based local MCP config, if you can’t use the directory.
- Cursor: Cursor MCP config, or the Twelfth plugin.
- VS Code / Copilot: VS Code MCP config.
- Generic MCP: Claude Code, Codex and any other MCP-capable client, plus the Official MCP Registry entry and open-source plugin.
- Events: let an assistant watch the workspace and act when something changes.
- Vercel Connect: connect a Vercel app or agent with OAuth or a workspace key.
- API keys: create, name, tag, and revoke keys.
Available MCP tools
Depending on its saved tool selection, entitlement, and the caller’s role and remits, a connection can:
- Get workspace identity and operating defaults.
- List workspace members and their roles.
- List open actions, including due dates, assignees, and available source context.
- Read stored workspace preferences. An OAuth connection can also read its own user and membership preferences; a workspace key cannot read anyone’s personal settings. This covers only settings stored in the preference registry, not every Settings page. Results list only readable keys and show whether the caller’s role permits editing them in the app; MCP writes remain unavailable. Operational alert contacts are shown only to owners and admins.
- List projects visible to the connection and the workflows available in the workspace.
- Page through Products with search, sort, category, remit and supplier filters. Product position figures come from the latest available snapshot; an unmeasured figure is null.
- List saved pricing tracked sets and read a bounded page of a set’s product and competitor-price rows. The set in a Products link such as
?set=<id>is thesetIdfortwelfth_get_tracked_set. Chooselivefor the last observed prices or 4, 8 or 12 weeks for rolling averages. Each call uses the connection’s readable remits and the saved set’s retailer selection. A set outside a member’s remits retains its name and link but returns no product lines. Pricing tools require the workspace’s Pricing intelligence capability. - Discover approved pricing sources with
twelfth_list_pricing_retailers, optionally for one saved set. It includes sources that have no matching products yet. Pass itssourceKeyvalues and up to eight product SKUs totwelfth_compare_pricing_skusto get matching and stock state, observed and basis-matched prices, competitor-minus-own gaps, product-page evidence and a short note. A SKU outside the connection’s remit or the selected set is reported as unreadable or untracked without exposing its details. These calls use stored observations, not a fresh scrape. - Read managed categories, aliases and remit ownership. An OAuth member sees only readable remit details; owners and admins can see the whole workspace. The result says whether the role permits category management in the app. Demand overrides are a separate Twelfth-staff control.
- See integration connection state, what each connector provides, whether the person’s role permits configuration in the app, and a link to its setup or manage page. The assistant cannot start a provider connection or handle its credentials.
- Search the records an answer would cite, with
searchandfetch: catalogue products, shared documents, reports Twelfth wrote, projects, saved pricing sets and these docs. Each result has a link to the record in Twelfth, andfetchreads one in full. These are the two tools ChatGPT’s company knowledge and deep research look for. They search only what the connection’s other tools could read: a source is left out when the tool that finds it or the tool that reads it is not in the connection’s selection. - Read-only analysis tools for the visible task snapshot and the caller’s readable catalogue: sales metrics, product ranking, inventory position, product master, similar products, supplier constraints, supplier lookup, entity profiles and context, and methodology. Connected workspaces can also offer competitor price intelligence. Arbitrary warehouse SQL is reserved for Twelfth’s staff-only diagnostic workspace.
Tools that only make sense inside the in-app chat (asking the buyer a clarifying question, rendering a table or chart) are not offered over MCP. Tool results include source_evidence_ids; a later call can pass them back to refer to the same rows.
An MCP key is a workspace credential. It reads the whole business, the way the owner or admin who created it does, and is not narrowed to any one buyer’s remit.
Apart from the three Allow changes tools, which mark your actions done, snooze them or create tasks, these tools cannot write data or make changes in Twelfth. Changing settings and creating projects still happen in the app. API keys, account sessions, sign-in methods, and leaving or deleting a workspace are app-only controls.
What Twelfth records about a connection
Every call is logged against the key that made it: the tool name, whether it succeeded, when, and how long it took. The Usage tab shows it for each connection: calls by tool, and a chart of calls over the last 12 weeks. Tool results are never stored or sent to analytics; only their size is. Keys are stored hashed and shown once, at creation. Repeated failed authentication from one address is refused for a cooling-off period.