Documentation
MCP Server
Connect Cursor, Claude, ChatGPT, Kiro, or other MCP-compatible AI tools to your Lancer account to manage projects, tasks, and milestones.
Overview
The Lancer MCP server lets AI assistants create and update projects, tasks, subtasks (todos), and milestones in your Lancer account. Each connection uses a personal access token (PAT) scoped to one account — your AI tool never needs your login password.
- Account-scoped tokens — one PAT works for a single Lancer account
- 14 tools for projects, tasks, and milestones
- Works with Cursor, Claude Desktop, ChatGPT Desktop, and Kiro
- Built-in rate limits to protect your account and infrastructure
Step 1 — Create a personal access token
- Sign in to Lancer at https://app.lancer.pro
- Open Settings → Integrations → AI Tools
- Click "Create token", choose a name and expiration, then copy the token immediately
- Store the token securely — it is only shown once
Step 2 — Add the MCP config
All supported clients use the same mcpServers.lancer block. Replace lnc_pat_YOUR_TOKEN_HERE with the token you copied from Lancer.
{
"mcpServers": {
"lancer": {
"command": "npx",
"args": ["-y", "@lancerapp/mcp-server"],
"env": {
"LANCER_API_URL": "https://api.lancer.pro",
"LANCER_PAT": "lnc_pat_YOUR_TOKEN_HERE"
}
}
}
}The account is inferred from your token automatically — you do not need to pass an account id in tool calls.
Cursor
| Scope | Config file |
|---|---|
| Global | ~/.cursor/mcp.json |
| Project | .cursor/mcp.json |
- Open Cursor → Settings → MCP (or edit the config file directly)
- Add the lancer entry under mcpServers (merge with existing servers if needed)
- Paste your PAT and confirm LANCER_API_URL is set correctly
- Restart Cursor or refresh the MCP panel
Claude Desktop
| Platform | Config file |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
- Quit Claude Desktop completely
- Open claude_desktop_config.json (create it if missing)
- Add the lancer entry under mcpServers and save
- Restart Claude Desktop
ChatGPT
ChatGPT Desktop (recommended for local MCP)
| Platform | Config file |
|---|---|
| macOS | ~/Library/Application Support/ChatGPT/mcp_config.json |
| Windows | %APPDATA%\ChatGPT\mcp_config.json |
- Edit mcp_config.json with the JSON block above
- In recent builds: Settings → Advanced → MCP Servers
- Restart ChatGPT Desktop
Kiro
| Scope | Config file |
|---|---|
| Workspace | .kiro/settings/mcp.json |
| User (global) | ~/.kiro/settings/mcp.json |
- Open the command palette and run "Kiro: Open workspace MCP config (JSON)" (or user config)
- Add the lancer entry under mcpServers and save
- Confirm "lancer" appears in the MCP servers panel
Available tools
Projects
| Tool | Description |
|---|---|
| list_projects | List all projects in the account |
| get_project | Get one project by id |
| create_project | Create a new project |
| update_project | Update project fields |
Tasks
| Tool | Description |
|---|---|
| list_tasks | List tasks with optional filters |
| get_task | Get one task including subtasks |
| create_task | Create a task with optional subtasks (todos) |
| update_task | Update a task or replace subtasks |
| delete_task | Delete a task |
Milestones
| Tool | Description |
|---|---|
| list_milestones | List milestones in a project |
| get_milestone | Get one milestone |
| create_milestone | Create a milestone (manager role required) |
| update_milestone | Update a milestone |
| delete_milestone | Delete a milestone |
Rate limits & security
Lancer enforces limits on PAT-authenticated requests to prevent abuse and runaway AI tool usage.
| Limit | Default |
|---|---|
| Requests per minute (per token) | 30 |
| Requests per UTC day (per token) | 2,000 |
| Active tokens (per account) | 5 |
- HTTPS is required for non-local API URLs in the MCP client
- Tokens are hashed at rest and shown only once at creation
- Revoke tokens immediately if exposed
- Never commit PATs to git or share config files containing real tokens
Troubleshooting
| Error | What to do |
|---|---|
| 401 Unauthorized | Token is invalid or revoked — create a new PAT in Settings |
| 403 Forbidden | Insufficient project role or missing scope |
| 404 Not found | Check project, task, or milestone ids |
| 429 Too many requests | Slow down — wait for the minute or daily limit to reset |
| 422 Validation error | Check required fields (e.g. task name and status) |
Need help? Contact support from the Lancer app or visit the Support page on this site.
