Skip to main content
Glama

streamlinear

A lightweight Linear MCP for Claude Code. One tool, seven actions.

Why?

The standard Linear MCP uses ~17,000 tokens for tool definitions.

streamlinear uses ~500 tokens.

Design Philosophy

Instead of 23 separate tools, streamlinear has one tool with action dispatch:

{"action": "search"}
{"action": "get", "id": "ABC-123"}
{"action": "update", "id": "ABC-123", "state": "Done"}
{"action": "comment", "id": "ABC-123", "body": "Fixed!"}
{"action": "create", "title": "New bug", "team": "ENG"}
{"action": "graphql", "graphql": "query { viewer { name } }"}
{"action": "help"}

Actions

Action

Purpose

search

Find issues (smart defaults: your active issues)

get

Issue details by ABC-123, URL, or UUID

update

Change state, priority, assignee

comment

Add comment to issue

create

Create new issue

graphql

Raw GraphQL for anything else

help

Full documentation

Installation

Single Workspace

Add to your .mcp.json:

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@primeradianthq/streamlinear@1.1.3"],
      "env": {
        "LINEAR_API_TOKEN": "lin_api_xxxxx"
      }
    }
  }
}

Multiple Workspaces

To use streamlinear with multiple Linear workspaces, create separate MCP entries and map each secret to LINEAR_API_TOKEN:

{
  "mcpServers": {
    "linear-personal": {
      "command": "npx",
      "args": ["-y", "@primeradianthq/streamlinear@1.1.3"],
      "env": {
        "LINEAR_API_TOKEN": "${LINEAR_PERSONAL_TOKEN}"
      },
      "envFrom": ["LINEAR_PERSONAL_TOKEN"]
    },
    "linear-work": {
      "command": "npx",
      "args": ["-y", "@primeradianthq/streamlinear@1.1.3"],
      "env": {
        "LINEAR_API_TOKEN": "${LINEAR_WORK_TOKEN}"
      },
      "envFrom": ["LINEAR_WORK_TOKEN"]
    }
  }
}

Installed Package

When installed as a dependency, the package provides two binaries:

npm install @primeradianthq/streamlinear@1.1.3
npx streamlinear-cli help
npx streamlinear

The MCP server requires LINEAR_API_TOKEN at runtime. Consumers such as Scribble may expose their own operator-facing variable and map it to LINEAR_API_TOKEN before starting streamlinear.

Smart Defaults

  • Teams and workflow states shown in tool description (fetched at startup)

  • search with no params → your assigned issues, not completed/canceled

  • IDs accept ABC-123, Linear URLs, or UUIDs

  • State names are fuzzy matched ("done" → "Done", "in prog" → "In Progress")

  • assignee: "me" uses the authenticated user

  • Error messages show valid options when things fail

The GraphQL Escape Valve

For anything not covered by the main actions, use raw GraphQL:

{
  "action": "graphql",
  "graphql": "query { projects { nodes { id name } } }"
}

Use {"action": "help"} for common GraphQL patterns.

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
3moRelease cycle
2Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prime-radiant-inc/streamlinear'

If you have feedback or need assistance with the MCP directory API, please join our Discord server