| name | mcp-linear |
| description | Call Linear MCP tools via mcporter CLI — issues, projects, teams, comments, cycles, milestones, and more. Use for: 'create Linear issue', 'list my issues', 'update issue status', 'check sprint progress', 'add comment to ticket'. Replaces native Linear MCP plugin to save context window. |
| allowed-tools | ["Bash"] |
Call Linear MCP tools through the mcporter CLI instead of loading 33 tool definitions into the context window. This skill covers all Linear operations: issues, projects, teams, comments, documents, cycles, milestones, labels, attachments, and users.
Call Syntax
Two equivalent forms — use whichever is clearer:
mcporter call linear.TOOL_NAME key:value key2:value2 --output json
mcporter call 'linear.TOOL_NAME(key: "value", key2: "value2")' --output json
Always use --output json for machine-readable results you'll parse.
Issues
mcporter call linear.list_issues assignee:me limit:10 --output json
mcporter call linear.list_issues query:"search terms" team:ENG --output json
mcporter call linear.get_issue id:ENG-123 --output json
mcporter call linear.get_issue id:ENG-123 includeRelations:true --output json
mcporter call 'linear.create_issue(title: "Bug: login broken", team: "ENG", priority: 2, assignee: "me")' --output json
mcporter call 'linear.create_issue(title: "Fix deploy", team: "ENG", labels: "[\"Bug\",\"Infra\"]")' --output json
mcporter call 'linear.update_issue(id: "ENG-123", state: "In Progress", priority: 1)' --output json
mcporter call linear.list_issues state:started label:bug project:infra priority:2 --output json
mcporter call 'linear.list_issues(team: "ENG", createdAt: "-P7D")' --output json
mcporter call 'linear.list_issues(team: "ENG", updatedAt: "-P1D")' --output json
mcporter call linear.list_issues team:ENG includeArchived:true --output json
Comments
mcporter call linear.list_comments issueId:ISSUE_UUID --output json
mcporter call 'linear.create_comment(issueId: "ISSUE_UUID", body: "Comment text here")' --output json
Teams
mcporter call linear.list_teams --output json
mcporter call linear.get_team query:ENG --output json
Projects
mcporter call linear.list_projects --output json
mcporter call linear.get_project query:infra --output json
mcporter call linear.get_project query:infra includeMilestones:true --output json
mcporter call 'linear.create_project(name: "Q2 Platform", description: "Platform improvements for Q2", teams: "[\"ENG\"]")' --output json
mcporter call 'linear.update_project(id: "PROJECT_UUID", state: "started", description: "Updated scope")' --output json
mcporter call linear.list_project_labels --output json
Users
mcporter call linear.list_users --output json
mcporter call linear.get_user query:me --output json
Extended Operations
Milestones, Documents, Attachments, Cycles, Labels, Statuses, and other tools are documented in references/tool-catalog.md. Or run mcporter list linear --all-parameters to see all tools.
- Use `--output json` for all calls when you need to parse the result.
- Issue identifiers (like ENG-123) work for `get_issue` but UUIDs are needed for `update_issue`, `list_comments`, etc. Get the UUID from `get_issue` first.
- Discover all tools and parameters: `mcporter list linear --all-parameters`
- **Priority values**: 0=None, 1=Urgent, 2=High, 3=Normal, 4=Low
- **State** accepts type names (backlog, unstarted, started, completed, cancelled) or specific state names.
- The `assignee` field accepts "me", a user name, email, or UUID.
- For creating issues with labels, use: `labels:'["Bug","Frontend"]'`
- **Date filters**: Use ISO-8601 durations — `-P1D` (last day), `-P7D` (last week), `-P30D` (last month), `-P90D` (last quarter).
- First call in a session may take ~2s for OAuth token refresh; subsequent calls are faster.