Linear MCP (multi-workspace, PAT auth)
Multi-workspace Linear MCP — PAT auth, 57 tools + 3 prompts, substrate enforcement, drop-in.
Connector by adelaidasofia · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Claude Desktop, Cursor, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install connector/adelaidasofia-linear-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 35 read · 17 write · 4 delete · 1 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 57
Read from the source code; the running server may list different tools.
Read 35 · Look things up without changing anything.
get_agent_sessionget_attachmentget_documentget_initiativeget_issueget_issue_statusget_milestoneget_notificationget_projectget_teamget_userget_webhook
Show 23 more tools
healthchecklist_agent_sessionslist_attachmentslist_commentslist_cycleslist_documentslist_initiativeslist_issue_labelslist_issue_relationslist_issue_statuseslist_issueslist_milestoneslist_notificationslist_projectslist_teamslist_userslist_webhookslist_workspacesnotifications_unread_countsearch_documentssearch_issuessearch_projectssemantic_search
Write 17 · Create, change, send or run things.
bulk_save_issuescreate_agent_session_on_commentcreate_agent_session_on_issuecreate_issue_labelcreate_issue_relationcreate_webhooklink_url_to_issuemark_all_notifications_readmark_notification_readsave_commentsave_documentsave_initiative
Show 5 more tools
save_issuesave_milestonesave_projectsave_status_updateupdate_webhook
Delete 4 · Delete, drop, revoke or wipe things.
archive_notificationdelete_attachmentdelete_issue_relationdelete_webhook
Not yet classified 1 · We could not tell from the name and description.
attachments_for_url
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
LINEAR_PAT
Network hosts it talks to 1
github.com· found in install command
Tools (57)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
archive_notificationArchive a notification (removes from inbox; reversible).
attachments_for_urlReverse lookup: every attachment record across the workspace pointing at this URL. Useful to find which issue references a given Slack thread / PR / external doc.
bulk_save_issuesApply the same update to multiple issues in one round-trip. `ids` is a list of issue UUIDs. Every other arg is an optional field to set on all of them (skip args you don't want to change). Linear's `issueBatchUpdate` mutation does the work server-side — way faster than N separate `save_issue` calls for bulk ops like "mark these 50 as Done" or "reassign these to me." `auth_phrase` (REQUIRED, v0.3) must be one of: "go", "yes do it", "confirmed", "execute", "go cancel", "go update". Without this explicit confirmation a single hallucinated arg could mass-modify pre-existing shared workspace data…
create_agent_session_on_commentOpen an agent session attached to a comment (typically a @mention of the agent app user).
create_agent_session_on_issueOpen an agent session attached to an issue. `session_type` is one of `comment` (the agent posts a comment as its output) or `commentThread` (the agent threads under existing comments). `external_url` lets the agent surface a link back to its own dashboard / run log.
create_issue_labelCreate a new issue label. `team_id` makes a team-scoped label. Omit for workspace-scoped. `color` is a 7-char hex (`#RRGGBB`). `parent_id` nests this label under another (Linear supports two-level label hierarchies).
create_issue_relationCreate a relation between two issues. `type` must be one of: `blocks` (issue blocks related_issue), `duplicate` (issue duplicates related_issue), or `related` (no directionality). Linear automatically creates the inverse relation visible on the other issue.
create_webhookCreate a webhook subscription. `url` is your HTTPS receiver. `resource_types` defaults to `["Issue", "Comment", "IssueLabel"]` if omitted — adjust as needed (full list at linear.app/developers/webhooks). `team_id` scopes to one team; `all_public_teams=True` subscribes to every public team in the org. `secret` is your HMAC signing secret — Linear adds it to the `Linear-Signature` header on every event.
delete_attachmentDelete an attachment. Destructive — uses draft+confirm. Two-call flow identical to `delete_webhook`. The first call returns a draft_id + preview of the attachment that will be removed; the second call (with `confirm_draft_id`) commits.
delete_issue_relationDelete an issue relation by ID. Non-destructive (no cascade).
delete_webhookDelete a webhook. Destructive — uses draft+confirm. Two-call flow: 1. `delete_webhook(id=...)` returns a `draft_id` plus a preview of which webhook is about to go away. 2. `delete_webhook(id=..., confirm_draft_id=<draft_id>)` actually issues `webhookDelete` against Linear. Drafts expire after 1 hour (override with `LINEAR_MCP_DRAFT_TTL_SECONDS`).
get_agent_sessionGet an agent session by UUID.
get_attachmentGet one attachment by UUID.
get_documentGet a document by UUID.
get_initiativeGet an initiative by UUID.
Show 42 more tools
get_issueGet a single issue. `id` accepts either the UUID or the human identifier (e.g. `ONDE-123`). When given an identifier, the tool resolves it through a one-shot search.
get_issue_statusReturn the current workflow state for one issue (id or identifier). Convenience tool: the existing get_issue already returns state, but this is the minimal-fields variant for status-driven automations.
get_milestoneGet a project milestone by UUID.
get_notificationGet one notification by UUID.
get_projectGet a Linear project by UUID.
get_teamGet a Linear team by its UUID. Includes workflow states inline.
get_userGet a Linear user by ID. Pass `me` to look up the PAT owner. For `me`, the server resolves it via the viewer query and substitutes the resolved id.
get_webhookGet a webhook by UUID.
healthcheckVerify PAT validity for each workspace + report draft store + audit log path. For each workspace, calls the `viewer` query. Returns user info + the organization the PAT is scoped to. A failure means the PAT has been revoked or rotated and needs re-generation at linear.app/settings/account/security.
link_url_to_issueAttach an arbitrary URL to an issue. Linear renders the link in the issue sidebar. Pass `title` and `icon_url` to customize the display; otherwise Linear fetches OpenGraph metadata from the URL.
list_agent_sessionsList agent sessions. `issue_id` scopes to one issue.
list_attachmentsList attachments on one issue.
list_commentsList comments. Scope by `issue_id` or `project_id`.
list_cyclesList cycles, optionally scoped to one team. `team_id` is the team UUID. Omit to list cycles across every team.
list_documentsList documents in the workspace.
list_initiativesList initiatives in the workspace. Initiatives are Linear's top-level org-wide goals that contain multiple projects.
list_issue_labelsList issue labels. `team_id` scopes to one team; omit for org-wide.
list_issue_relationsList issue relations. `issue_id` filters to relations involving one issue.
list_issue_statusesList workflow states (issue statuses) per team. `team_id` scopes results to one team. Omit to list every workflow state across the workspace.
list_issuesList issues with common filters. `assignee_id` accepts a user UUID or the literal `me`. `state_type` accepts one of: backlog, unstarted, started, completed, canceled, triage. `query` does a full-text search across title + description. `filter` lets you pass a raw Linear IssueFilter for cases the convenience args don't cover. `order_by` is `updatedAt` (default) or `createdAt`.
list_milestonesList project milestones. `project_id` scopes to one project.
list_notificationsList notifications in the viewer's inbox. `unread_only=True` restricts to notifications with no `readAt`. Nodes carry `__typename` (IssueNotification, ProjectNotification, etc.) so an agent can branch on category.
list_projectsList projects. `team_id` scopes to projects involving one team. `state` filters by project state (one of: backlog, planned, started, paused, completed, canceled). Omit for all.
list_teamsList teams in a Linear workspace. `workspace` selects which configured PAT to use (defaults to primary). `first` is the page size (max 250); `after` is the cursor from a previous response's pageInfo.endCursor.
list_usersList users in a Linear workspace. `include_disabled` flips the Linear `includeDisabled` filter so you can see members who have been removed from the org.
list_webhooksList webhooks configured for the workspace.
list_workspacesList configured Linear workspaces with PAT prefix + primary status. Returns a dict with `workspaces` (list of redacted profiles), `primary` (alias of the default workspace), and `errors` (config errors found at load time). Tokens never appear in the response.
mark_all_notifications_readMark every notification in the inbox as read. `category` optionally scopes to one notification category (e.g. `triageResponsibility`, `assigned`).
mark_notification_readMark a notification read (or unread by passing `read=False`).
notifications_unread_countReturn the count of unread notifications in the inbox.
save_commentCreate or update a comment. Pass `id` to edit an existing comment (only `body` is updateable). Creating requires `body` and either `issue_id` or `project_id`. `parent_id` threads the comment as a reply.
save_documentCreate or update a document. Pass `id` to update. Creating requires `title` and one of `project_id` or `initiative_id` (documents attach to a project or initiative in Linear's model).
save_initiativeCreate or update an initiative. Pass `id` to update; omit to create. Status is one of `Planned`, `Active`, `Completed` (string, not enum) per Linear's API.
save_issueCreate or update an issue. Pass `id` to update. Creating requires `title` and `team_id`. `assignee_id` accepts a UUID or `me`. `priority` is 0-4 (0=none, 1=urgent, 2=high, 3=medium, 4=low).
save_milestoneCreate or update a project milestone. Pass `id` to update. Creating requires `name` and `project_id`.
save_projectCreate or update a Linear project. Pass `id` to update an existing project; omit `id` (and pass `team_ids`) to create a new one. Linear requires at least one team when creating. Dates are ISO-8601 strings (`YYYY-MM-DD`). `priority` is 0-4 (0=none, 1=urgent, 2=high, 3=medium, 4=low).
save_status_updatePost a status update against a project. `health` is one of `onTrack`, `atRisk`, `offTrack` (Linear enums). `body` is markdown.
search_documentsFull-text search across workspace documents (NOT Linear's dev docs).
search_issuesFull-text search across issues in the workspace. Backed by Linear's `searchIssues` GraphQL field (verified via introspection). Returns nodes with the standard issue shape plus a `totalCount` so the agent knows how many more hits exist beyond the current page.
search_projectsFull-text search across projects in the workspace.
semantic_searchSemantic search across the entire workspace. Returns heterogeneous nodes (issues, projects, documents, comments, initiatives). Each node carries `__typename` so the agent can branch on entity kind. Use this when the search target is conceptual ("payment retry logic") rather than exact-string ("PAY-123").
update_webhookUpdate an existing webhook by UUID.
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 33
- Last commit
- Sep 19, 2026 (1 month ago)
- Last release
- May 25, 2026 (5 months ago)
- Last package publish
- May 24, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.adelaidasofia/linear-mcp- Version
- 0.3.2
- Auth
- API key
- Packages
- pypi adelaidasofia-linear-mcpmcpb https://github.com/adelaidasofia/linear-mcp/releases/download/v0.3.2/linear-mcp.mcpb
- License
- MIT
- Repository
- github.com/adelaidasofia/linear-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from adelaidasofia
- 0.567score
Instagram MCP
adelaidasofia
Official, multi-account Instagram Graph API MCP: read, publish, analytics, comments, DMs.
ConnectorAFreshness: ALocal★ 11↓ 57/wkClaude Code +5 - 0.561score
WhatsApp MCP
adelaidasofia
WhatsApp MCP by adelaidasofia
ConnectorAFreshness: ALocal★ 6↓ 36/wkClaude Code +5 - 0.533score
FastMCP server for Apollo
adelaidasofia
FastMCP server for Apollo.io — 22 tools: sequences, campaign health, mailbox warmup, enrichment,…
ConnectorAFreshness: ALocal★ 3Claude Desktop - 0.533score
Multi-account MCP for Gmail, Calendar, Drive, Docs, and Sheets — 61 tools, token
adelaidasofia
Multi-account MCP for Gmail, Calendar, Drive, Docs, and Sheets — 61 tools, token-efficient, macOS…
ConnectorAFreshness: ALocal★ 3Claude Desktop - 0.527score
macOS-only MCP server that exposes iMessage chat
adelaidasofia
macOS-only MCP server that exposes iMessage chat.db to Claude and exports per-chat history to an…
ConnectorAFreshness: ALocal★ 2Claude Desktop - 0.527score
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, a
adelaidasofia
Multi-workspace Slack MCP server with draft+confirm safety, vault auto-export, and triple-mode…
ConnectorAFreshness: ALocal★ 2Claude Desktop
Cite this page
Linear MCP (multi-workspace, PAT auth). Agent Mart. https://agentmart.dev/connectors/adelaidasofia-linear-mcp (last updated 2026-10-25)