An MCP server for interacting with Linear's API. This server provides a set of tools for managing Linear issues, projects, and teams through Cline.
- Clone the repository
- Install dependencies:
npm install
- Copy
.env.example
to.env
:cp .env.example .env
The server supports two authentication methods:
- Go to Linear: Settings > API > OAuth application > "Cline MCP"
- Under "Developer Token", click "Create & copy token"
- Select "Application"
- Add the token to your
.env
file:LINEAR_ACCESS_TOKEN=your_personal_access_token
- Create an OAuth application at https://linear.app/settings/api/applications
- Configure OAuth environment variables in
.env
:LINEAR_CLIENT_ID=your_oauth_client_id LINEAR_CLIENT_SECRET=your_oauth_client_secret LINEAR_REDIRECT_URI=http://localhost:3000/callback
- Build the server:
npm run build
- Start the server:
npm start
-
Open your Cline MCP settings file:
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Windows:
%APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- macOS:
-
Add the Linear MCP server configuration:
{ "mcpServers": { "linear": { "command": "node", "args": ["/path/to/linear-mcp/build/index.js"], "env": { "LINEAR_ACCESS_TOKEN": "your_personal_access_token" }, "disabled": false, "autoApprove": [] } } }
The server currently supports the following operations:
- ✅ Create issues with full field support (title, description, team, project, etc.)
- ✅ Update existing issues (priority, description, etc.)
- ✅ Delete issues (single or bulk deletion)
- ✅ Search issues with filtering
- ✅ Associate issues with projects
- ✅ Create parent/child issue relationships
- ✅ Create projects with associated issues
- ✅ Get project information
- ✅ Associate issues with projects
- ✅ Get team information (with states and workflow details)
- ✅ Access team states and labels
- ✅ Personal Access Token (PAT) authentication
- ✅ Secure token storage
- ✅ Bulk issue creation
- ✅ Bulk issue deletion
- 🚧 Bulk issue updates (parallel processing implemented, needs testing)
The following features are currently being worked on:
- 🚧 Comment functionality (add/edit comments, threading)
- 🚧 Complex search filters
- 🚧 Pagination support for large result sets
- 🚧 Label management (create/update/assign)
- 🚧 Cycle/milestone management
- 🚧 Project template support
- 🚧 Advanced project operations
- 🚧 OAuth flow with automatic token refresh
- 🚧 Rate limiting
- 🚧 Detailed logging
- 🚧 Load testing and optimization
# Install dependencies
npm install
# Run tests
npm test
# Run integration tests (requires LINEAR_ACCESS_TOKEN)
npm run test:integration
# Build the server
npm run build
# Start the server
npm start
Integration tests verify that authentication and API calls work correctly:
- Set up authentication (PAT recommended for testing)
- Run integration tests:
npm run test:integration
For OAuth testing:
- Configure OAuth credentials in
.env
- Remove
.skip
from OAuth tests insrc/__tests__/auth.integration.test.ts
- Run integration tests