Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Linear MCP connector

OAuth 2.1/DCR Project ManagementDeveloper Tools

Connect to Linear's hosted MCP server to manage issues, projects, cycles, and comments directly from your AI workflows.

Linear MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'linearmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Linear MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'linearmcp_list_comments',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Search documentation — Search Linear’s documentation to learn about features and usage
  • Update save status — Create or update a project/initiative status update
  • Project save — Create or update a Linear project
  • Milestone save — Create or update a milestone in a Linear project
  • Issue save — Create or update a Linear issue
  • Document save — Create or update a Linear document

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

linearmcp_create_attachment # Deprecated fallback for tiny files only. Accepts base64 file content and uploads it through the MCP worker. Prefer prepare_attachment_upload plus direct PUT plus create_attachment_from_upload. 6 params

Deprecated fallback for tiny files only. Accepts base64 file content and uploads it through the MCP worker. Prefer prepare_attachment_upload plus direct PUT plus create_attachment_from_upload.

Name Type Required Description
base64Content string required Deprecated base64-encoded file content to upload
contentType string required MIME type for the upload (e.g., 'image/png', 'application/pdf')
filename string required Filename for the upload (e.g., 'screenshot.png')
issue string required Issue ID or identifier (e.g., LIN-123)
subtitle string optional Optional subtitle for the attachment
title string optional Optional title for the attachment
linearmcp_create_attachment_from_upload # Link an already-uploaded Linear assetUrl to an existing issue as an attachment. 4 params

Link an already-uploaded Linear assetUrl to an existing issue as an attachment.

Name Type Required Description
assetUrl string required Linear upload assetUrl returned by prepare_attachment_upload
issue string required Issue ID or identifier (e.g., LIN-123)
subtitle string optional Optional attachment subtitle
title string optional Attachment title. Defaults to filename or asset URL
linearmcp_create_issue_label # Create a new Linear issue label 6 params

Create a new Linear issue label

Name Type Required Description
name string required Label name
color string optional Hex color code for the label
description string optional Label description
isGroup boolean optional Whether this label is a group (container for other labels)
parent string optional Parent label group name
teamId string optional Team UUID to scope the label. Omit for workspace-level label.
linearmcp_delete_attachment # Delete an attachment by ID 1 param

Delete an attachment by ID

Name Type Required Description
id string required Attachment ID
linearmcp_delete_comment # Delete a Linear comment. 1 param

Delete a Linear comment.

Name Type Required Description
id string required Comment ID
linearmcp_delete_status_update # Delete (archive) a project or initiative status update. 2 params

Delete (archive) a project or initiative status update.

Name Type Required Description
id string required Status update ID to delete
type string required Type of status update — project or initiative
linearmcp_extract_images # Extract and fetch images from markdown content. Use this to view screenshots, diagrams, or other images embedded in Linear issues, comments, or documents. 1 param

Extract and fetch images from markdown content. Use this to view screenshots, diagrams, or other images embedded in Linear issues, comments, or documents.

Name Type Required Description
markdown string required Markdown content containing image references
linearmcp_get_attachment # Retrieve an attachment's content by ID. 1 param

Retrieve an attachment's content by ID.

Name Type Required Description
id string required Attachment ID
linearmcp_get_diff # Exact lookup for a Linear diff. Use with review URLs, GitHub PR URLs, Linear full identifiers, UUIDs, or slugs. 1 param

Exact lookup for a Linear diff. Use with review URLs, GitHub PR URLs, Linear full identifiers, UUIDs, or slugs.

Name Type Required Description
urlOrId string required Linear review URL, diff slug, pull request ID, Linear full identifier, or GitHub PR URL
linearmcp_get_diff_threads # Exact lookup for diff threads. Use with review URLs, GitHub PR URLs, Linear full identifiers, UUIDs, or slugs. 4 params

Exact lookup for diff threads. Use with review URLs, GitHub PR URLs, Linear full identifiers, UUIDs, or slugs.

Name Type Required Description
urlOrId string required Linear review URL, diff slug, pull request ID, Linear full identifier, or GitHub PR URL
orderBy string optional Sort: createdAt | updatedAt
resolved boolean optional Filter returned threads by resolved state
threadId string optional Optional top-level thread/comment ID to return
linearmcp_get_document # Retrieve a Linear document by ID or slug 1 param

Retrieve a Linear document by ID or slug

Name Type Required Description
id string required Document ID or slug
linearmcp_get_issue # Retrieve detailed information about an issue by ID, including attachments and git branch name 4 params

Retrieve detailed information about an issue by ID, including attachments and git branch name

Name Type Required Description
id string required Issue ID or identifier (e.g., LIN-123)
includeCustomerNeeds boolean optional Include associated customer needs
includeRelations boolean optional Include blocking/related/duplicate relations
includeReleases boolean optional Include associated releases
linearmcp_get_issue_status # Retrieve detailed information about an issue status in Linear by name or ID 3 params

Retrieve detailed information about an issue status in Linear by name or ID

Name Type Required Description
id string required Status ID
name string required Status name
team string required Team name or ID
linearmcp_get_milestone # Retrieve details of a specific milestone by ID or name 2 params

Retrieve details of a specific milestone by ID or name

Name Type Required Description
project string required Project name, ID, or slug
query string required Milestone name or ID
linearmcp_get_project # Retrieve details of a specific project in Linear 4 params

Retrieve details of a specific project in Linear

Name Type Required Description
query string required Project name, ID, or slug
includeMembers boolean optional Include members in the response
includeMilestones boolean optional Include milestones in the response
includeResources boolean optional Include resources (documents, links, attachments)
linearmcp_get_status_updates # List or get project/initiative status updates. Pass id to get a specific update, or filter to list. 11 params

List or get project/initiative status updates. Pass id to get a specific update, or filter to list.

Name Type Required Description
type string required Type of status update — project or initiative
createdAt string optional Return updates created after this ISO-8601 duration (e.g. P7D for last 7 days)
cursor string optional Pagination cursor from the previous response
id string optional Status update ID — returns the specific update if provided
includeArchived boolean optional Include archived status updates
initiative string optional Initiative name or ID to filter by
limit number optional Maximum number of status updates to return
orderBy string optional Field to order results by
project string optional Project name, ID, or slug to filter by
updatedAt string optional Return updates modified after this ISO-8601 duration (e.g. P7D for last 7 days)
user string optional User ID, name, email, or 'me' to filter by author
linearmcp_get_team # Retrieve details of a specific Linear team 1 param

Retrieve details of a specific Linear team

Name Type Required Description
query string required Team UUID, key, or name
linearmcp_get_user # Retrieve details of a specific Linear user 1 param

Retrieve details of a specific Linear user

Name Type Required Description
query string required User ID, name, email, or 'me' for the authenticated user
linearmcp_list_comments # List comments on a Linear issue, project, initiative, document, or project milestone. Provide exactly one of issueId, projectId, initiativeId, documentId, or milestoneId. 8 params

List comments on a Linear issue, project, initiative, document, or project milestone. Provide exactly one of issueId, projectId, initiativeId, documentId, or milestoneId.

Name Type Required Description
cursor string optional Next page cursor
documentId string optional Document ID or slug (provide exactly one parent)
initiativeId string optional Initiative name or ID (provide exactly one parent)
issueId string optional Issue ID or identifier (e.g., LIN-123) (provide exactly one parent)
limit number optional Max results (default 50, max 250)
milestoneId string optional Milestone UUID (provide exactly one parent)
orderBy string optional Sort: createdAt | updatedAt
projectId string optional Project name, ID, or slug (provide exactly one parent)
linearmcp_list_cycles # Retrieve cycles for a specific Linear team 2 params

Retrieve cycles for a specific Linear team

Name Type Required Description
teamId string required Team ID
type string optional Filter: current, previous, next, or all
linearmcp_list_diffs # List Linear diff pull requests visible to the authenticated user 7 params

List Linear diff pull requests visible to the authenticated user

Name Type Required Description
cursor string optional Next page cursor
limit number optional Max results (default 50, max 250)
orderBy string optional Sort: createdAt | updatedAt
owner string optional Filter by repository owner
query string optional Broad search by title, branch, PR number, or bare slug
repo string optional Filter by repository name
status string optional Filter by pull request status
linearmcp_list_documents # List documents in the user's Linear workspace 11 params

List documents in the user's Linear workspace

Name Type Required Description
createdAt string optional Created after: ISO-8601 date/duration (e.g., -P1D)
creatorId string optional Filter by creator user ID
cursor string optional Next page cursor
includeArchived boolean optional Include archived documents
initiativeId string optional Filter by initiative ID
limit number optional Max results (default 50, max 250)
orderBy string optional Sort: createdAt | updatedAt
projectId string optional Filter by project ID
query string optional Search document title or content
teamId string optional Filter by team ID
updatedAt string optional Updated after: ISO-8601 date/duration (e.g., -P1D)
linearmcp_list_issue_labels # List available issue labels in a Linear workspace or team 5 params

List available issue labels in a Linear workspace or team

Name Type Required Description
cursor string optional Next page cursor
limit number optional Max results (default 50, max 250)
name string optional Filter labels by name
orderBy string optional Sort: createdAt | updatedAt
team string optional Team name or ID
linearmcp_list_issue_statuses # List available issue statuses in a Linear team 1 param

List available issue statuses in a Linear team

Name Type Required Description
team string required Team name or ID
linearmcp_list_issues # List issues in the user's Linear workspace. For my issues, use "me" as the assignee. Use "null" for no assignee. 16 params

List issues in the user's Linear workspace. For my issues, use "me" as the assignee. Use "null" for no assignee.

Name Type Required Description
assignee string optional User ID, name, email, or "me"
createdAt string optional Created after: ISO-8601 date/duration (e.g., -P1D)
cursor string optional Next page cursor
cycle string optional Cycle name, number, or ID
delegate string optional Agent name or ID
includeArchived boolean optional Include archived items
label string optional Label name or ID
limit number optional Max results (default 50, max 250)
orderBy string optional Sort: createdAt | updatedAt
parentId string optional Parent issue ID or identifier (e.g., LIN-123)
priority number optional 0=None, 1=Urgent, 2=High, 3=Medium, 4=Low
project string optional Project name, ID, or slug
query string optional Search issue title or description
state string optional State type, name, or ID
team string optional Team name or ID
updatedAt string optional Updated after: ISO-8601 date/duration (e.g., -P1D)
linearmcp_list_milestones # List all milestones in a Linear project 1 param

List all milestones in a Linear project

Name Type Required Description
project string required Project name, ID, or slug
linearmcp_list_project_labels # List available project labels in the Linear workspace 4 params

List available project labels in the Linear workspace

Name Type Required Description
cursor string optional Next page cursor
limit number optional Max results (default 50, max 250)
name string optional Filter by name
orderBy string optional Sort: createdAt | updatedAt
linearmcp_list_projects # List projects in the user's Linear workspace 14 params

List projects in the user's Linear workspace

Name Type Required Description
createdAt string optional Created after: ISO-8601 date/duration (e.g., -P1D)
cursor string optional Next page cursor
includeArchived boolean optional Include archived projects
includeMembers boolean optional Include project members in results
includeMilestones boolean optional Include project milestones in results
initiative string optional Filter by initiative name or ID
label string optional Filter by label name or ID
limit number optional Max results (default 50, max 50)
member string optional Filter by member: user ID, name, email, or 'me'
orderBy string optional Sort: createdAt | updatedAt
query string optional Search project name
state string optional Filter by project state
team string optional Filter by team name or ID
updatedAt string optional Updated after: ISO-8601 date/duration (e.g., -P1D)
linearmcp_list_teams # List teams in the user's Linear workspace 7 params

List teams in the user's Linear workspace

Name Type Required Description
createdAt string optional Created after ISO-8601
cursor string optional Next page cursor
includeArchived boolean optional Include archived teams
limit number optional Max results (default 50, max 250)
orderBy string optional Sort: createdAt | updatedAt
query string optional Search query
updatedAt string optional Updated after ISO-8601
linearmcp_list_users # Retrieve users in the Linear workspace 5 params

Retrieve users in the Linear workspace

Name Type Required Description
cursor string optional Pagination cursor from the previous response
limit number optional Maximum number of users to return
orderBy string optional Field to order results by
query string optional Filter by name or email
team string optional Team name or ID to filter users
linearmcp_prepare_attachment_upload # Prepare a direct Linear file upload for an existing issue. Workflow: 1. Call this with issue, filename, contentType, and size. 2. Upload raw bytes with PUT to uploadRequest.url. 3. After PUT succeeds, call create_attachment_from_upload with assetUrl. 6 params

Prepare a direct Linear file upload for an existing issue. Workflow: 1. Call this with issue, filename, contentType, and size. 2. Upload raw bytes with PUT to uploadRequest.url. 3. After PUT succeeds, call create_attachment_from_upload with assetUrl.

Name Type Required Description
contentType string required MIME type, e.g. image/png or application/pdf
filename string required Filename for the upload, e.g. screenshot.png
issue string required Issue ID or identifier (e.g., LIN-123)
size integer required Exact file size in bytes. Must be smaller than 2 GB.
subtitle string optional Suggested attachment subtitle for the finalize step
title string optional Suggested attachment title for the finalize step
linearmcp_save_comment # Create or update a comment on a Linear issue, project, initiative, document, or project milestone. If id is provided, updates the existing comment; otherwise creates a new one. 8 params

Create or update a comment on a Linear issue, project, initiative, document, or project milestone. If id is provided, updates the existing comment; otherwise creates a new one.

Name Type Required Description
body string required Content as Markdown. Use literal newlines and special characters.
documentId string optional Document ID or slug (provide exactly one parent)
id string optional Comment ID. If provided, updates the existing comment
initiativeId string optional Initiative name or ID (provide exactly one parent)
issueId string optional Issue ID or identifier (e.g., LIN-123) (provide exactly one parent)
milestoneId string optional Milestone UUID (provide exactly one parent)
parentId string optional Parent comment ID (for replies)
projectId string optional Project name, ID, or slug (provide exactly one parent)
linearmcp_save_document # Create or update a Linear document. If id is provided, updates the existing document; otherwise creates a new one. When creating, title is required and exactly one parent (project, issue, initiative, cycle, or team) must be specified. 10 params

Create or update a Linear document. If id is provided, updates the existing document; otherwise creates a new one. When creating, title is required and exactly one parent (project, issue, initiative, cycle, or team) must be specified.

Name Type Required Description
color string optional Hex color for the document
content string optional Document content as Markdown
cycle string optional Cycle name, number, or ID to attach the document to
icon string optional Icon name or emoji code for the document
id string optional Document ID or slug to update. Omit to create.
initiative string optional Initiative name or ID to attach the document to
issue string optional Issue ID or identifier to attach the document to (e.g. LIN-123)
project string optional Project name or ID to attach the document to
team string optional Team name or ID to attach the document to
title string optional Document title (required when creating)
linearmcp_save_issue # Create or update a Linear issue. If id is provided, updates the existing issue; otherwise creates a new one. When creating, title and team are required. 23 params

Create or update a Linear issue. If id is provided, updates the existing issue; otherwise creates a new one. When creating, title and team are required.

Name Type Required Description
assignee string optional User ID, name, email, or 'me'. Pass null to remove assignee.
blockedBy array optional Issue IDs that are blocking this issue
blocks array optional Issue IDs this issue blocks
cycle string optional Cycle name, number, or ID. Pass null to remove from cycle.
delegate string optional Agent name or ID. Pass null to remove delegate.
description string optional Issue description as Markdown
dueDate string optional Due date in ISO format
duplicateOf string optional Issue ID this is a duplicate of. Pass null to remove.
estimate number optional Issue estimate value
id string optional Only for updating. Issue ID or identifier (e.g., LIN-123). Do NOT pass when creating.
labels array optional Label names or IDs to apply to the issue
links array optional Link attachments to add to the issue [{url, title}]
milestone string optional Milestone name or ID
parentId string optional Parent issue ID or identifier. Pass null to remove parent.
priority number optional 0=None, 1=Urgent, 2=High, 3=Medium, 4=Low
project string optional Project name, ID, or slug
relatedTo array optional Related issue IDs
removeBlockedBy array optional Blocker issue IDs to remove
removeBlocks array optional Issue IDs to stop blocking
removeRelatedTo array optional Related issue IDs to remove
state string optional State type, name, or ID
team string optional Team name or ID (required when creating)
title string optional Issue title (required when creating)
linearmcp_save_milestone # Create or update a milestone in a Linear project. If id is provided, updates the existing milestone; otherwise creates a new one. When creating, name is required. 5 params

Create or update a milestone in a Linear project. If id is provided, updates the existing milestone; otherwise creates a new one. When creating, name is required.

Name Type Required Description
project string required Project name, ID, or slug
description string optional Milestone description
id string optional Milestone name or ID. If provided, updates existing
name string optional Milestone name (required when creating)
targetDate string optional Target completion date (ISO format, null to remove)
linearmcp_save_project # Create or update a Linear project. If id is provided, updates the existing project; otherwise creates a new one. When creating, name and at least one team are required. 20 params

Create or update a Linear project. If id is provided, updates the existing project; otherwise creates a new one. When creating, name and at least one team are required.

Name Type Required Description
addInitiatives array optional Initiative names/IDs to add
addTeams array optional Team name or ID to add
color string optional Hex color
description string optional Content as Markdown
icon string optional Icon name or emoji code
id string optional Project ID. If provided, updates existing
labels array optional Label names or IDs
lead string optional User ID, name, email, or 'me'. Null to remove
name string optional Project name (required when creating)
priority integer optional 0=None, 1=Urgent, 2=High, 3=Medium, 4=Low
removeInitiatives array optional Initiative names/IDs to remove
removeTeams array optional Team name or ID to remove
setInitiatives array optional Replace all initiatives with these
setTeams array optional Replace all teams with these
startDate string optional Start date (ISO format)
startDateResolution string optional Start date resolution
state string optional Project state
summary string optional Short summary (max 255 chars)
targetDate string optional Target date (ISO format)
targetDateResolution string optional Target date resolution
linearmcp_save_status_update # Create or update a project/initiative status update. Omit id to create, provide id to update. 7 params

Create or update a project/initiative status update. Omit id to create, provide id to update.

Name Type Required Description
type string required Type of status update — project or initiative
body string optional Content of the status update as Markdown
health string optional Health status of the project or initiative
id string optional Status update ID — if provided, updates this existing update instead of creating a new one
initiative string optional Initiative name or ID
isDiffHidden boolean optional Deprecated. Hide the diff with the previous update
project string optional Project name, ID, or slug
linearmcp_search_documentation # Search Linear's documentation to learn about features and usage 2 params

Search Linear's documentation to learn about features and usage

Name Type Required Description
query string required Search query to find relevant documentation
page number optional Page number for paginated results