Linear's own hosted server: issues, projects, cycles and comments, where the plan meets the work.
Project management desk
Turns an idea into a spec and a sprint, keeps the tracker honest, and writes the status update people actually read.
Built for: The product or project manager who spends Monday rebuilding the same status from Linear, Notion and Slack.
The button opens the checkout, where the 3 servers and 6 skills are listed one by one. Every member is free, so the checkout lists them and asks for no card.
What your agent can do with this
The reason to buy a stack rather than five listings: each line below needs more than one member connected at the same time.
- 01
Write a spec in Notion from a problem statement and break it into Linear issues in the right project and cycle.
- 02
Plan the next sprint from the backlog and the team's actual capacity, and flag what will not fit.
- 03
Read the week's Linear activity and Slack threads and draft the Friday status with risks and decisions.
- 04
Keep a risk register next to the roadmap and update both when a dependency slips.
The assembly, part by part
What each part contributes, and why it was picked over the obvious alternative. Prices and permissions are read from the listings, so nothing here can disagree with the catalogue.
Notion's own hosted server: specs, roadmaps and meeting notes in the workspace the team already writes in.
Reads channels and threads and posts messages with a Slack user token — the decisions that never made it to the tracker.
A feature spec or PRD from a problem statement: goals, non-goals, success metrics and acceptance criteria.
Addy Osmani's skill for breaking a spec into ordered tasks that can be estimated and run in parallel.
Scopes a sprint against real capacity — holidays and meetings included — and separates the P0s from the stretch goals.
Reprioritises the roadmap when something new arrives, and says what moves to make room.
A status report with green, yellow and red, the risks and the decisions needed, built from tracker activity.
A risk register — likelihood, impact, owner, mitigation — for the project before it slips rather than after.
What it costs, and on what assumption
Every member is free, so the monthly figure is $0 whatever you do with the stack: nothing here is billed by the call, and only adding a paid member could change it.
| Part | What you are paying for | Monthly, as quoted |
|---|---|---|
| Linear | Free | — |
| Notion | Free | — |
| Slack | Free | — |
| Skills | ||
| Write Spec | Free · context cost only | — |
| Planning and Task Breakdown | Free · context cost only | — |
| /sprint-planning | Free · context cost only | — |
| Roadmap Update | Free · context cost only | — |
| /status-report | Free · context cost only | — |
| Risk Assessment | Free · context cost only | — |
| Everything above | $0 of servers plus $0 of skills, the same in a quiet month and a busy one | $0/mo |
Subscriptions at their monthly plan price; one-off licences spread over 12 months.
Install only these and the bill is nothing: 3 servers and 6 skills.
Nothing in this stack carries a call allowance, so nothing here can run out before the month does. The bill is decided when you install it, not when you use it.
The spend cap is one figure for the whole account, set in your dashboard and checked when an order is placed. On the call path what stops a retry loop is the plan's call allowance and its rate limit, and a refused call is never billed.
Setting it up, in order
The steps below come before the install lines: what to decide and scope before connecting anything, in the order it matters. The lines themselves follow, part by part, for the client you pick.
npx mcprush@latest stack add project-desk writes all 3 servers into Claude Code’s config in one go — or run the lines below one by one. The 6 skills are not included — add them with lines 04–09.
- Slack
SLACK_MCP_XOXP_TOKEN— A Slack user token (xoxp-…) for your workspace
Set it where you start Claude Code — export SLACK_MCP_XOXP_TOKEN=… in your shell profile on macOS and Linux, setx SLACK_MCP_XOXP_TOKEN "…" on Windows, then open a new terminal. Claude Code reads it at start; the config keeps only the name.
# 01 · Linear
claude mcp add --scope user --transport http linear-linear-mcp https://mcp.linear.app/mcp
# 02 · Notion
claude mcp add --scope user --transport http notion-notion-mcp https://mcp.notion.com/mcp
# 03 · Slack
claude mcp add --scope user --env 'SLACK_MCP_XOXP_TOKEN=${SLACK_MCP_XOXP_TOKEN}' --transport stdio slack-mcp '--' npx -y @nrjdalal/slack-mcp-server
# 04 · Write Spec
npx mcprush@latest skill add anthropics/write-spec
# 05 · Planning and Task Breakdown
npx mcprush@latest skill add addyosmani/planning-and-task-breakdown
# 06 · /sprint-planning
npx mcprush@latest skill add anthropics/sprint-planning
# 07 · Roadmap Update
npx mcprush@latest skill add anthropics/roadmap-update
# 08 · /status-report
npx mcprush@latest skill add anthropics/status-report
# 09 · Risk Assessment
npx mcprush@latest skill add anthropics/risk-assessmentRequirements and Windows tips
- Node.js — the current LTS (24) is the safe choice (for
npx). - Windows PowerShell says 'running scripts is disabled on this system'? Run
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedonce, or typenpx.cmdinstead ofnpx(codex.cmd,gemini.cmd,grok.cmdlikewise). PowerShell 7 needs neither.
Nothing is connected until you approve it in Claude Code. mcprush is not in the path and meters nothing here.
- 3 members have not declared what credential they need — check each one’s own page before you start.
- What this stack can write is not recorded — 3 members of 3 have no imported tool surface. Section 05 says what is known before you approve anything.
- 3 members are connected straight from their own package or address — nothing in them goes through mcprush.
What the whole stack can reach
Installed together, these tool surfaces add up. It is the first thing a security reviewer asks for, so what has been counted — and what nobody has counted yet — is on the page rather than in a PDF.
| Member | Tool surface | Write tools |
|---|---|---|
| Linear | not imported | not recorded |
| Notion | not imported | not recorded |
| Slack | not imported | not recorded |
A stack's blast radius is the union of its members, not the worst of them. That union cannot be taken here, because 3 members of 3 have no imported tool surface — so the figure a review asks for is missing rather than low, and a member marked not imported is one nobody has counted rather than one that cannot write.
Sensible swaps
A stack is a default, not a verdict. These are the substitutions the maintainer would make, and what each one costs or saves.
A team on Jira and Confluence uses Atlassian's own hosted server for issues and pages instead of Linear and Notion.
Where this stack stops
Written by the maintainer, kept on the page rather than in a support thread.
It does not decide priorities. It lays out the trade-off; the product owner picks.
The Slack member uses a user token and sees what that user sees. Scope the user, not the prompt, if some channels are off-limits.
Linear and Notion are the hosted vendor servers: sign-in goes through each vendor, and their availability is theirs.
Who keeps this current
A stack has an owner: whoever keeps it re-checks the combination when a member changes, and the members themselves are published by the people named on each row.
Other ready-made stacks
Code review
Tools to inspect code changes, run checks and prepare a pull request review.
Bug reproduction
Tools to investigate a bug report and work toward a reproducible test case.
On-call
Tools to investigate alerts, check recent changes and follow the runbook.