by geropl
linear-mcp-go is a Model Context Protocol (MCP) server for Linear, written in Go, enabling AI assistants to interact with the Linear API.
linear-mcp-go is a Model Context Protocol (MCP) server specifically designed for Linear, a popular issue tracking tool. Written in Go, it allows AI assistants to seamlessly interact with the Linear API, providing a structured way to manage Linear issues and data programmatically.
From Releases: Download pre-built binaries for Linux, macOS, and Windows from the GitHub Releases page. Make the binary executable and run it.
Automated: Use curl
and jq
to download the latest Linux binary and make it executable. Then, set up the MCP server using ./linear-mcp-go setup --tool=cline
.
export LINEAR_API_KEY=your_linear_api_key
./linear-mcp-go serve
(read-only by default) or ./linear-mcp-go serve --write-access
to enable write operations.Use the setup
command to automate installation and configuration for AI assistants (currently only Cline is supported):
./linear-mcp-go setup
(for Cline)
./linear-mcp-go setup --write-access
(with write access)
./linear-mcp-go setup --auto-approve=allow-read-only
(auto-approve read-only tools)
./linear-mcp-go setup --auto-approve=linear_get_issue,linear_search_issues
(auto-approve specific tools)
Q: What are the prerequisites for running linear-mcp-go? A: You need Go 1.23 or higher and a Linear API key.
Q: How do I enable write access for linear-mcp-go?
A: When running the server, use the --write-access
flag: ./linear-mcp-go serve --write-access
.
Q: Which AI assistants are supported by linear-mcp-go? A: Currently, only Cline (VSCode extension) is officially supported for setup.
Q: Can I auto-approve certain tools for AI assistants?
A: Yes, you can use the --auto-approve
flag with setup
command to specify read-only tools (allow-read-only
) or a comma-separated list of specific tools to auto-approve.
Q: How are releases handled for linear-mcp-go?
A: The project uses GitHub Actions. Pushing a tag matching v*
(e.g., v1.0.0
) triggers an automated release with binaries for Linux, macOS, and Windows.
A Model Context Protocol (MCP) server for Linear, written in Go. This server provides tools for interacting with the Linear API through the MCP protocol.
Pre-built binaries are available for Linux, macOS, and Windows on the GitHub Releases page.
chmod +x linear-mcp-go-*
# Download linux binary for the latest release
RELEASE=$(curl -s https://api.github.com/repos/geropl/linear-mcp-go/releases/latest)
DOWNLOAD_URL=$(echo $RELEASE | jq -r '.assets[] | select(.name | contains("linux")) | .browser_download_url')
curl -L -o ./linear-mcp-go $DOWNLOAD_URL
chmod +x ./linear-mcp-go
# Setup the mcp server (.gitpod.yml, dotfiles repo, etc.)
./linear-mcp-go setup --tool=cline
export LINEAR_API_KEY=your_linear_api_key
# Run in read-only mode (default)
./linear-mcp-go serve
# Run with write access enabled
./linear-mcp-go serve --write-access
The server will start and listen for MCP requests on stdin/stdout.
The setup
command automates the installation and configuration process for various AI assistants:
# Set your Linear API key as an environment variable
export LINEAR_API_KEY=your_linear_api_key
# Set up for Cline (default)
./linear-mcp-go setup
# Set up with write access enabled
./linear-mcp-go setup --write-access
# Set up with auto-approval for read-only tools
./linear-mcp-go setup --auto-approve=allow-read-only
# Set up with specific tools auto-approved
./linear-mcp-go setup --auto-approve=linear_get_issue,linear_search_issues
# Set up with write access and auto-approval for read-only tools
./linear-mcp-go setup --write-access --auto-approve=allow-read-only
# Set up for a different tool (only "cline" supported for now)
./linear-mcp-go setup --tool=cline
This command:
The --auto-approve
flag can be used to specify which tools should be auto-approved in the Cline configuration:
--auto-approve=allow-read-only
: Auto-approves all read-only tools (linear_search_issues
, linear_get_user_issues
, linear_get_issue
, linear_get_teams
)--auto-approve=tool1,tool2,...
: Auto-approves the specified comma-separated list of toolsCurrently supported AI assistants:
By default, the server runs in read-only mode, which means the following tools are disabled:
linear_create_issue
linear_update_issue
linear_add_comment
To enable these tools, use the --write-access=true
flag.
Creates a new Linear issue with specified details. Supports creating sub-issues and assigning labels.
Parameters:
title
(required): Issue titleteam
(required): Team identifier (key, UUID or name)description
: Issue descriptionpriority
: Priority (0-4)status
: Issue statusparentIssue
: Optional parent issue ID to create a sub-issuelabels
: Optional comma-separated list of label IDs to assignUpdates an existing Linear issue's properties.
Parameters:
id
(required): Issue IDtitle
: New titledescription
: New descriptionpriority
: New priority (0-4)status
: New statusSearches Linear issues using flexible criteria.
Parameters:
query
: Optional text to search in title and descriptionteamId
: Filter by team IDstatus
: Filter by status name (e.g., 'In Progress', 'Done')assigneeId
: Filter by assignee's user IDlabels
: Filter by label names (comma-separated)priority
: Filter by priority (1=urgent, 2=high, 3=normal, 4=low)estimate
: Filter by estimate pointsincludeArchived
: Include archived issues in results (default: false)limit
: Max results to return (default: 10)Retrieves issues assigned to a specific user or the authenticated user.
Parameters:
userId
: Optional user ID. If not provided, returns authenticated user's issuesincludeArchived
: Include archived issues in resultslimit
: Maximum number of issues to return (default: 50)Retrieves a single Linear issue by its ID.
Parameters:
issueId
(required): ID of the issue to retrieveAdds a comment to an existing Linear issue.
Parameters:
issueId
(required): ID of the issue to comment onbody
(required): Comment text in markdown formatcreateAsUser
: Optional custom username to show for the commentdisplayIconUrl
: Optional avatar URL for the commentRetrieves Linear teams with an optional name filter.
Parameters:
name
: Optional team name filter. Returns teams whose names contain this string.Tests are implemented using go-vcr
, and executed against https://linear.app/linear-mcp-go-test.
Using the existing recordings (cassettes):
go test -v ./...
Requires LINEAR_API_KEY
to be set.
go test -v -record=true ./...
This will update all tests that don't alter remote state.
go test -v -recordWrites=true ./...
This will re-run all tests, including some that might alter the outcome of other tests cases, which might require further manual work to adjust.
go test -v -golden=true ./...
Updates all .golden fields.
The project uses GitHub Actions for automated testing and releases:
v*
(e.g., v1.0.0
) is pushed, a new release is automatically createdTo create a new release:
pkg/server/server.go
git tag v1.0.0
git push origin v1.0.0
The GitHub Actions workflow will automatically create a release with the appropriate binaries.
MIT
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by jerhadf
A server that integrates Linear's project management system with the Model Context Protocol (MCP) to allow LLMs to interact with Linear.
by taazkareem
clickup-mcp-server is an AI-powered Model Context Protocol (MCP) server that integrates ClickUp project management with AI applications. It enables AI agents to interact with ClickUp tasks and workspace elements through a standardized protocol, facilitating natural language-based workspace management and automation.
by its-dart
Enables AI assistants to manage tasks and documents in Dart through a Model Context Protocol server, exposing prompts, resource templates, and tool endpoints for streamlined interaction.
by tacticlaunch
MCP Linear is a Model Context Protocol (MCP) server implementation for the Linear GraphQL API that enables AI assistants to interact with Linear project management systems using natural language.
by useshortcut
Provides Model Context Protocol (MCP) tools that let AI assistants query and modify Shortcut data such as stories, epics, iterations, users, and documents.
by phuc-nt
MCP Atlassian Server connects AI agents to Atlassian Jira and Confluence, enabling them to query data and perform actions within these platforms. It simplifies interactions with Atlassian tools, reducing context-switching for users.
by tonyzorin
A Model Context Protocol (MCP) server implementation for JetBrains YouTrack, allowing AI assistants to interact with YouTrack issue tracking system.
by sakce
Enables MCP clients to interact with Monday.com boards, items, updates, and documents.
by kelvin6365
A Model Context Protocol (MCP) server that enables LLMs to interact with Plane.so, allowing them to manage projects and issues through Plane's API.