Linear MCP server. Search, read and create Linear issues, projects, teams and cycles.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"linear": {
"url": "https://linear.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
linear_search_issues | read | Search / filter issues Find issues, optionally filtered by a text query (matches title), team key, workflow-state name, or assignee email. Read-only. GraphQL: query issues(filter, first). |
linear_get_issue | read | Get one issue Fetch a single issue by its UUID or human identifier (e.g. \ |
linear_list_teams | read | List teams List the teams in the workspace (id, key, name). Use a team's id for linear_create_issue or its key for linear_search_issues. Read-only. GraphQL: query teams. |
linear_list_projects | read | List projects List projects in the workspace (id, name, state, progress, target date). Read-only. GraphQL: query projects. |
linear_my_issues | read | My assigned issues List issues assigned to the current user (the API key's owner / OAuth actor) via viewer.assignedIssues. Read-only. GraphQL: query viewer { assignedIssues }. |
linear_list_cycles | read | List cycles List cycles (sprints), optionally scoped to a team by key, with number, name and start/end dates. Read-only. GraphQL: query cycles(filter). |
linear_create_issue | write | Create issue (WRITE — mutates Linear) ⚠️ WRITE / MUTATING: creates a new issue in Linear. Requires a teamId (from linear_list_teams) and a title. Optional description (markdown), priority (0=none,1=urgent,2=high,3=medium,4=low), and assigneeId. GraphQL: mutation issueCreate. |
linear_add_comment | write | Add comment (WRITE — mutates Linear) ⚠️ WRITE / MUTATING: posts a comment on an issue. Requires the issueId (UUID) and a markdown body. GraphQL: mutation commentCreate. |
linear_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
linear_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Linear tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. | |
linear_upgrade_team | Upgrade workspace to Team (unlimited for everyone) Subscribe your entire Linear workspace to the Team plan (unlimited seats) for UNLIMITED Linear tool calls for EVERY member of the workspace (the free tier caps monthly usage per user). Choose monthly ($99/month) or yearly billing. Returns a Stripe Checkout link to open in your browser; after payment the whole workspace upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited |
| Teamper workspace | $99/mo · $990/yr | Unlimited for all seats |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.