Appearance
Linear
Connect Pencel to Linear so your agents can manage issues, track project progress, and generate sprint reports. Linear's clean API makes this integration fast and reliable — ideal for teams that run their product development workflow in Linear.
| Trust Level | Partner |
| Transport | Remote |
| Endpoint | https://mcp.linear.app/mcp |
| Activation | When relevant recommended |
What Your Agent Can Do
- List issues — search and filter issues by status, assignee, label, project, or cycle.
- Create issues — add new issues with title, description, priority, labels, and assignee.
- Update issues — change status, priority, assignee, or add comments.
- Read project details — view project milestones, progress, and member lists.
- Track cycles — list current and past cycles (sprints) with issue counts and completion stats.
- Manage labels — read and apply labels to organize work.
- Search — full-text search across issues and projects.
Setup
You have two ways to connect: OAuth via Linear's remote endpoint (recommended) or an API key.
Option A: OAuth (Recommended)
- Open Settings > Connections.
- Click Add Connection and select Linear from the catalog.
- Click Connect — Pencel opens your browser to Linear's authorization page.
- Approve the access request and return to Pencel.
Option B: API Key
Best for individual use or small teams.
Step 1: Generate an API Key
- Open Linear and go to Settings > API > Personal API keys.
- Click Create key.
- Give it a label (e.g., "Pencel") and copy the key (starts with
lin_api_).
Step 2: Add the Connection
- Open Settings > Connections in Pencel.
- Click Add Connection and select Linear from the catalog.
- Paste your API key into the credential field.
- Click Connect.
INFO
Personal API keys have the same access as your Linear account. If you can see a project, your agent can too.
Example: Sprint Retrospective
Imagine you want an automated retrospective at the end of each sprint.
Workflow setup:
- Create a workflow called "Sprint Retrospective."
- Add a step with these instructions:
Get the most recently completed cycle in Linear. List all issues that were completed in this cycle, grouped by label (feature, bug, improvement, chore). For each group, count the issues and note any that were added mid-cycle. Identify issues that were moved out of the cycle (descoped). Write a retrospective summary with sections: What Shipped, Bugs Fixed, Descoped Items, and Metrics (total completed, total descoped, completion rate). Save to /reports/sprint-retro-[date].md.
- Schedule the workflow to run on the last day of each cycle.
Your team gets a data-driven retrospective without anyone compiling it manually.
Example: Daily Standup Prep
List all in-progress issues in the "Platform" project assigned to team members. Group by assignee. For each person, show their current issues with status and priority. Flag any issue that has been "In Progress" for more than 3 days. Post the summary to the #platform-standup Slack channel.
This combines Linear with Slack to give your team a pre-standup briefing every morning.
Example: Bug Triage
Search Linear for issues with the "bug" label that have no assignee and priority set to "No priority" or "Low." Read the description of each. Based on the description, suggest a priority (Urgent, High, Medium, Low) and the most relevant team. Update each issue with the suggested priority and add a comment explaining the triage reasoning.
This helps keep your bug backlog organized without manual sorting.
Troubleshooting
| Problem | Solution |
|---|---|
| "Authentication failed" | Your API key may be revoked. Generate a new one at Linear Settings > API, or reconnect via OAuth. |
| Cannot see a workspace | API keys are scoped to the workspace they were created in. Create a key in the correct workspace. |
| Issues not found by search | Linear search may take a moment to index new issues. Wait a few seconds and retry. |
| OAuth token expired | Disconnect and reconnect the integration. Linear OAuth tokens refresh automatically, but a manual reconnect may be needed. |
| Cycle data is empty | Make sure your team uses Linear cycles (sprints). If cycles are not enabled, the agent cannot pull cycle-related data. |
