Linear MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for HTTP server (if used) | 3000 |
| NODE_ENV | No | Environment (development, production) | development |
| LOG_LEVEL | No | Logging level (trace, debug, info, warn, error) | info |
| LINEAR_API_KEY | Yes | Your Linear API key | |
| RATE_LIMIT_MAX | No | Maximum requests per window | 100 |
| ENABLE_RATE_LIMIT | No | Enable rate limiting | false |
| RATE_LIMIT_WINDOW_MS | No | Rate limit window in milliseconds | 60000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_issuesB | Search for issues in Linear with powerful filtering options. Examples: 'Find all high-priority bugs assigned to me', 'Show open issues in the Engineering team', 'Search for issues about authentication' |
| create_issueA | Create a new issue in Linear with full customization. Examples: 'Create a bug report for login issues', 'Add a feature request to implement dark mode', 'Create a high-priority task and assign it to me' |
| update_issueA | Update an existing issue in Linear - modify title, description, assignee, priority, or workflow state. Examples: 'Update issue ENG-123 to high priority', 'Assign issue ENG-456 to me', 'Change the description of issue ENG-789' |
| get_teamsA | Get all teams in your Linear workspace. Use this to find team IDs for creating issues or filtering searches. Example: 'Show me all my Linear teams' |
| get_my_issuesA | Get all issues assigned to you in Linear. Perfect for daily standup prep or checking your current workload. Examples: 'What issues are assigned to me?', 'Show my current tasks' |
| get_issueC | Get detailed information about a specific issue by its ID. Examples: 'Get the details of issue ENG-123', 'Show me issue PROJ-456' |
| get_workflow_statesA | Get all workflow states (statuses) for a specific team. Use this to find state IDs when updating issues. Examples: 'Show workflow states for the Engineering team', 'What statuses are available?' |
| add_commentA | Add a comment to an existing issue in Linear. Comments support Markdown formatting. Examples: 'Add a comment to issue ENG-123', 'Comment on the bug report with an update' |
| health_checkA | Verify that the Linear API connection is working and check authentication status. Use this to troubleshoot connection issues. Example: 'Check if Linear API is working' |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool has a clear purpose, but search_issues and get_my_issues both retrieve issues, which could cause confusion. However, the descriptions clarify that get_my_issues is a shortcut for issues assigned to the current user.
All tools follow a consistent verb_noun pattern (e.g., search_issues, create_issue, update_issue). health_check is a slight deviation but still understandable and consistent with common health check naming.
Nine tools provide a focused set for interacting with Linear's core entities. This is well-scoped and avoids bloat while covering essential operations.
The tool set covers issue lifecycle (create, update, search, get, comment) and team/status retrieval. Missing operations like delete issue or update/delete comments are minor gaps that agents can work around.