/ 디렉터리 / 플레이그라운드 / Linear
● 공식 linear 🔑 본인 키 필요

Linear

제작: linear · linear/linear

Let your agent triage your Linear backlog, post cycle updates, and file bugs from Sentry — without opening the app.

Linear's official remote MCP (SSE) exposes issues, projects, cycles, teams, comments, and users. OAuth handled by Linear, so no PAT to manage. Best combined with Sentry (auto-file bugs), GitHub (link PRs), and Notion (weekly reports).

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

linear.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.linear.app/sse"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.linear.app/sse"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.linear.app/sse"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.linear.app/sse"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "linear",
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.linear.app/sse"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "linear": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-remote",
          "https://mcp.linear.app/sse"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add linear -- npx -y mcp-remote https://mcp.linear.app/sse

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: Linear

How to triage a messy Linear backlog in 10 minutes

👤 Engineering managers, tech leads ⏱ ~15 min intermediate

언제 쓸까: Monday morning. The backlog has 200+ untriaged issues and planning is in an hour.

사전 조건
  • Linear workspace access — OAuth through mcp-remote — first tool call opens browser to grant
  • Team slug (e.g. ENG) — Look at any issue identifier — the prefix is your team slug
흐름
  1. Pull every untriaged issue for the team
    List all ENG issues in state 'Triage' or with no priority set, created in the last 30 days. Return id, title, reporter, and description length.✓ 복사됨
    → Table of candidates with enough context to classify
  2. Cluster by theme
    Group these into 4-6 themes (bug / infra / onboarding / perf / etc.). For each cluster, propose a priority and suggested project.✓ 복사됨
    → Themed clusters with rationale
  3. Apply the decisions
    For each cluster, update the issues: set priority, add the matching label, and move to 'Backlog' state. Do NOT assign anyone.✓ 복사됨
    → N issues updated, confirmations logged

결과: A planning-ready backlog, grouped and prioritized, with an audit trail of every change the agent made.

함정
  • Agent mass-assigns issues to the wrong people based on 'who wrote similar code' — Explicitly tell it NOT to assign — assignment is a human call and should stay that way
  • Free-tier Linear rate-limits you after ~1500 requests/h — Batch updates with issueBatchUpdate when available; otherwise keep triage runs under 500 issues
함께 쓰기: sentry · github

Generate a weekly cycle status report from Linear

👤 Engineering managers, PMs ⏱ ~10 min beginner

언제 쓸까: Friday afternoon, you need to write the weekly update for leadership.

사전 조건
  • Active cycle in Linear — Linear > your team > Cycles — note the current cycle number
흐름
  1. Pull cycle stats
    For ENG cycle 47, list all issues grouped by state. Include completed-this-week, in-progress, blocked, and at-risk (no update in 3+ days).✓ 복사됨
    → Breakdown with counts and issue titles
  2. Diff against last week
    Compare to last week's snapshot [paste prior JSON]. What shipped, what regressed to earlier states, what's newly blocked?✓ 복사됨
    → Delta with narrative
  3. Draft the report
    Write a 1-page Markdown report: wins, in-flight, blockers, help-needed. Keep it honest — leadership reads between the lines.✓ 복사됨
    → Report ready to paste into Slack or Notion

결과: A polished cycle update in 10 minutes instead of 45.

함정
  • Completed issues without merged PRs look like progress but aren't — Combine with GitHub MCP — verify each 'Done' issue has a merged PR referenced
함께 쓰기: github · notion

Auto-file Linear bugs from new Sentry issues

👤 On-call engineers ⏱ ~15 min intermediate

언제 쓸까: You want real-time error spikes in Sentry to become tracked bugs without manual copy-paste.

사전 조건
  • Sentry MCP installed alongside Linear — See the sentry guide for setup
  • A dedicated Linear label like from-sentry — Linear > Settings > Labels — create once
흐름
  1. Find new Sentry issues over threshold
    Find Sentry issues first seen in the last 24h with >50 events in the web-prod project.✓ 복사됨
    → List with issue IDs and event counts
  2. Check for duplicates in Linear
    For each Sentry issue title, search Linear for existing issues with similar titles or containing the Sentry URL. Skip ones already filed.✓ 복사됨
    → Dedupe list — only genuinely new items
  3. Create the Linear bugs
    Create a Linear issue in ENG team for each new Sentry issue: title = Sentry title, description = stacktrace + link, priority = Urgent if >1000 events else High, label = from-sentry.✓ 복사됨
    → N issues created with links returned

결과: A clean Linear bug intake that never drops a production error on the floor.

함정
  • Same Sentry issue gets filed twice because titles drift slightly — Use the Sentry issue short-id (e.g. WEB-3a91) in the Linear title and dedupe on that substring
함께 쓰기: sentry

Nudge stale issues in the current cycle

👤 Tech leads, scrum masters ⏱ ~5 min beginner

언제 쓸까: Mid-cycle check. Issues assigned for 5+ days with no state change are usually stuck.

흐름
  1. Find the stale issues
    List issues in the current ENG cycle that have been in 'In Progress' for 5+ days without a state change or comment.✓ 복사됨
    → List with assignee and days-stale
  2. Post a gentle nudge comment
    Add a comment on each: 'Quick check-in — still on track for this cycle, or do you need to break this down / get help?' Tag the assignee.✓ 복사됨
    → Comments posted, links returned
  3. Escalate if ignored
    In 48 hours, re-run. If still no update, DM me a list for 1:1 follow-up.✓ 복사됨
    → Escalation list for human follow-up

결과: Unblocked work without being the nagging manager every day.

함정
  • Comment spam if you run this hourly — Check if the agent has already commented in the last 3 days before posting again

Scaffold a Linear project from a Notion spec

👤 PMs, tech leads starting a new initiative ⏱ ~20 min intermediate

언제 쓸까: You have a written PRD and need to break it into trackable issues.

사전 조건
  • Notion MCP installed — See notion guide
  • The PRD page URL — Copy from Notion
흐름
  1. Read and summarize the spec
    Read the Notion PRD at <URL> and list every discrete deliverable as a one-line description.✓ 복사됨
    → 15-40 candidate issues
  2. Review and refine
    Group these into 3-5 milestones. Flag any that need design, API, or DB work as separate issues.✓ 복사됨
    → Structured issue tree
  3. Create the Linear project and issues
    Create a Linear project named '<Spec title>' in ENG team. Create each milestone as a parent issue, with children as sub-issues. Link back to the Notion page in each description.✓ 복사됨
    → Project URL + issue count

결과: A fully-scaffolded Linear project in 20 minutes instead of 2 hours of manual ticket writing.

함정
  • Agent creates 80 issues when you wanted 20 — too granular — In step 2, explicitly cap: 'no more than 20 issues total, merge anything smaller than a day of work'
함께 쓰기: notion

조합

다른 MCP와 조합해 10배 효율

linear + sentry

Turn production error spikes into tracked Linear bugs automatically

Find new Sentry web-prod issues from the last 24h with >50 events. For each, create a Linear bug in ENG team labeled 'from-sentry', priority High, with the stacktrace in the description.✓ 복사됨
linear + github

Auto-link PRs to Linear issues and close issues when PRs merge

For every open PR in my repo, find the Linear issue ID in the title or branch name and add a reference comment on the Linear issue with the PR URL.✓ 복사됨
linear + notion

Post weekly cycle digests to a Notion database

Generate this week's ENG cycle status and create a page in the Notion 'Engineering Weekly' database with the full report.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
list_issues team?, assignee?, state?, label?, cycle?, query?, limit? Primary search — filter the stream 1 API call
get_issue id Fetch full context for a single issue 1 API call
create_issue teamId, title, description?, priority?, labelIds?, assigneeId?, projectId? File a new issue 1 API call
update_issue id, stateId?, priority?, assigneeId?, labelIds?, title?, description? Change state, priority, or assignment 1 API call
create_comment issueId, body Post a nudge or status note on an issue 1 API call
list_projects teamId? Discover active projects in a team 1 API call
list_cycles teamId Find active or recent cycles for a team 1 API call
list_teams Discover teams in the workspace 1 API call

비용 및 제한

운영 비용

API 쿼터
1500 req/h for OAuth apps, 120 req/min burst — generous for any real workflow
호출당 토큰
300–1500 tokens per issue depending on description/comments
금액
Free — Linear MCP is included in any Linear plan
Use list_issues with specific filters instead of pulling everything then filtering — cuts token cost 10x on large backlogs

보안

권한, 시크릿, 파급범위

최소 스코프: read write issues:create
자격 증명 저장: OAuth via mcp-remote — tokens stored in ~/.mcp-auth/, refreshable without re-logging-in
데이터 외부 송신: All calls to api.linear.app and mcp.linear.app
절대 부여 금지: admin

문제 해결

자주 발생하는 오류와 해결

OAuth browser popup doesn't open

Run npx -y mcp-remote https://mcp.linear.app/sse manually once — it'll print a URL you can paste into a browser

확인: After auth, re-run your agent; token cached in ~/.mcp-auth/
403 on update_issue

Your Linear role lacks write access to that team. Ask a workspace admin to promote you or scope the agent to a team you own.

Issues returned but comments are missing

Comments are a separate query — use get_issue with include-comments, or list comments separately with the issue ID.

Can't find an issue you know exists

Check the team filter — issues in other teams aren't returned unless you pass team=null or specify that team.

대안

Linear 다른 것과 비교

대안언제 쓰나단점/장점
Jira MCPYour org is on Jira, not LinearHeavier API, more states/fields to reason about — agents do worse on Jira out of the box
GitHub Issues (via GitHub MCP)You want issues tightly coupled to code without a separate toolLose cycles, projects, and workflow states — GitHub Issues is simpler but less structured

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기