KosmoKrator

productivity

Linear MCP Integration for Claude Code

Connect Linear to Claude Code through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.

20 functions 11 read 9 write API key auth

Connect Linear to Claude Code

Connect local KosmoKrator integrations to Claude Code through one scoped MCP gateway entry.

Add KosmoKrator as a stdio MCP server in the Claude Code project config and select the integrations that should be visible. The gateway is local, scoped to this integration, and starts with --write=deny so Claude Code can inspect read-capable tools without receiving write access by default.

Linear MCP Config for Claude Code

Claude Code can launch the local kosmo binary directly from the project MCP config.

{
  "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

Scoped tools

Expose only Linear instead of a broad multi-service tool list.

Local credentials

Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.

Write policy

Start read-only, then opt into ask or allow for trusted workspaces.

Linear Tools Visible to Claude Code

Claude Code sees stable MCP tool names generated from the Linear integration catalog.

MCP toolSource functionTypeDescription
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.

Related Linear Pages