Skip to main content
Glama
README.md
# Linear MCP Server

This MCP server provides tools to interact with the Linear API, allowing you to fetch tasks and their associated details.

## Setup

1. Install dependencies:
   ```
   npm install
   ```

2. Build the server:
   ```
   npm run build
   ```

3. Configure your Linear API key:
   - Get your API key from Linear (Settings > API > Personal API Keys)
   - Update the MCP settings file with your API key:
     - Location: `/Users/tiru5/Library/Application Support/Cursor/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json`
     - Replace `YOUR_LINEAR_API_KEY_HERE` with your actual API key

## Available Tools

### get_tasks

Get tasks from Linear with optional filtering.

**Parameters:**
- `status` (optional): Filter by status (e.g., "Todo", "In Progress", "Done")
- `assignee` (optional): Filter by assignee name or ID
- `team` (optional): Filter by team name or ID
- `limit` (optional): Maximum number of tasks to return (default: 20, max: 100)

**Example:**
```json
{
  "status": "In Progress",
  "assignee": "John",
  "team": "Engineering",
  "limit": 10
}
```

### get_task_details

Get detailed information about a specific task.

**Parameters:**
- `taskId` (required): The ID of the task to retrieve details for

**Example:**
```json
{
  "taskId": "LIN-123"
}
```

### get_teams

Get a list of teams in the Linear workspace.

**Parameters:** None

### get_users

Get a list of users in the Linear workspace.

**Parameters:** None

## Usage Examples

### Fetching tasks assigned to a specific user

```
use_mcp_tool
server_name: linear
tool_name: get_tasks
arguments: {
  "assignee": "John",
  "status": "In Progress"
}
```

### Getting details for a specific task

```
use_mcp_tool
server_name: linear
tool_name: get_task_details
arguments: {
  "taskId": "LIN-123"
}
```

### Listing all teams

```
use_mcp_tool
server_name: linear
tool_name: get_teams
arguments: {}
```

### Listing all users

```
use_mcp_tool
server_name: linear
tool_name: get_users
arguments: {}

TDQS

B3.2/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting different resources: tasks (details vs. list), teams, and users. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with 'get_' prefix and plural/singular nouns as appropriate (e.g., get_task_details, get_tasks). The naming is predictable and uniform throughout the set.

Tool Count3/5

With only 4 tools, the set feels thin for a project management domain like Linear, which typically involves CRUD operations on tasks, issues, or other entities. While the tools cover basic read operations, the count is borderline low for the apparent scope.

Completeness2/5

The toolset is severely incomplete, covering only read operations (get) with no ability to create, update, or delete tasks, teams, or users. This creates significant gaps that will cause agent failures in typical project management workflows, such as modifying task status or assigning users.

Maintenance

ActivityInactive
ResponsivenessNo issues