Linear MCP for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Linear MCP or direct API to create, update, assign, and comment on issues through natural language.
Trusted by
AWS
Glean
Zoom
Airtable

30 min · no commitment · see it on your stack

Linear Logo
Gradient Top
Gradient Middle
Gradient Bottom
divider

Try Linear now

Enter a prompt below to test the integration in our Tool Router playground. You'll be redirected to sign in and try it live.

Supported Tools and Triggers

Tools
Triggers
Create attachmentCreates a new attachment and associates it with a specific, existing Linear issue.
Add reaction to commentTool to add a reaction to an existing Linear comment.
Create a commentCreates a new comment on a specified Linear issue.
Create linear issueCreates a new issue in a specified Linear project and team, requiring team_id and title, and allowing optional properties like description, assignee, state, priority, cycle, and due date.
Create issue relationCreate a relationship between two Linear issues using the issueRelationCreate mutation.
Create a labelCreates a new label in Linear for a specified team, used to categorize and organize issues.
Create ProjectCreates a new Linear project with specified name and team associations.
Create Project MilestoneTool to create a project milestone in Linear with a name and optional target date and sort order.
Create Project UpdateTool to create a project status update post for a Linear project.
Delete issueArchives an existing Linear issue by its ID, which is Linear's standard way of deleting issues; the operation is idempotent.
Download issue attachmentsDownloads a specific attachment from a Linear issue; the `file_name` must include the correct file extension.
Get current userGets the currently authenticated user's ID, name, email, and other profile information — this is the account behind the API token, which may be a bot or service account rather than a human user.
Get cycles by team IDRetrieves all cycles for a specified Linear team ID; cycles are time-boxed work periods (like sprints).
Get create issue default paramsFetches a Linear team's default issue estimate and state, useful for pre-filling new issue forms.
Get Linear issueRetrieves an existing Linear issue's comprehensive details, including id, identifier, title, description, timestamps, state, team, creator, attachments, comments (with user info and timestamps, use issue.
Get Linear projectRetrieves a single Linear project by its unique identifier.
List issue draftsTool to list issue drafts.
List issues by team IDTool to list all issues for a specific Linear team, scoped by team ID.
Get all cyclesRetrieves all cycles (time-boxed sprint iterations) org-wide from the Linear account; no filters applied.
List Linear issuesLists non-archived Linear issues; if project_id is not specified, issues from all accessible projects are returned.
Get labelsRetrieves labels from Linear.
List linear projectsRetrieves all projects from the Linear account.
List Linear statesRetrieves all workflow states for a specified team in Linear, representing the stages an issue progresses through in that team's workflow.
Get teamsRetrieves all teams with their members and projects.
List Linear usersLists all workspace users (not team-scoped) with their IDs, names, emails, and active status.
Remove label from Linear issueRemoves a specified label from an existing Linear issue using their IDs; successful even if the label isn't on the issue.
Remove reaction from commentTool to remove a reaction on a comment.
Run Query or MutationExecute any GraphQL query or mutation against Linear's API.
Search Linear issuesSearch Linear issues using full-text search across identifier, title, and description.
Update issueUpdates an existing Linear issue using its `issue_id`; requires at least one other attribute for modification, and all provided entity IDs (for state, assignee, labels, etc.
Update a commentTool to update an existing Linear comment's body text.
Update ProjectTool to update an existing Linear project.
Python
TypeScript

Install Composio

python
pip install composio claude-agent-sdk
Install the Composio SDK and Claude Agent SDK

Create Tool Router Session

python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
Initialize the Composio client and create a Tool Router session

Connect to AI Agent

python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Linear tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Create a new Linear issue titled "Bug: Login page fails on submit" in the Web team project')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
Use the MCP server with your AI agent

Why Use Composio?

AI Native Linear Integration

  • Supports both Linear MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Linear data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Linear access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Linear
  • Scoped, least privilege access to Linear resources
  • Full audit trail of agent actions to support review and compliance

Frequently Asked Questions

Do I need my own developer credentials to use Linear with Composio?

No, you can get started immediately using Composio's built-in Linear app. For production, we recommend configuring your own OAuth credentials.

Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Used by agents from

Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai
Context
Letta
glean
HubSpot
Agent.ai
Altera
DataStax
Entelligence
Rolai

Never worry about agent reliability

We handle tool reliability, observability, and security so you never have to second-guess an agent action.