Are you the author? Sign in to claim
A lightweight Linear MCP server for Claude Code that exposes one tool with action dispatch (search, get, update, comment
A lightweight Linear MCP for Claude Code. One tool, seven actions.
The standard Linear MCP uses ~17,000 tokens for tool definitions.
streamlinear uses ~500 tokens.
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"}
| 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 |
Add to your .mcp.json:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@primeradianthq/streamlinear@1.1.3"],
"env": {
"LINEAR_API_TOKEN": "lin_api_xxxxx"
}
}
}
}
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"]
}
}
}
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.
search with no params → your assigned issues, not completed/canceledassignee: "me" uses the authenticated userFor 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.
MIT
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows