Linear Issues MCP Server
Provides read-only access to Linear issues, allowing fetching of issue details and comments using a Linear API token.
Click on "Install 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 Issues MCP Serverget details for issue ENG-456 including all comments"
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 Issues MCP Server
This is a simple MCP (Model Context Protocol) server that provides read-only access to Linear issues. It allows language models to fetch Linear issues and their associated data using a Linear API token.
Features
The server provides two tools:
linear_get_issue: Fetches basic details about a Linear issue by URL or identifierlinear_get_issue_with_comments: Fetches complete information about a Linear issue including all comments
Related MCP server: Linear MCP Server
Requirements
Node.js
A Linear API token or OAuth access token
Installation
No installation is needed if you use npx. Just make sure you have Node.js and npm installed.
Getting a Linear API Token
You can obtain a Linear API token in two ways:
API Key (simplest): Generate an API key in your Linear API settings
OAuth Token: For more advanced use cases or user-specific access
Follow the OAuth flow to get a user access token
Usage with Claude for Desktop
To use this MCP server with Claude for Desktop:
Make sure you have your Linear API token ready
Add the server to your Claude for Desktop configuration at:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%AppData%\Claude\claude_desktop_config.json
Example configuration:
{
"mcpServers": {
"linear-issues": {
"command": "npx",
"args": ["-y", "@keegancsmith/linear-issues-mcp-server"],
"env": {
"LINEAR_API_TOKEN": "your_linear_api_token_here"
}
}
}
}Restart Claude for Desktop
Example Usage
Once the server is set up, you can use it in Claude to interact with Linear issues:
Can you get me the details for issue ENG-123?Claude will use the linear_get_issue tool with your issue ID, accessing the token from environment variables.
What are all the comments on the issue at https://linear.app/company/issue/ENG-123/issue-title?Claude can use linear_get_issue_with_comments to fetch the full issue details including comments.
License
MIT
Available Tools
2 toolslinear_get_issueB
Fetch details of a single Linear issue by providing its URL or identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| issue | Yes | Linear issue URL or identifier (e.g., 'ENG-123' or 'https://linear.app/team/issue/ENG-123/issue-title') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool fetches details, implying a read-only operation, but doesn't mention potential behaviors like error handling, authentication requirements, rate limits, or what happens with invalid inputs. This leaves significant gaps for an agent to understand how to use it effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the core functionality without any unnecessary words. It is front-loaded with the main action and appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and input but lacks details on behavioral aspects like error cases or output format, which are important for an agent to use the tool correctly without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'issue' fully documented in the schema. The description adds minimal value by reiterating the input requirement but doesn't provide additional semantics beyond what the schema already covers, such as examples of valid identifiers or URL formats not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('fetch') and resource ('details of a single Linear issue'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from its sibling tool 'linear_get_issue_with_comments', which likely fetches issue details with additional comment data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the required input ('by providing its URL or identifier'), but it doesn't provide explicit guidance on when to use this tool versus its sibling or other alternatives. No context about when-not-to-use or comparisons are included.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linear_get_issue_with_commentsC
Fetch a Linear issue with all its comments and complete information.
| Name | Required | Description | Default |
|---|---|---|---|
| issue | Yes | Linear issue URL or identifier (e.g., 'ENG-123' or 'https://linear.app/team/issue/ENG-123/issue-title') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a fetch operation (implying read-only) and mentions it returns comments and complete information, but doesn't address authentication requirements, rate limits, error conditions, or what 'complete information' specifically includes beyond comments. This leaves significant gaps for a tool that presumably accesses external data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately communicates the core functionality. Every word serves a purpose - 'Fetch' establishes the action, 'Linear issue' specifies the resource, and 'with all its comments and complete information' clarifies the scope. No wasted words or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that fetches external data with no annotations and no output schema, the description is insufficient. It doesn't explain what authentication is needed, how errors are handled, what format the returned data takes, or what 'complete information' encompasses. The agent would be left guessing about important operational aspects of this data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'issue' well-documented in the schema as accepting URLs or identifiers. The description doesn't add any parameter-specific information beyond what the schema already provides, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Fetch') and resource ('Linear issue'), specifying it includes 'all its comments and complete information'. This distinguishes it from the sibling tool 'linear_get_issue' which presumably lacks comments, though the distinction isn't explicitly stated in the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The existence of sibling tool 'linear_get_issue' suggests there are multiple ways to retrieve issues, but the description doesn't explain when to choose this comprehensive version over the basic one or other potential options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have overlapping purposes, as both fetch Linear issues, with the second tool adding comments. An agent could easily misselect between them when only basic issue details are needed, since the descriptions don't clearly differentiate when to use each beyond the comment inclusion. This creates ambiguity in tool selection for common workflows.
Both tools follow a consistent naming pattern with the prefix 'linear_get_issue' and descriptive suffixes ('', '_with_comments'), using snake_case uniformly. The naming is predictable and clearly indicates the domain and action, making it easy for agents to understand the tool set's structure.
With only 2 tools, this server feels severely under-scoped for managing Linear issues, a domain that typically requires CRUD operations like create, update, delete, search, and list. The limited tool count suggests incomplete coverage, making it difficult for agents to perform basic tasks beyond fetching issues.
The tool surface is severely incomplete for a Linear issues server, lacking essential operations such as creating, updating, deleting, listing, or searching issues. Agents will encounter dead ends when trying to perform common workflows, as the tools only support fetching issue details with or without comments, leaving major gaps in functionality.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Linear project management and issue tracking
Linear MCP — wraps the Linear GraphQL API (OAuth)
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol server that enables AI assistants to interact with Linear project management systems, allowing users to retrieve, create, and update issues, projects, and teams through natural language.1984,856146MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables large language models to interact with Linear's issue tracking system, allowing management of issues, projects, teams, and other Linear resources.19241MIT
- 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.22ISC
- AlicenseBqualityCmaintenanceAn MCP server that integrates with Linear's API, enabling users to manage issues, projects, teams, and comments through natural language. It supports creating, updating, deleting, and searching issues, as well as project and team management.252,486MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/keegancsmith/linear-issues-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server