productivity
Linear MCP Integration for Generic MCP Clients
Connect Linear to Generic MCP Clients through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Linear to Generic MCP Clients
Connect any stdio-compatible MCP client to local KosmoKrator integration tools.
Register kosmo mcp:serve as the command for a local stdio MCP server. The gateway is local, scoped to this integration, and starts with
--write=deny so MCP clients can inspect read-capable tools without receiving write access by default.
Linear MCP Config for Generic MCP Clients
Start with read-only write policy and expand only for trusted projects.
{
"mcpServers": {
"kosmokrator-linear": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=linear",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=linear --write=deny Why Use KosmoKrator Here
Expose only Linear instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Linear Tools Visible to MCP clients
MCP clients sees stable MCP tool names generated from the Linear integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__linear__linear_create_issue | linear.linear_create_issue | Write | Create a new issue in Linear. Requires a team ID and title. Optionally set description, priority (0=none, 1=urgent, 2=high, 3=medium, 4=low), assignee, labels, and initial state. Use linear_get_teams to find team IDs. |
integration__linear__linear_get_issue | linear.linear_get_issue | Read | Get a single Linear issue by ID or identifier (e.g., "TEAM-123"). Returns full details including description, state, assignee, labels, team info, and comments. |
integration__linear__linear_update_issue | linear.linear_update_issue | Write | Update an existing Linear issue. Provide the issue ID or identifier and any fields to change. Only specified fields will be updated. Priority: 0=none, 1=urgent, 2=high, 3=medium, 4=low. |
integration__linear__linear_search_issues | linear.linear_search_issues | Read | Search Linear issues using filter criteria. Supports filtering by text query, team, state name, assignee, and priority. Returns matching issues with pagination info. |
integration__linear__linear_list_issues | linear.linear_list_issues | Read | List issues for a specific Linear team. Supports filtering by status, assignee, and cursor-based pagination. Use linear_get_teams to find team IDs. |
integration__linear__linear_delete_issue | linear.linear_delete_issue | Write | Delete a Linear issue by ID or identifier. This action is irreversible. |
integration__linear__linear_create_comment | linear.linear_create_comment | Write | Add a comment to a Linear issue. Supports markdown formatting. Provide the issue ID or identifier and the comment body. |
integration__linear__linear_list_comments | linear.linear_list_comments | Read | List all comments on a Linear issue, ordered chronologically. Provide the issue ID or identifier. |
integration__linear__linear_get_teams | linear.linear_get_teams | Read | Get all Linear teams the authenticated user has access to, including team name, key, description, and member list. Use this to discover team IDs needed for other tools. |
integration__linear__linear_list_projects | linear.linear_list_projects | Read | List Linear projects with optional cursor-based pagination. Returns project details including state, dates, lead, and associated teams. |
integration__linear__linear_create_project | linear.linear_create_project | Write | Create a new Linear project. Requires a name and at least one team ID. Optionally set description, lead, and target dates. Use linear_get_teams to find team IDs. |
integration__linear__linear_update_project | linear.linear_update_project | Write | Update a Linear project. Provide the project ID and any fields to change. Only specified fields will be updated. |
integration__linear__linear_list_initiatives | linear.linear_list_initiatives | Read | List Linear initiatives with optional limit. Returns initiative details including state, dates, and associated projects. |
integration__linear__linear_create_initiative | linear.linear_create_initiative | Write | Create a new Linear initiative. Initiatives group related projects together. Requires a name. Optionally include a description. |
integration__linear__linear_list_labels | linear.linear_list_labels | Read | List issue labels in Linear. Optionally filter by team. Returns label ID, name, color, and description. |
integration__linear__linear_add_label | linear.linear_add_label | Write | Add a label to a Linear issue. Provide the issue ID or identifier and the label ID to add. The label will be appended to existing labels. Use linear_list_labels to find label IDs. |
integration__linear__linear_remove_label | linear.linear_remove_label | Write | Remove a label from a Linear issue. Provide the issue ID or identifier and the label ID to remove. Other labels on the issue are preserved. |
integration__linear__linear_get_current_user | linear.linear_get_current_user | Read | Get the currently authenticated Linear user's profile, including ID, name, email, and avatar URL. |
integration__linear__linear_list_workflows | linear.linear_list_workflows | Read | List workflow states for a Linear team. Shows all available statuses (e.g., Backlog, Todo, In Progress, Done) with their IDs, types, and colors. Optionally filter by team ID. |
integration__linear__linear_raw_query | linear.linear_raw_query | Read | Execute an arbitrary GraphQL query or mutation against the Linear API. Provide a GraphQL document and optional variables as JSON. Use this for advanced operations not covered by other tools. |