---
title: "Create an MCP key."
method: POST
path: "/auth/mcp-tokens"
tags: ["Account"]
---

# Create an MCP key.

`POST /auth/mcp-tokens`

## Request

- Base URL: `https://animalchecklist.com/api/v1`
- URL: `https://animalchecklist.com/api/v1/auth/mcp-tokens`
- Auth: API key in cookie `ac_session`

Creates a personal read or read-write key from this site. The raw key appears only in this response and expires after 90 days. Each account can keep three active keys.

## Headers

- `X-Account-Id` string, uuid, required

## Request body

- object
  - `scope` 'read' | 'read-write', required

## Response `201`

New key. Copy the token now.

- object
  - `data` object, required
    - `id` string, uuid, required
    - `token` string, required: Secret shown once.
    - `scope` 'read' | 'read-write', required
    - `expiresAt` integer, required

## Other responses

- `400`: Invalid input.
- `401`: Sign-in required.
- `403`: A same-origin request is required.
- `404`: Not found.
- `409`: Account changed in another tab.
- `429`: Rate limited.
- `500`: Unexpected error.

---

[API](https://skmtc.dev/animalchecklist/apis/animal-checklist-api.md) · [All operations](https://skmtc.dev/animalchecklist/apis/animal-checklist-api/llms.txt) · [OpenAPI document](https://skmtc.dev/animalchecklist/apis/animal-checklist-api/revisions/0910760ad25b?raw)
