linear-mcp
Provides tools for interacting with Linear's API, enabling AI agents to manage issues, projects, teams, comments, cycles, and more programmatically through the Linear platform.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@linear-mcpShow my open issues in team ENG"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
linear-mcp
A Linear MCP server for Dedalus.
Prerequisites
Python 3.11+
A Linear workspace
Related MCP server: mcp-server-linear
Setup
cd linear-mcp
cp .env.example .env # then fill in your values
uv syncEnvironment variables
Linear uses OAuth2 for authentication. The Dedalus platform (DAuth) handles the
OAuth flow. The MCP server declares the secret name it needs (e.g. LINEAR_ACCESS_TOKEN).
OAuth provider configuration (consumed by the Dedalus platform):
Variable | Description |
|
|
|
|
|
|
| Your Linear OAuth app client ID |
| Your Linear OAuth app client secret |
|
|
|
|
Dedalus client configuration (for _client.py testing):
Variable | Description |
| Your Dedalus API key ( |
| Defaults to |
| Defaults to |
Run the server
uv run src/main.pyTest locally
uv run src/_client.pyThis opens an interactive agent loop. On first use, DAuth will prompt you to complete the Linear OAuth flow in your browser.
Lint and typecheck
uv run --group lint ruff format src/
uv run --group lint ruff check src/ --fix
uv run --group lint ty check src/Available tools
Tool | R/W | Description |
| R | Get issue by ID or identifier (ENG-123) |
| R | List issues with filters |
| W | Create a new issue |
| W | Update an existing issue |
| R | List comments on an issue |
| W | Add a comment to an issue |
| R | Get project by ID |
| R | List projects |
| W | Create a new project |
| W | Update an existing project |
| R | List cycles for a team |
| R | Get a cycle by ID |
| R | Get the current active cycle for a team |
| R | List all teams |
| R | Get a team by ID |
| R | List workflow states (statuses) for a team |
| R | Get authenticated user profile |
| R | List workspace members |
| R | List labels |
| W | Create a new label |
| R | Full-text search across issues |
21 tools (14 read, 7 write)
Architecture
Linear uses a single GraphQL endpoint (POST /graphql) for all operations. The
request layer in src/linear/request.py dispatches queries through Dedalus's HTTP
enclave, which injects OAuth credentials transparently.
src/
├── linear/
│ ├── config.py # Connection definition (OAuth)
│ ├── request.py # GraphQL dispatch + coercion helpers
│ └── types.py # Typed dataclass models
├── tools/
│ ├── issues.py # Issue CRUD
│ ├── comments.py # Comment operations
│ ├── projects.py # Project CRUD
│ ├── cycles.py # Cycle queries
│ ├── teams.py # Team + workflow states
│ ├── users.py # User queries
│ ├── labels.py # Label operations
│ └── search.py # Issue search
├── server.py # MCPServer setup
├── main.py # Entry point
└── _client.py # Interactive agent loop (DAuth)Notes
Linear's API is GraphQL-only. Every tool dispatches a GraphQL query or mutation.
Workflow states (statuses) vary per team. Use
linear_list_team_statesto discover valid state IDs before creating or transitioning issues.Issue identifiers (e.g.
ENG-123) can be used interchangeably with UUIDs in most tools.Priority values: 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
Archived resources are hidden by default. Some tools accept
include_archivedto surface them.Authentication uses OAuth2 via DAuth. Personal API keys are not supported in this server.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Linear project management and issue tracking
Linear MCP — wraps the Linear GraphQL API (OAuth)
An MCP server that provides access to Testiny projects, test cases and test runs
Search, read and create Linear issues, projects, teams and cycles.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server for managing Linear issues, projects, teams, and milestones through the Model Context Protocol. It enables users to create, update, and list workspace resources including issue statuses, comments, and user details.7 npmISC
- AlicenseBqualityFmaintenanceMCP server for accessing and managing Linear resources like issues, projects, and comments with full CRUD operations and search.2155 npm1MIT
- AlicenseNot gradedqualityFmaintenanceMCP server for Linear that allows creating issues, adding comments, and listing issues and teams.11 npm4MIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing tools to manage Linear projects and issues, including creation, listing, viewing details, and deletion, as well as team and user info retrieval.586 npmMIT