# The TeamOnly MCP server

> Canonical: https://teamonly.dev/mcp

Let your AI tool deploy the app it built, behind your company login, then read the live logs and fix what breaks. One line of setup in Claude Code, Cursor, VS Code, Claude Desktop or Windsurf.

## Deploy from the chat

The MCP server gives your AI tool the TeamOnly actions as tools it can call: set up the project, deploy, check who can open the app, read its logs, store a secret, sign you in.

So you can stay in the conversation. Say "deploy this app on TeamOnly" and the agent does it. If the app shows an error, it can watch the live logs, find the problem, fix the code and deploy again on its own.

The rules files that `npx teamonly init` adds (the Claude Code skill, AGENTS.md and the Cursor rule) are still the main way your AI learns the stack. The MCP server is for tools that prefer tools over terminal commands, like Claude Desktop or Cursor's agent without a terminal. The CLI keeps working exactly as before.

## Add it to your AI tool

Every tool starts the same command on your computer: `npx -y teamonly mcp` (stdio). You need Node.js 20 or newer.

### Claude Code

```
claude mcp add teamonly -- npx -y teamonly mcp
```

### Cursor

One-click install (opens Cursor): https://cursor.com/en/install-mcp?name=teamonly&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsInRlYW1vbmx5IiwibWNwIl19

Or add this to `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` for every project):

```json
{
  "mcpServers": {
    "teamonly": {
      "command": "npx",
      "args": ["-y", "teamonly", "mcp"]
    }
  }
}
```

### VS Code

```
code --add-mcp '{"name":"teamonly","command":"npx","args":["-y","teamonly","mcp"]}'
```

Or add this to `.vscode/mcp.json` in your project. VS Code uses `servers` and `"type": "stdio"`:

```json
{
  "servers": {
    "teamonly": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "teamonly", "mcp"]
    }
  }
}
```

### Claude Desktop

Open Settings, then Developer, then Edit Config, and add the same `mcpServers` block as for Cursor to `claude_desktop_config.json`. Restart Claude Desktop afterwards.

### Windsurf

Add the same `mcpServers` block as for Cursor to Windsurf's MCP config file, `mcp_config.json`.

### Other tools

Any MCP client that runs local servers can use it. The command is `npx` with the arguments `-y teamonly mcp`, over stdio. It is also in the official MCP Registry as `dev.teamonly/teamonly`.

## What your AI can do with it

Twelve tools. Your AI tool shows each call and, in most tools, asks you before it runs one.

- `get_app_rules`: the rules for a TeamOnly app: the supported stack, how to read the signed-in person, the database, files, secrets, email, scheduled jobs and roles. The AI reads them before writing code.
- `init`: creates a starter app or one of the templates in an empty folder, or adds TeamOnly to an app you already have.
- `deploy`: builds the app and puts it online at its private address, behind your company login.
- `status`: who is signed in, your company's plan, and every app with its address and who can open it.
- `logs`: watches the live app for 5 to 60 seconds and returns its requests, `console.log` output and errors.
- `access`: shows or changes who can open the app: everyone at the company, or only the people on a list.
- `roles`: shows or changes the roles people have inside the app, like approver or finance.
- `set_secret`: stores an API key or password for the app, so it never goes in the code.
- `sign_in`: signs you in with your work email and the 6-digit code we email you.
- `start_trial`: starts the 14-day free trial for your company, with no card.
- `subscribe`: returns a payment link for the Builder, Team or Business plan.
- `delete_app`: deletes the live app with its data. It needs the app's name to confirm.

## What to say

Plain words are enough. For example: "Deploy this app on TeamOnly".

Other things people ask:

- The app shows an error when I save. Check the logs and fix it.
- Only Priya and Sam should be able to open this.
- Make Dana an approver.
- Store my Slack webhook as a secret.

## How sign-in works from the agent

You never leave the chat, and you never paste a password.

1. **Your work email.** The agent asks for your work email and calls `sign_in`. We email you a 6-digit code.
2. **The code.** You tell the agent the code. It calls `sign_in` again and you are signed in on this computer.
3. **A new company.** If your company doesn't have TeamOnly yet, the agent can call `start_trial` for 14 days free with no card, or `subscribe`, which gives you a payment link to open.

Personal addresses like Gmail are refused, because sign-in is limited to your company's email domain.

## Questions people ask

### Does the MCP server replace the CLI?

No. The CLI keeps working exactly as before, and the rules files that `npx teamonly init` adds stay the main way your AI learns how to write a TeamOnly app. The MCP server gives the same actions to AI tools that prefer tools over terminal commands.

### Where does the MCP server run?

On your computer. Your AI tool starts it with `npx -y teamonly mcp` and talks to it over stdio. It runs locally because deploying reads your project's files.

### Is it free?

The MCP server is part of the `teamonly` npm package, so there is nothing extra to buy. To deploy, your company needs TeamOnly: start the [14-day free trial](https://teamonly.dev/pricing#trial) with no card, or [subscribe](https://teamonly.dev/pricing#subscribe).

### Which AI tools does it work with?

Any tool that runs local MCP servers: Claude Code, Cursor, VS Code, Claude Desktop, Windsurf and other agents. It is also listed in the official MCP Registry as `dev.teamonly/teamonly`.

## Keep reading

- [The docs](https://teamonly.dev/docs)
- [TeamOnly with Claude Code](https://teamonly.dev/claude-code)
- [TeamOnly with Cursor](https://teamonly.dev/cursor)
- [Security](https://teamonly.dev/security)

Try it free for 14 days, no card: https://teamonly.dev/pricing#trial. Or subscribe: https://teamonly.dev/pricing#subscribe (Builder $19/mo, Team $249/mo)
Not ready? Get updates: https://teamonly.dev/waitlist
