
Linear MCP
https://github.com/cline/linear-mcp- Category
- AI Agents
- Rank
- No. 1603Tools index
Previous survey · No. 1611 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- cline
- GitHub
- 134 stars
- Date
About
Private MCP server for Linear — give Cline, Claude, and other agents native access to your Linear workspace.
What it does
Linear MCP turns structured assistant requests into Linear operations over a standard input and output connection. It exposes tools for creating, searching, updating, and deleting issues, working with projects and milestones, reading teams and users, and handling comments. Underneath, typed TypeScript handlers send GraphQL queries and mutations through Linear’s SDK.
Why it's ranked here
Its practical scope is broad enough for real issue-tracking workflows, including batch creation, threaded comments, pagination-aware searches, rich project descriptions, and milestone operations. The architecture separates protocol handling, authentication, domain handlers, and GraphQL access. However, the documented authentication story is unfinished, and several performance, security, and metadata features remain under development.
What's good
Issue work goes beyond basic creation. The server supports filtered searches, cursor pagination, bulk creation and deletion, project association, parent-child relationships, and threaded comments. Project reads prefer rich document content while retaining the legacy description as a fallback. Shared authentication checks, parameter validation, error conversion, and typed operation models reduce duplication across feature handlers.
Tradeoffs
API keys are the dependable authentication path. The README explicitly marks OAuth as unimplemented, even though partial authorization, token exchange, and refresh code exists. Bulk updates still need testing. Complex filters, label management, rate limiting, detailed logging, load testing, and optimization are described as unfinished. Installation requires cloning, installing dependencies, compiling TypeScript, and configuring a local Node command.
How to use it well
Use it when an MCP client needs to turn planning conversations into concrete Linear issues, projects, comments, team lookups, or milestone changes. It fits developer-controlled environments where a personal API key and local Node process are acceptable. Keep destructive issue actions behind explicit approval. Choose another integration when you require finished OAuth onboarding, managed hosting, mature rate controls, or complete label and cycle administration.
Technical notes+
src/index.ts creates an MCP Server, registers ListToolsRequestSchema and CallToolRequestSchema, and connects through StdioServerTransport. src/core/types/tool.types.ts defines the exposed schemas, while src/core/handlers/handler.factory.ts dispatches names to feature handlers. src/graphql/client.ts wraps Linear SDK rawRequest calls and dynamically imports operations from src/graphql/queries.ts and src/graphql/mutations.ts. src/auth.ts implements API-key initialization plus partial OAuth exchange and refresh logic, despite README.md marking OAuth unimplemented. A notable wiring risk is that HandlerFactory receives the initial optional GraphQL client; authenticating through OAuth later does not visibly replace that dependency. Also, src/core/handlers/base.handler.ts calls refreshAPIKey() without awaiting it.
Observed
- License
- ISC
- Primary language
- TypeScript using ECMAScript modules
- Install surface
- Clone the source, install dependencies with npm, compile with the TypeScript compiler, then start with Node
- Interface
- MCP tool server over standard input and output
- Upstream access
- Linear SDK with GraphQL queries and mutations
- Client configuration
- README provides Cline setup locations for macOS, Windows, and Linux
- Testing
- Jest scripts cover unit, coverage, watch, and API-key-dependent integration testing
Read from README.md, package.json, src/index.ts, src/auth.ts, src/types.ts, src/graphql/client.ts, src/graphql/queries.ts, src/graphql/mutations.ts, src/types/linear-sdk-mock.d.ts, src/core/types/tool.types.ts, src/core/handlers/base.handler.ts, src/core/handlers/handler.factory.ts, src/core/interfaces/tool-handler.interface.ts, src/features/teams/types/team.types.ts, src/features/users/types/user.types.ts.
What it can do
Connect AI agents to Linear workspace
Linear workspace credentials and MCP server configuration → Authenticated connection between agents and Linear
Retrieve Linear issues and tickets
Issue IDs, filters, or search queries → Issue data including titles, descriptions, status, and metadata
Create new Linear issues
Issue title, description, assignee, labels, and project details → New Linear issue with generated ID and confirmation
Update existing Linear issues
Issue ID and modified fields (status, assignee, description, etc.) → Updated issue with changed properties
Query Linear project data
Project names, IDs, or filters → Project information, timelines, and associated issues
Access Linear team and user information
Team names, user IDs, or workspace queries → Team member details, roles, and assignments
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.