177 lines
4.8 KiB
Markdown

# Linear MCP Server
Complete Model Context Protocol server for Linear - the issue tracking and project management platform.
## Features
- **Issues**: Full CRUD operations, search, archive, labels
- **Projects**: Project management and tracking
- **Teams**: Team organization and members
- **Cycles**: Sprint/cycle planning and management
- **Labels**: Label creation and assignment
- **Milestones**: Milestone tracking
- **Users**: User directory and profiles
- **Comments**: Issue comments and discussions
- **Workflows**: Custom workflow states
- **Webhooks**: Webhook management
## Installation
```bash
npm install
npm run build
```
## Configuration
1. Get your Linear API key from: https://linear.app/settings/api
2. Set the environment variable:
```bash
export LINEAR_API_KEY="your_api_key_here"
```
Or create a `.env` file:
```bash
cp .env.example .env
# Edit .env and add your API key
```
## Usage
### Run the server
```bash
npm start
```
### Development
```bash
npm run dev # Watch mode
npm run typecheck # Type checking
```
## MCP Integration
Add to your MCP settings (e.g., Claude Desktop config):
```json
{
"mcpServers": {
"linear": {
"command": "node",
"args": ["/path/to/linear/dist/main.js"],
"env": {
"LINEAR_API_KEY": "your_api_key_here"
}
}
}
}
```
## Available Tools
### Issues (10 tools)
- `linear_list_issues` - List issues with filters
- `linear_get_issue` - Get issue by ID
- `linear_create_issue` - Create new issue
- `linear_update_issue` - Update issue
- `linear_delete_issue` - Delete issue
- `linear_search_issues` - Search issues
- `linear_archive_issue` - Archive issue
- `linear_unarchive_issue` - Unarchive issue
- `linear_add_issue_label` - Add label to issue
- `linear_remove_issue_label` - Remove label from issue
### Projects (6 tools)
- `linear_list_projects` - List projects
- `linear_get_project` - Get project by ID
- `linear_create_project` - Create new project
- `linear_update_project` - Update project
- `linear_delete_project` - Delete project
- `linear_archive_project` - Archive project
### Teams (3 tools)
- `linear_list_teams` - List teams
- `linear_get_team` - Get team by ID
- `linear_get_team_members` - Get team members
### Cycles (6 tools)
- `linear_list_cycles` - List cycles
- `linear_get_cycle` - Get cycle by ID
- `linear_create_cycle` - Create new cycle
- `linear_update_cycle` - Update cycle
- `linear_add_cycle_issue` - Add issue to cycle
- `linear_remove_cycle_issue` - Remove issue from cycle
### Labels (5 tools)
- `linear_list_labels` - List labels
- `linear_get_label` - Get label by ID
- `linear_create_label` - Create new label
- `linear_update_label` - Update label
- `linear_delete_label` - Delete label
### Milestones (4 tools)
- `linear_list_milestones` - List milestones
- `linear_get_milestone` - Get milestone by ID
- `linear_create_milestone` - Create new milestone
- `linear_update_milestone` - Update milestone
### Users (3 tools)
- `linear_list_users` - List users
- `linear_get_user` - Get user by ID
- `linear_get_me` - Get current user
### Comments (5 tools)
- `linear_list_comments` - List comments on issue
- `linear_get_comment` - Get comment by ID
- `linear_create_comment` - Create new comment
- `linear_update_comment` - Update comment
- `linear_delete_comment` - Delete comment
### Workflows (3 tools)
- `linear_list_workflow_states` - List workflow states
- `linear_get_workflow_state` - Get workflow state by ID
- `linear_create_workflow_state` - Create new workflow state
### Webhooks (5 tools)
- `linear_list_webhooks` - List webhooks
- `linear_get_webhook` - Get webhook by ID
- `linear_create_webhook` - Create new webhook
- `linear_update_webhook` - Update webhook
- `linear_delete_webhook` - Delete webhook
## UI Apps
15 interactive React apps included in `src/apps/`:
1. **issue-tracker** - Browse and manage issues
2. **project-dashboard** - Project overview and progress
3. **team-overview** - Team metrics and members
4. **cycle-planner** - Sprint/cycle planning
5. **label-manager** - Label organization
6. **milestone-tracker** - Milestone progress tracking
7. **user-directory** - Team directory
8. **comment-feed** - Issue discussions
9. **workflow-designer** - Custom workflow builder
10. **webhook-manager** - Webhook configuration
11. **roadmap-view** - Product roadmap
12. **triage-inbox** - Issue triage queue
13. **analytics-dashboard** - Metrics and insights
14. **initiative-tracker** - Strategic initiatives
15. **backlog-grooming** - Backlog prioritization
## Rate Limits
Linear API has a complexity-based rate limit of 1500 points per hour. The client automatically tracks complexity from response extensions.
## GraphQL API
Linear uses GraphQL exclusively. All operations are POST requests to `https://api.linear.app/graphql` with cursor-based pagination.
## License
MIT