Linear MCP Server + Slack MCP Server

Beginner20 minutes
Use Cases

Common Use Cases

  • Sprint progress updates
  • Blocker alerts
  • Cycle review summaries
  • Issue assignment notifications
Before You Begin

Prerequisites

  • Linear workspace with active cycles
  • Slack workspace
Walkthrough

Step-by-Step Guide

1

Configure Linear MCP Server

Set up with your Linear API key.

2

Configure Slack MCP Server

Set up with bot token.

3

Build Sprint Summary

Generate a sprint progress report from Linear cycle data.

async function sprintUpdate() {
  const cycle = await linear.getActiveCycle({ teamId: TEAM_ID });
  const issues = await linear.listIssues({ cycleId: cycle.id });
  const done = issues.filter(i => i.state.type === "completed").length;
  const inProgress = issues.filter(i => i.state.type === "started").length;
  const blocked = issues.filter(i => i.labels.some(l => l.name === "blocked"));
  await slack.sendMessage({
    channel: "#engineering",
    text: `šŸ“‹ Sprint Update:\nāœ… Done: ${done}/${issues.length}\nšŸ”„ In Progress: ${inProgress}\n🚫 Blocked: ${blocked.length}`
  });
}
4

Schedule Daily Updates

Run the sprint summary every day at standup time.

Examples

Code Examples

typescript
Blocker Alert
async function alertBlockers() {
  const blocked = await linear.listIssues({ filter: { label: { name: { eq: "blocked" } } } });
  if (blocked.length > 0) {
    const list = blocked.map(i => `• *${i.identifier}*: ${i.title} (assigned: ${i.assignee?.name || "unassigned"})`).join("\n");
    await slack.sendMessage({ channel: "#engineering", text: `🚫 ${blocked.length} Blocked Issues:\n${list}` });
  }
}
Help

Troubleshooting

How often should I post updates?+
Can I include velocity metrics?+

Quick Info

DifficultyBeginner
Time Estimate20 minutes
Tools
Linear MCP ServerSlack MCP Server

Need Integration Help?

Our team can implement this integration for you.

Get in Touch
CortexAgent Customer Service

Want to skip the form?

Our team is available to help you get started with CortexAgent.

This chat may be recorded for quality assurance. You can view our Privacy Policy.