LabscoMCP early access ↗
emmett-deenMCP SERVER

Linear MCP Server by emmett-deen

Search a Linear workspace by team, project, assignee and state, file and update issues, comment on them, and move labels on and off — without leaving the client.

Project & Task ManagementCommunity

LABSCO SUMMARY

Issues and projects are the only things that can be created, so an agent can file and triage without being able to restructure the workspace.

Teams, labels and users are read surfaces with no write tool behind them, which puts a hard floor under what a mistaken call can do. Moving an issue through its workflow goes through linear_updateIssue's stateId, and the npm release has no tool that lists a team's workflow states (linear_getWorkflowStates exists only in the source), so that id has to come from somewhere else. Label work is per issue rather than per set — add and remove take one issueId and one labelId at a time.

What it is

A Linear client whose npm release covers 15 tools over issues, projects, teams, labels and users; the repository source defines 32.

What you get

  • Issue reads by recency, by identifier or by filter: linear_getIssues for recent ones under a limit, linear_getIssueById by id or identifier such as ABC-123, and linear_searchIssues filtered by query, teamId, projectId, assigneeId and states.
  • Issue writes: linear_createIssue with title, description, priority, team, project and assignee, and linear_updateIssue, which additionally takes stateId.
  • linear_createComment, which adds a comment to an issue by id.
  • Labels moved per issue through linear_addIssueLabel and linear_removeIssueLabel, with linear_getLabels listing what the workspace has.
  • Workspace context: linear_getViewer for the authenticated user, plus linear_getOrganization, linear_getUsers, linear_getTeams and linear_getProjects, and linear_createProject with a name, description, state and teamIds.

Requirements

A Linear API token for your organization. The npx configs pass it as LINEAR_API_KEY; the globally installed linear-mcp-server binary takes the same token with --token or LINEAR_API_TOKEN. One of them is enough.

Setup effort

Add the configuration to your client