Linear MCP Server
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation5/5
Each tool has a clearly distinct purpose: add_comment, create_issue, get_user_issues, search_issues, and update_issue target specific operations with no overlap. The descriptions reinforce these distinctions, making misselection unlikely.
Naming Consistency5/5All tools follow a consistent 'linear_verb_noun' pattern (e.g., linear_add_comment, linear_create_issue). This predictable naming scheme enhances readability and agent usability without any deviations.
Tool Count4/5With 5 tools, the count is reasonable for a Linear issue management server, covering core operations. It feels slightly thin but not inadequate, as key functions like create, read, update, and search are present.
Completeness4/5The toolset covers essential CRUD operations for Linear issues (create, get, update, comment) and includes search functionality. Minor gaps exist, such as no delete_issue or list_teams tools, but agents can manage core workflows effectively.
Average 3.3/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under Apache 2.0.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
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 creates an issue (implying a write/mutation operation) but doesn't mention authentication requirements, rate limits, error conditions, or what happens on success/failure. The description mentions markdown support for description, which is useful context, but overall behavioral transparency is minimal for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement followed by parameter explanations. Each parameter description is brief but informative. There's no unnecessary verbiage. The only minor improvement would be front-loading more critical behavioral information before the parameter list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations but with an output schema (which handles return values), the description is moderately complete. It covers the basic purpose and parameters well, but lacks important context about authentication, error handling, and usage guidelines. For a 5-parameter creation tool, it should provide more behavioral context despite the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides essential semantic context for all 5 parameters. It explains what each parameter represents (e.g., 'Issue title', 'Team ID to create issue in', 'Priority level (1=urgent, 4=low)'), which goes well beyond the bare schema. The priority scale explanation is particularly valuable. However, it doesn't specify format constraints or provide examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new Linear issue') and resource ('Linear issue'), making the purpose immediately understandable. It distinguishes from siblings like linear_update_issue by specifying creation rather than modification. However, it doesn't explicitly contrast with other creation-related tools (none listed), so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like linear_update_issue or linear_search_issues. There's no mention of prerequisites, constraints, or typical use cases. The only implied context is that you need a team_id, but this is stated as a parameter requirement rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 the action ('Add a comment') but doesn't mention permission requirements, whether comments are editable/deletable, rate limits, or what happens on success/failure. The mention of 'markdown supported' for the body parameter is useful context, but overall behavioral traits are minimally covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured: a clear purpose statement followed by a bullet-point style parameter explanation. Every sentence earns its place, with no redundant information. The front-loaded purpose makes it immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there's an output schema (which handles return values), no annotations, and good parameter coverage in the description, the description is moderately complete. However, as a mutation tool with no annotations, it should ideally mention authentication needs or side effects. The purpose and parameters are clear, but behavioral context is light.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides clear semantics for all 4 parameters: 'issue_id' (Issue ID to comment on), 'body' (Comment text with markdown support), 'create_as_user' (Custom username), and 'display_icon_url' (Custom avatar URL). This adds substantial value beyond the bare schema, though it doesn't explain format constraints (e.g., URL validation).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Add' and resource 'comment to an issue', making the purpose immediately understandable. It distinguishes from siblings like 'linear_create_issue' or 'linear_update_issue' by focusing specifically on commenting rather than issue creation or modification. However, it doesn't explicitly differentiate from hypothetical comment-editing tools that might exist elsewhere.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing issue), when not to use it, or how it relates to sibling tools like 'linear_update_issue' which might also allow commenting. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 an update operation (implying mutation) but doesn't mention authentication requirements, rate limits, error conditions, or what happens when only some fields are provided (partial updates). The priority scale explanation (1=urgent, 4=low) is helpful but insufficient for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with a clear purpose statement followed by parameter explanations. Every sentence adds value: the first establishes the tool's function, and the parameter list provides essential context. No redundant or unnecessary information is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with 5 parameters, 0% schema description coverage, no annotations, but with an output schema, the description is moderately complete. It covers parameter meanings well but lacks behavioral context (auth, errors, partial updates). The output schema existence means return values don't need explanation, but other gaps remain for a tool that modifies data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides meaningful context for all 5 parameters beyond the schema's 0% coverage. It explains 'id' is for identification, clarifies that title/description/status accept new values, and crucially defines the priority scale (1=urgent, 4=low). This compensates well for the schema's lack of descriptions, though it doesn't explain null handling for optional parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and resource 'existing Linear issue', making the purpose unambiguous. It distinguishes from siblings like linear_create_issue (create vs update) and linear_get_user_issues (read vs update). However, it doesn't explicitly differentiate from linear_add_comment (which adds comments rather than modifying issue fields).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing issue ID), when to choose update over create, or how it differs from linear_add_comment for issue modifications. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 mentions that it 'gets issues' and includes parameters for archived issues and limits, but it doesn't describe key behaviors like whether this is a read-only operation, what permissions are needed, how results are returned (e.g., pagination, format), or any rate limits. For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: it starts with a clear purpose statement, followed by a bullet-point-like list of parameters with brief explanations. Every sentence earns its place by adding value, and there's no wasted text, making it highly efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is partially complete. It covers the purpose and parameters well, but since there's no output schema mentioned in the context signals (though 'Has output schema: true' is noted, the description doesn't reference it), it lacks details on return values or error handling. This leaves some gaps for an AI agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful semantics beyond the input schema: it explains that 'user_id' can be omitted for the authenticated user, clarifies that 'include_archived' includes archived issues, and notes the default for 'limit' is 50. Since schema description coverage is 0%, the description effectively compensates by providing clear parameter meanings, though it doesn't cover all potential nuances (e.g., format of user_id).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get issues assigned to a user.' It specifies the verb ('Get') and resource ('issues assigned to a user'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'linear_search_issues' (which might search issues more broadly), so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some implied usage context: it mentions that 'user_id' can be omitted for the authenticated user, suggesting when to use this parameter. However, it doesn't give explicit guidance on when to choose this tool over alternatives like 'linear_search_issues' or mention any prerequisites or exclusions, leaving gaps in usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action ('search') and lists parameters, but lacks critical behavioral details such as whether this is a read-only operation, how results are returned (e.g., pagination, sorting), error handling, or rate limits. For a search tool with 9 parameters, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by a bullet-point list of parameters. Every sentence and bullet point earns its place by providing essential information without redundancy, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, no annotations, but an output schema exists), the description is partially complete. It excels in parameter semantics but lacks behavioral context and usage guidelines. The presence of an output schema means the description doesn't need to explain return values, but other gaps remain, making it adequate but with clear room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant value beyond the input schema, which has 0% schema description coverage. It provides clear, concise explanations for all 9 parameters (e.g., 'query: Text to search in title/description', 'include_archived: Include archived issues'), effectively compensating for the schema's lack of descriptions and enhancing the agent's understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search issues with flexible filtering.' This specifies the verb ('search') and resource ('issues'), and the mention of 'flexible filtering' hints at its scope. However, it doesn't explicitly differentiate from sibling tools like 'linear_get_user_issues', which might also retrieve issues, so it doesn't reach the highest clarity level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'linear_get_user_issues' or 'linear_create_issue', nor does it specify prerequisites, contexts, or exclusions for usage. This leaves the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/vinayak-mehta/linear-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server