← Teamping

Plug your AI into the team (MCP)

Teamping is a team context layer where developers and non-developers (AI builders) collaborate in their own role's language. This one page is enough to connect your AI (Claude Code · Cursor · Claude Desktop) to the team workspace.

Once connected, your AI reads and writes the team's work (manifests) · meetings · chat · roadmap through tools.

Log in and get a key → Sign up
Easiest way — the AI setup kit. After signing in, use "Download setup kit" on My page to get one file and give it to the AI you use (Claude Code · Codex). The AI does the steps below for you, asking as it goes.

Let your AI do it (easiest)

Give the file from "Download setup kit" on My page to your AI (Claude Code · Codex) and say:

"Set up Teamping following this teamping-setup.md file."

Never paste your key (token) into the chat — chat history keeps it forever. The kit tells you how to add the key separately.

With the kit, your AI asks at each step and does the setup for you, telling you when it's your turn (issuing the key · restarting the app · approving). Only when setting up by hand without the kit, follow Step 2 below — and even then, enter the key yourself and never tell it to the AI.

Step 1 — Issue a key (30 seconds)

  1. Log in to teamping.dev (the email your team invited)
  2. My page → Connect your AI → "Issue new key"
  3. Copy the plaintext key (teamping_...) — it is shown only once (close the window and it is gone)
Never share the key. If it leaks, revoke it on My page and issue a new one. Scopes are submit (submit work) and list (read) only — risky actions like reviewing completion reports or managing the team are impossible with a key (people do them on the web). Exception: an owner/admin submit key can confirm/reject (delete drafts) and change progress, assignee and commit links on the roadmap.

Step 2 — Connect

A. Claude Code (terminal · the Claude Code extension in VS Code or Cursor) ← recommended for developers

Option 1 — one command (in the project folder):

claude mcp add --transport http teamping https://teamping.dev/mcp \
  --header "Authorization: Bearer teamping_YOUR_TOKEN"

Option 2 — a .mcp.json file (create/add at the project root):

{
  "mcpServers": {
    "teamping": {
      "type": "http",
      "url": "https://teamping.dev/mcp",
      "headers": {
        "Authorization": "Bearer teamping_YOUR_TOKEN"
      }
    }
  }
}

B. Claude Desktop app (Mac / Windows)

To connect by signing in, with no key, follow the Claude chat steps under “Connecting from chat apps” below (the desktop app works the same way).

Add the block below to the config file. If you already have other MCPs, put only mcpServers inside teamping.

{
  "mcpServers": {
    "teamping": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://teamping.dev/mcp",
        "--header",
        "Authorization:${TEAMPING_AUTH}"
      ],
      "env": {
        "TEAMPING_AUTH": "Bearer teamping_YOUR_TOKEN"
      }
    }
  }
}
mcp-remote is a small bridge between the desktop app (local) and our remote server (HTTP). It installs itself on first run. It matters that the token lives in env — if you hard-code it like --header "Authorization: Bearer TOKEN", the token shows in the process list (ps) in plaintext the whole time the app runs. Tighten the config file too: chmod 600. Note the {"type":"http", ...} form in A above is Claude Code only — the desktop config ignores it.

C. Codex (CLI · desktop app) — quick connect, no key

Codex doesn't need a copied key. Run this line in a terminal and a browser opens.

codex mcp add teamping --url https://teamping.dev/mcp

Sign in to Teamping in the browser, choose a project and press "Allow". Then open Codex in a new session and it's connected. Run codex mcp login teamping only when a connection you already added has dropped — running it right after adding asks for consent a second time.

D. Cursor (Cursor's own AI)

Cursor doesn't read .mcp.json. Put the block below in Cursor's settings file. If other MCP servers are already there, add only teamping inside mcpServers.

{
  "mcpServers": {
    "teamping": {
      "url": "https://teamping.dev/mcp",
      "headers": {
        "Authorization": "Bearer teamping_YOUR_TOKEN"
      }
    }
  }
}
If you put it in the project's .cursor/mcp.json, the key can end up in git. Add that file to .gitignore, and narrow its permissions too (chmod 600).

Save, reopen Cursor and ask in the chat: "call Teamping list_channels". If you get your channel list, you're connected.

Turn on automatic locks: if your key is in ~/.cursor/mcp.json, run this once, then reload Cursor (Command Palette → Developer: Reload Window). Works on macOS and Linux.

d="$(mktemp -d)" && git clone --depth 1 https://github.com/serion-mark/teamping-plugin "$d/r" && mkdir -p ~/.cursor/plugins/local && rm -rf "$HOME/.cursor/plugins/local/.teamping-new" && cp -R "$d/r/cursor-plugin/teamping" "$HOME/.cursor/plugins/local/.teamping-new" && rm -rf ~/.cursor/plugins/local/teamping && mv "$HOME/.cursor/plugins/local/.teamping-new" ~/.cursor/plugins/local/teamping; rm -rf "$d"
Once on, Cursor's Agent stops before editing a file a teammate's AI is working on, and the AI is told who holds it. Files the Agent edits lock automatically. To check, have the Agent edit a file without calling claim_file, then open the Live tab of the key's project. If the file isn't there, locks are off. Run the command again to update.
Good to know: automatic locks cover one project at a time. Whichever repository you edit, locks go to the project of the key in ~/.cursor/mcp.json, so when you edit a repository in another project, switch to that project's key, reload Cursor and start a new chat. MCP moves with the key, and locks in the previous project can stay for up to 30 minutes. To turn automatic locks off, delete ~/.cursor/plugins/local/teamping and reload. Tab completions and edits you make by hand aren't checked, and edits made through shell commands are only partly checked. Node.js 18 or later must be on the PATH of Cursor's hooks. If the server can't be reached or the key is missing, the edit goes ahead. On Cursor Enterprise, an admin must turn on "Allow Local Plugin Imports" first. Without the plugin, Cursor's AI locks a file itself with claim_file before editing it.

Step 3 — Verify

Then ask your AI: "show me the teamping tools" or "what's my work (get_my_work)" → if the tools below appear, you're connected

Connecting from chat apps (Claude · ChatGPT)

Connect by signing in to Teamping — no key. Both apps use this one server address.

https://teamping.dev/mcp

Claude chat (claude.ai · desktop app)

  1. Go to Settings → Connectors → “Add custom connector”. On company plans (Team · Enterprise) an admin may need to allow it first before the menu appears.
  2. Name it Teamping and put the server address above in the URL field. Leave the advanced settings empty.
  3. Press “Connect” and a Teamping page opens — sign in → pick the project to write to → (optional · if the field is shown) widen Read scope to other projects → “Allow connection”.
  4. In a new chat, turn on Teamping and ask “What did our team do today?” (or “How did the company do today?” if it reads other projects too).

ChatGPT (chatgpt.com)

  1. On the plugins screen, choose “Add” → “Add custom MCP server”. Depending on your plan or settings this menu may not appear.
  2. Name it Teamping, put the server address above under “Server URL”, and keep authentication as OAuth. You don't need to touch the advanced OAuth settings (they fill in automatically). Tick the warning checkbox and press “Create plugin”.
  3. Press “Connect” and a Teamping page opens — sign in → pick the project to write to → (optional · if the field is shown) widen Read scope to other projects → “Allow connection”.
  4. In a new chat, turn on Teamping and ask “What did our team do today?” (or “How did the company do today?” if it reads other projects too).
Chat apps have no automatic file locking. In the app's tool permissions, set the writing tools (posting chat, work reports, …) to “needs approval” so it asks before each write.

What you can do (tools)

ToolWhat it does
submit_manifestSubmit the work you just did to the channel as a standard report (manifest)
list_manifests · get_manifestRead the channel's work reports (role-translated views)
get_my_workSee what's assigned to me and what's waiting for review
propose_stage_change · propose_due_changePropose a stage or due-date change
respond_to_manifestAsk, comment on, or request changes to someone's work
start_thread · post_thread_message · list_thread(_messages)Brainstorming meetings (threads)
post_channel_message · list_channel_messagesAlways-on channel chat
propose_milestonesPropose roadmap phase drafts (people confirm on the web — or with the tool below)
update_roadmap_nodeConfirm · reject · progress status · assignee · commit link on the roadmap (owner/admin's AI · instructed to use it only when asked)
People review completion reports on the web. There is no tool that reviews work (a design invariant). Only the roadmap (owner/admin) and setting aside stale cards (owner · console admin · cards stalled 30+ days only · stage and content unchanged) can be changed — by their AI when they ask (a rule the tool instructions carry; the server cannot tell who asked); a compromised AI cannot rewrite the rest of the team state.

Troubleshooting


Teamping — the two-way communication tool that removes the wall between developers and AI builders. Everyone sees and edits the same GitHub code in their role's language; AI translates, people approve.