A Model Context Protocol (MCP) server implementation for the Linear GraphQL API that enables AI assistants to interact with Linear project management systems.
- Access to Linear's GraphQL API through MCP tools
- Authentication via Linear API key
- Retrieve and modify data related to users, teams, projects, and issues
- Create, update and comment on issues
- Add and remove labels
- Create projects
- Comprehensive documentation of available tools
To install Linear MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @emmett.deen/linear-mcp-server --client claude
After installation, add the following to your MCP settings file:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@emmett.deen/linear-mcp-server"],
"env": {
"LINEAR_API_KEY": "your_linear_api_key_here"
}
}
}
}
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json
- Claude VSCode Extension:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- GoMCP:
~/.config/gomcp/config.yaml
- Clone the repository
git clone https://github.com/yourusername/Linear-MCP-Server.git
cd Linear-MCP-Server
- Install dependencies
npm install
- Build the project
npm run build
- Create a
.env
file with your Linear API token
LINEAR_API_KEY=your_linear_api_key_here
- Start the server
npm start
See TOOLS.md for a complete list of available tools and planned features.
Linear-MCP-Server bridges the gap between Claude (AI assistant) and Linear (project management tool) by implementing the MCP protocol. This allows Claude to:
- Retrieve issues, projects, teams, and other data from Linear
- Create and update issues
- Change issue status
- Assign issues to team members
- Add comments
- Create projects and teams
The server uses Linear's GraphQL API and authenticates via user tokens (not OAuth) for simplicity.
- Node.js (v18+)
- NPM or Yarn
- Linear API token
# Install globally
npm install -g @emmett.deen/linear-mcp-server
# Or clone and install locally
git clone https://github.com/yourusername/Linear-MCP-Server.git
cd Linear-MCP-Server
npm install
npm link # Makes the package available globally
Run the server with your Linear API token:
linear-mcp-server --token YOUR_LINEAR_API_TOKEN
Or set the token in your environment and run without arguments:
export LINEAR_API_TOKEN=YOUR_LINEAR_API_TOKEN
linear-mcp-server
To use this MCP server with Claude Desktop:
- Enable Developer Mode in Claude Desktop (from the menu bar)
- Go to Settings > Developer options
- Click "Add Server"
- Configure with the following settings:
- Name: Linear MCP Server
- Type: Local Process
- Command: linear-mcp-server
- Arguments: --token YOUR_LINEAR_API_TOKEN
Alternatively, manually edit the config file:
{
"mcp": {
"servers": [
{
"name": "Linear MCP Server",
"transport": {
"type": "stdio",
"command": "linear-mcp-server",
"args": ["--token", "YOUR_LINEAR_API_TOKEN"]
}
}
]
}
}
- Save the config
- Restart Claude Desktop (quit completely and reopen)
- You should now see Linear MCP Server available as a tool in Claude
Once connected to Claude Desktop, you can use prompts like:
- "Show me all my Linear issues"
- "Create a new issue titled 'Fix login bug' in the Frontend team"
- "Change the status of issue FE-123 to 'In Progress'"
- "Assign issue BE-456 to John Smith"
- "Add a comment to issue UI-789: 'This needs to be fixed by Friday'"
To develop locally:
# Clone the repository
git clone https://github.com/yourusername/Linear-MCP-Server.git
cd Linear-MCP-Server
# Install dependencies
npm install
# Run in development mode
npm run dev -- --token YOUR_LINEAR_API_TOKEN
To add new tools to the server:
- Follow the implementation guide in the TOOLS.md document
- Make sure to follow the established code structure in the
src/
directory - Update the documentation to reflect your changes
- Clone the repository
git clone https://github.com/yourusername/Linear-MCP-Server.git
cd Linear-MCP-Server
- Install dependencies
npm install
- Start in development mode
npm run dev
To publish this package to npm:
- Update the version in package.json
npm version patch # or minor, or major
- Build the project
npm run build
- Make sure you've already logged in to npm
npm login
- Publish to npm
npm publish --access public
- For Smithery registry, you'll need to work with the Smithery team to get your server listed in their catalog.
This project is licensed under the MIT License - see the LICENSE file for details.