Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
FROM golang:1.23-alpine AS builder
WORKDIR /app

# Cache deps
COPY go.mod go.sum ./
RUN go mod download

# Copy source and build binary
COPY . .
RUN CGO_ENABLED=0 go build -o linear-mcp-go main.go

FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/linear-mcp-go ./

# Expose port if needed, but MCP uses stdio
CMD ["./linear-mcp-go", "serve"]
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Linear MCP Server
[![smithery badge](https://smithery.ai/badge/@geropl/linear-mcp-go)](https://smithery.ai/server/@geropl/linear-mcp-go)

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.

Expand All @@ -17,6 +18,14 @@ A Model Context Protocol (MCP) server for Linear, written in Go. This server pro

## Installation

### Installing via Smithery

To install Linear MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@geropl/linear-mcp-go):

```bash
npx -y @smithery/cli install @geropl/linear-mcp-go --client claude
```

### From Releases

Pre-built binaries are available for Linux, macOS, and Windows on the [GitHub Releases page](https://github.com/geropl/linear-mcp-go/releases).
Expand Down
36 changes: 36 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml

startCommand:
type: stdio
configSchema:
# JSON Schema defining the configuration options for the MCP.
type: object
required:
- linearApiKey
properties:
linearApiKey:
type: string
description: Your Linear API key.
writeAccess:
type: boolean
default: false
description: Set to true to run the server with write access.
commandFunction:
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
|-
(config) => {
const args = ['serve'];
if (config.writeAccess) {
args.push('--write-access=true');
}
return {
command: './linear-mcp-go',
args,
env: {
LINEAR_API_KEY: config.linearApiKey
}
};
}
exampleConfig:
linearApiKey: sk_test_1234567890
writeAccess: false