linear_addIssueLabel
Add a label to an issue in Linear
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.
LABSCO SUMMARY
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.
A Linear client whose npm release covers 15 tools over issues, projects, teams, labels and users; the repository source defines 32.
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.
Add the configuration to your client
USE CASES
The team and project are read first because the issue has to name them, and the label goes on straight after so the new issue lands in the right triage view.
Search filters on team, project, assignee and state together, so an unassigned backlog in one team is one call. The update carries the assignee, the priority and the new state.
An identifier such as ABC-123 resolves directly without a search, and a comment can go back on the same issue in the next call.
A project is created with its state and the teams that own it in one call, which is the only structural change this surface allows.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
linear_addIssueLabelAdd a label to an issue in Linear
linear_createCommentAdd a comment to an issue in Linear
linear_createIssueCreate a new issue in Linear
linear_createProjectCreate a new project in Linear
linear_getIssueByIdGet a specific issue by ID or identifier (e.g., ABC-123)
linear_getIssuesGet a list of recent issues from Linear
linear_getLabelsGet a list of issue labels from Linear
linear_getOrganizationGet information about the current Linear organization
linear_getProjectsGet a list of projects from Linear
linear_getTeamsGet a list of teams from Linear
linear_getUsersGet a list of users in the Linear organization
linear_getViewerGet information about the currently authenticated user
linear_removeIssueLabelRemove a label from an issue in Linear
linear_searchIssuesSearch for issues with various filters
linear_updateIssueUpdate an existing issue in Linear
BEFORE YOU INSTALL
15 tools when we connected; the project documents 32. The only npm release, @emmett.deen/linear-mcp-server 1.0.0 (28 February 2025), ships these 15, and it is what the install commands fetch. The other 17, among them cycles, workflow states, assigning, archiving and transferring issues, exist only if you build from source.
CONTEXT COST
Rated by the size of the 32 documented tool definitions. A default launch registers 15, so what rides along on every turn is smaller than this rating suggests
INSTALLATION
{
"mcpServers": {
"linear": {
"command": "npx",
"args": [
"-y",
"@emmett.deen/linear-mcp-server"
],
"env": {
"LINEAR_API_KEY": "<YOUR_LINEAR_API_KEY>"
}
}
}
}npm install -g @emmett.deen/linear-mcp-server{
"mcpServers": {
"Linear MCP Server": {
"command": "linear-mcp-server",
"args": [
"--token",
"<YOUR_LINEAR_API_TOKEN>"
]
}
}
}