/ Directory / Playground / Linear MCP (tacticlaunch)
● Community tacticlaunch 🔑 Needs your key

Linear MCP (tacticlaunch)

by tacticlaunch · tacticlaunch/mcp-linear

Drive Linear from your terminal — create issues, move tickets, post updates, run reports without ever opening linear.app.

tacticlaunch's Linear MCP wraps the Linear GraphQL API as MCP tools. Create and update issues, move statuses, link to PRs, query teams and projects, post comments. PAT-based auth, single npx command. Ideal for engineers who think in natural language faster than they click.

Why use it

Key features

Live Demo

What it looks like in practice

linear-mcp-tacticlaunch.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "linear-mcp-tacticlaunch": {
      "command": "npx",
      "args": [
        "-y",
        "@tacticlaunch/mcp-linear"
      ],
      "env": {
        "LINEAR_API_TOKEN": "your_linear_api_token"
      }
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "linear-mcp-tacticlaunch": {
      "command": "npx",
      "args": [
        "-y",
        "@tacticlaunch/mcp-linear"
      ],
      "env": {
        "LINEAR_API_TOKEN": "your_linear_api_token"
      }
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "linear-mcp-tacticlaunch": {
      "command": "npx",
      "args": [
        "-y",
        "@tacticlaunch/mcp-linear"
      ],
      "env": {
        "LINEAR_API_TOKEN": "your_linear_api_token"
      }
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "linear-mcp-tacticlaunch": {
      "command": "npx",
      "args": [
        "-y",
        "@tacticlaunch/mcp-linear"
      ],
      "env": {
        "LINEAR_API_TOKEN": "your_linear_api_token"
      }
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "linear-mcp-tacticlaunch",
      "command": "npx",
      "args": [
        "-y",
        "@tacticlaunch/mcp-linear"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "linear-mcp-tacticlaunch": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@tacticlaunch/mcp-linear"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add linear-mcp-tacticlaunch -- npx -y @tacticlaunch/mcp-linear

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Linear MCP (tacticlaunch)

Ship a feature without opening Linear once

👤 Devs who hate context switching ⏱ ~10 min beginner

When to use: You're heads-down coding and don't want to break flow to update tickets.

Prerequisites
  • Linear PAT — linear.app → Settings → API → Personal API keys
Flow
  1. Pick up
    Use Linear MCP. Show me my open issues in 'In Progress'. Pick the highest-priority one and mark it 'In Review' — I'm done.✓ Copied
    → Issue listed, status updated
  2. Comment
    Add a comment: 'PR #1234 ready for review. Tests pass, perf benchmarks linked.' Link the PR.✓ Copied
    → Comment posted with PR link
  3. Plan next
    What's next in my queue? Group by project.✓ Copied
    → Grouped issue list

Outcome: Project-management hygiene without leaving the terminal.

Pitfalls
  • Status name mismatch (e.g., 'In Review' vs 'Review') — Ask Claude to list workflow states for the team first
Combine with: github

Auto-generate your weekly standup from Linear activity

👤 ICs writing weekly updates ⏱ ~5 min beginner

When to use: Friday afternoon — you can't remember what you did this week.

Flow
  1. Pull
    Pull all issues I closed or commented on this week. Group by project.✓ Copied
    → Grouped activity log
  2. Draft
    Write a 5-bullet update — Done / In Progress / Blocked. Keep it concise.✓ Copied
    → Tight 5-bullet summary

Outcome: Standup doc generated in 30 seconds, not 30 minutes.

Pitfalls
  • Missing PR-only work — Combine with github MCP to capture PR activity
Combine with: github

Triage an inbox of bug reports into Linear

👤 On-call / triage rotation ⏱ ~30 min intermediate

When to use: Customer support sent 30 bugs. They need labeling, priority, and assignment.

Flow
  1. Bulk import
    Read /tmp/bugs.md. Each bullet is a bug. Create a Linear issue per bullet with the right team and project.✓ Copied
    → N issues created, IDs returned
  2. Prioritize
    Read each issue's description and set priority (urgent/high/medium/low) based on user impact.✓ Copied
    → Priorities applied

Outcome: Inbox zeroed; Linear has triaged work.

Pitfalls
  • Duplicate issues — Search for similar titles before create
Combine with: filesystem

Combinations

Pair with other MCPs for X10 leverage

linear-mcp-tacticlaunch + github

Auto-link PRs to Linear issues; close issues on merge

When PR #1234 merges, find the linked LIN-456 and mark it Done.✓ Copied
linear-mcp-tacticlaunch + filesystem

Bulk import from a markdown bug file

Read /tmp/bugs.md and create one Linear issue per bullet.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
list_issues team?, assignee?, status?, project?, limit? Find work to do 1 GraphQL call
create_issue title, description?, team, project?, assignee?, priority? Capture a new bug or task 1 mutation
update_issue id, status?, assignee?, priority?, title?, description? Move tickets through the workflow 1 mutation
add_comment issue_id, body Status updates, PR links 1 mutation
list_projects team? Project-level reporting 1 query
list_teams (none) Cross-team queries 1 query

Cost & Limits

What this costs to run

API quota
Linear plan limits — Free 250 members, Plus and above raise rate limits
Tokens per call
200–2000
Monetary
Free (the MCP itself)
Tip
Filter aggressively; one big list_issues is cheaper than a hundred individual gets

Security

Permissions, secrets, blast radius

Minimum scopes: Personal API token — workspace member scope
Credential storage: LINEAR_API_TOKEN env var
Data egress: api.linear.app only
Never grant: Workspace admin tokens to agents

Troubleshooting

Common errors and fixes

401 Unauthorized

Token missing or revoked; regenerate at linear.app/settings/api

Verify: curl -H 'Authorization: <token>' https://api.linear.app/graphql
Status not found

Workflow states are per-team; list states for that team first

Rate limited (429)

Back off; batch operations where possible

Alternatives

Linear MCP (tacticlaunch) vs others

AlternativeWhen to use it insteadTradeoff
Linear official MCPYou want OAuth + first-party supportLess feature surface in some forks
GitHub issuesYour team lives in GitHubDifferent model — no projects/cycles like Linear

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills