usefulapi

Linear MCP server. Search, read and create Linear issues, projects, teams and cycles.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://linear.usefulapi.io/mcp
  3. Authorize with your Linear account

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "linear": {
      "url": "https://linear.usefulapi.io/mcp"
    }
  }
}
live11 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 11

ToolTypeWhat it does
linear_search_issuesread
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_issueread
Get one issue
Fetch a single issue by its UUID or human identifier (e.g. \
linear_list_teamsread
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_projectsread
List projects
List projects in the workspace (id, name, state, progress, target date). Read-only. GraphQL: query projects.
linear_my_issuesread
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_cyclesread
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_issuewrite
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_commentwrite
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_statusmeta
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_upgrademeta
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_teammeta
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.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper user$9/mo · $90/yrUnlimited
Teamper workspace$99/mo · $990/yrUnlimited 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.