productivity
Linear MCP Integration for Claude Agent SDK
Connect Linear to Claude Agent SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Linear to Claude Agent SDK
Give Claude Agent SDK workflows access to KosmoKrator integrations through a local MCP server.
Add a KosmoKrator stdio MCP server to the Claude Agent SDK options. The gateway is local, scoped to this integration, and starts with
--write=deny so Claude Agent SDK can inspect read-capable tools without receiving write access by default.
Linear MCP Config for Claude Agent SDK
Use a narrow integration list so the agent does not load unrelated tools.
{
"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 Claude Agent SDK
Claude Agent SDK 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. |