Connect the AI assistants your team already uses to its Twelfth workspace.
Claude · ChatGPT · GitHub Copilot · Gemini · Cursor · Claude Code · any MCP client
---
[Twelfth](https://twelfth.ai) is a commercial workspace for retail and category
teams. Its hosted MCP server lets an assistant read the products, suppliers,
sales, inventory, pricing, projects and open actions that the signed-in person
can already see, so questions are answered from your Twelfth workspace rather
than from a pasted spreadsheet.
| | |
| --- | --- |
| **Endpoint** | `https://api.twelfth.ai/mcp` (Streamable HTTP) |
| **Sign-in** | OAuth 2.1 with your Twelfth account. Choose the workspace and approve the tools; no key to copy |
| **Access** | Reads by default. Changes are opt-in: tick **Allow changes** when connecting and the assistant can create, complete or snooze your own actions and run your own routines, as you. None raises an order or changes a price |
| **Scope** | One workspace, as the person who connected: their role, remits and categories. Owners and admins see and can end every connection |
| **Registry** | [`ai.twelfth/workspace`](https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.twelfth/workspace&version=latest), published from the twelfth.ai domain |
| **Docs** | [twelfth.ai/ai](https://twelfth.ai/ai) · [MCP guide](https://twelfth.ai/developers/mcp) |
You need a Twelfth workspace to connect. [Book a demo](https://twelfth.ai/book-a-demo)
if your team doesn't have one yet.
## How it connects
```mermaid
flowchart LR
A["AI assistant Claude · ChatGPT Copilot · Cursor"] -- "1 · adds the URL" --> S["Twelfth sign-in pick workspace approve tools"]
S -- "2 · scoped token" --> A
A -- "3 · tool calls" --> M["Twelfth MCP api.twelfth.ai/mcp"]
M -- "4 · as the member" --> W[("Your workspace")]
ADM["Owner / admin"] -. "sees · ends any connection" .-> M
classDef ink fill:#1e3b2c,stroke:#14291f,color:#f6efdd;
classDef paper fill:#f6efdd,stroke:#1e3b2c,color:#1e3b2c;
classDef gilt fill:#c8a24b,stroke:#1e3b2c,color:#1e3b2c;
class A,ADM paper;
class S,M ink;
class W gilt;
```
## Install
### Cursor
Add Twelfth to `.cursor/mcp.json`. Cursor sends you to Twelfth to sign in on first use:
```json
{
"mcpServers": {
"twelfth": { "url": "https://api.twelfth.ai/mcp" }
}
}
```
### Claude Code
```sh
/plugin marketplace add twelfth-ai/twelfth-mcp
/plugin install twelfth@twelfth
```
Or just the server: `claude mcp add --transport http twelfth https://api.twelfth.ai/mcp`
### VS Code and GitHub Copilot
[](https://insiders.vscode.dev/redirect/mcp/install?name=twelfth&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A//api.twelfth.ai/mcp%22%7D)
[](https://insiders.vscode.dev/redirect/mcp/install?name=twelfth&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A//api.twelfth.ai/mcp%22%7D&quality=insiders)
Or add it to `.vscode/mcp.json` (or your user `mcp.json`):
```json
{
"servers": {
"twelfth": { "type": "http", "url": "https://api.twelfth.ai/mcp" }
}
}
```
Start the server, sign in to Twelfth when VS Code asks, then use the tools from
Copilot Chat in agent mode.
### GitHub Copilot CLI
```sh
copilot plugin marketplace add twelfth-ai/twelfth-mcp
copilot plugin install twelfth@twelfth
```
This adds the server and the `twelfth-workspace` skill. Copilot asks you to sign
in to Twelfth the first time a tool runs.
### Gemini CLI
```sh
gemini extensions install https://github.com/twelfth-ai/twelfth-mcp
```
Then run `/mcp auth twelfth` inside Gemini CLI to sign in. The extension adds
the server and the `twelfth-workspace` skill.
### Claude, ChatGPT, Gemini and other clients
Add a custom connector with the URL `https://api.twelfth.ai/mcp` and complete
the Twelfth sign-in. Per-assistant guides: [twelfth.ai/ai](https://twelfth.ai/ai).
### Servers and scripts
A workspace owner or admin can create a labelled, tool-limited key under
**Settings → AI & agents → Create an API key** and send it as
`Authorization: Bearer `.
## Security and governance
| Control | How it works |
| --- | --- |
| **Reads by default** | Every tool reads unless the person ticks **Allow changes** on the consent page. Write tools are offered only over OAuth, only after that opt-in, and act only on the person's own actions and routines. Workspace keys never make changes. Orders, prices and other commercial decisions are still committed by people inside Twelfth |
| **Least privilege** | An OAuth connection inherits the member's role and remits and stops working when they leave the workspace. Tools are chosen at consent |
| **Admin visibility** | Owners and admins see every connection, the client and version that connected, and can end any of them. An ended connection is refused on its next request |
| **Keys** | Created only by owners and admins, labelled by environment, limited to selected tools, stored hashed and shown once |
| **Audit** | Each call is logged with tool, outcome, time and duration. Tool results are never stored or sent to analytics; only their size is recorded |
| **Compliance** | Controls, sub-processors and our SOC 2 / ISO 27001 programme: [trust.twelfth.ai](https://trust.twelfth.ai) |
## Skills
The plugin ships eight [Agent Skills](https://agentskills.io). The server also
serves them over the MCP Skills extension (`skills/list`), so an assistant that
supports it gets them without installing anything.
**Retail analysis.** These work on a spreadsheet or pasted data. No Twelfth
account is needed.
| Skill | Use it to |
| --- | --- |
| `sales-decline-diagnosis` | Find out why sales of a category, supplier or product fell: split the change into units, price, mix and returns, then test the causes cheapest first |
| `category-review` | Review a category: its role, scorecard, availability, return on stock, range and promotions, and what to do next |
| `range-review` | Decide which lines to keep, cut or add, using where a cut line's shoppers would go and stock you've already bought |
| `supplier-offer-review` | Read a supplier's stock list or offer against your sales and cover: what to buy, how much, and what's missing |
| `competitor-price-check` | Check price position on matched products: listing errors, pack sizes, member and promo prices, a weighted index, and whether to match |
**Twelfth.** These need the Twelfth connection.
| Skill | Use it to |
| --- | --- |
| `twelfth-workspace` | Get started: which workspace is connected, what the tools can see, and how changes work |
| `twelfth-weekly-trading-brief` | Write Monday's brief: actions due, suppliers waiting, cover pressure, price position and three things to do first |
| `twelfth-competitor-pricing` | Answer pricing questions from tracked sets, competitor comparisons and price history |
Each retail-analysis skill ends with what changes when Twelfth is connected.
## What's in this repo
This repository holds client configuration only; the server is hosted and
operated by Twelfth AI Pty Ltd.
| Path | What |
| --- | --- |
| `plugins/twelfth/` | The plugin: MCP config for Cursor (`mcp.json`) and Claude Code (`.mcp.json`), and the eight skills above |
| `.cursor-plugin/`, `.claude-plugin/` | Marketplace manifests for Cursor and Claude Code |
| `gemini-extension.json`, `skills/` | The Gemini CLI extension. `skills/` is a copy of the plugin's skills; `node scripts/validate-template.mjs` fails if they drift |
## Support
- Questions and enterprise enquiries: [hello@twelfth.ai](mailto:hello@twelfth.ai)
- Security reports: [security.txt](https://twelfth.ai/.well-known/security.txt)
- Privacy: [twelfth.ai/legals/privacy](https://twelfth.ai/legals/privacy)
Twelfth AI Pty Ltd · ACN 695 769 138 · Australia
The contents of this repository are MIT licensed. The Twelfth service is
governed by its [terms](https://twelfth.ai/legals/terms).
smithery-verification=0c586824f907c08ca5140641c9ddc0c07e5e1574fd305497c14360c7f4ded531