LI

Linear Go MCP Server for LLM Integration

Enable LLM integration with Linear using a lightweight MCP server, deploying a single static Go binary to access Linear's API securely and efficiently.

Quick Install
npx -y @geropl/linear-mcp-go

Overview

This project provides a lightweight Model Context Protocol (MCP) server written in Go that makes Linear’s API available to large language models (LLMs) and other automation agents. Deploy a single static Go binary (or container) to sit between your LLM and Linear, securely storing your Linear API key and exposing a small set of tools the model can call to read and modify Linear issues, projects, teams, and comments.

The server is designed for simplicity and security: minimal runtime surface (one static binary), explicit tool definitions following MCP patterns, and simple configuration via environment variables or flags. It’s useful when you want to enable an LLM to create or update Linear issues, search work items, or surface project metadata without embedding your API key into the model or client.

Features

  • Single static Go binary — easy to build, ship and run
  • Minimal MCP-compatible tool manifest for LLM integrations
  • Secure: use an environment variable for the Linear API key
  • HTTP endpoints for tool invocation (suitable for local LLMs, agent frameworks, or cloud deployments)
  • Common Linear operations: search, read, create, update, add comments
  • Optional Docker image for containerized deployment
  • Small memory and binary footprint, suitable for edge or server deployments

Installation / Configuration

Clone and build from source, or install via go install. Set your Linear API key and run the binary.

Build from source

# Clone the repo
git clone https://github.com/geropl/linear-mcp-go.git
cd linear-mcp-go

# Build a static binary (disable cgo for static linking)
CGO_ENABLED=0 go build -o linear-mcp-go ./...

# Run
LINEAR_API_KEY=your_linear_api_key ./linear-mcp-go

Install via go install

# Install the latest release (requires GOPATH/bin or GOBIN in PATH)
go install github.com/geropl/linear-mcp-go@latest

# Run (assumes binary is in your PATH)
LINEAR_API_KEY=your_linear_api_key linear-mcp-go

Docker

# Build container
docker build -t linear-mcp-go .

# Run container exposing port 8080 (default)
docker run -e LINEAR_API_KEY=your_linear_api_key -p 8080:8080 linear-mcp-go

Common environment variables and flags

Variable / FlagDefaultRequiredDescription
LINEAR_API_KEYyesYour Linear personal or API token
MCP_PORT / –port8080noPort to listen on
BIND_ADDR / –bind0.0.0.0noBind address
LOG_LEVEL / –log-levelinfonoLogging verbosity

Example run with custom port

LINEAR_API_KEY=abc123 ./linear-mcp-go --port 9090 --log-level debug

Available Tools

The server exposes a set of MCP-style tools that an LLM or automation agent can call. Tools are intentionally narrow and focused on typical Linear workflows.

  • linear.search_issues

    • Inputs: query string, projectId?, teamId?, limit
    • Output: list of matching issues (id, title, state, assignee)
    • Use: surface context for summaries or decisions
  • linear.get_issue

    • Inputs: issueId
    • Output: full issue details (description, comments, metadata)
    • Use: retrieve details for context or follow-up actions
  • linear.create_issue

    • Inputs: title, description, teamId?, projectId?, assigneeId?
    • Output: created issue id and URL
    • Use: convert LLM-generated tasks into Linear issues
  • linear.update_issue

    • Inputs: issueId, patch fields (title, state, assignee, labels)
    • Output: updated issue summary
    • Use: modify status or metadata from the model
  • linear.add_comment

    • Inputs: issueId, body
    • Output: created comment id
    • Use: append clarifications, meeting notes