{"name":"io.github.adelaidasofia/linear-mcp","slug":"adelaidasofia-linear-mcp","title":"Linear MCP (multi-workspace, PAT auth)","description":"Multi-workspace Linear MCP — PAT auth, 57 tools + 3 prompts, substrate enforcement, drop-in.","url":"https://mcp.market/server/adelaidasofia-linear-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"devtools","tags":["devtools","security"],"presence":{"score":25,"stars":1,"forks":0,"downloads_week":25,"last_push_at":"2026-09-19T15:39:01.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/adelaidasofia/linear-mcp","website":null,"version":"0.3.2","remotes":[],"packages":[{"registryType":"pypi","identifier":"adelaidasofia-linear-mcp","version":"0.3.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Personal API Key from linear.app/settings/account/security","isRequired":true,"isSecret":true,"name":"LINEAR_PAT"}]},{"registryType":"mcpb","identifier":"https://github.com/adelaidasofia/linear-mcp/releases/download/v0.3.2/linear-mcp.mcpb","version":"0.3.2","fileSha256":"bd6c92b5ecb35a585679d43f2b2259e4ee03fa6d6f6e3eb6b54eed17289db372","transport":{"type":"stdio"},"environmentVariables":[{"description":"Personal API Key from linear.app/settings/account/security","isRequired":true,"isSecret":true,"name":"LINEAR_PAT"}]}],"tools":[{"name":"archive_notification","description":"Archive a notification (removes from inbox; reversible).","write_action":false,"price_micros":0,"input_schema":null},{"name":"attachments_for_url","description":"Reverse lookup: every attachment record across the workspace pointing at this URL. Useful to find which issue references a given Slack thread / PR / external doc.","write_action":false,"price_micros":0,"input_schema":null},{"name":"bulk_save_issues","description":"Apply the same update to multiple issues in one round-trip.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_agent_session_on_comment","description":"","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_agent_session_on_issue","description":"Open an agent session attached to an issue.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_issue_label","description":"Create a new issue label.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_issue_relation","description":"Create a relation between two issues.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_webhook","description":"Create a webhook subscription.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_attachment","description":"Delete an attachment. Destructive — uses draft+confirm.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_issue_relation","description":"Delete an issue relation by ID. Non-destructive (no cascade).","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_webhook","description":"Delete a webhook. Destructive — uses draft+confirm.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_agent_session","description":"Get an agent session by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_attachment","description":"Get one attachment by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_document","description":"Get a document by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_initiative","description":"Get an initiative by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_issue","description":"Get a single issue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_issue_status","description":"Return the current workflow state for one issue (id or identifier).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_milestone","description":"Get a project milestone by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_notification","description":"Get one notification by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_project","description":"Get a Linear project by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_team","description":"Get a Linear team by its UUID. Includes workflow states inline.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_user","description":"Get a Linear user by ID. Pass `me` to look up the PAT owner.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_webhook","description":"Get a webhook by UUID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"healthcheck","description":"Verify PAT validity for each workspace + report draft store + audit log path.","write_action":false,"price_micros":0,"input_schema":null},{"name":"link_url_to_issue","description":"Attach an arbitrary URL to an issue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_agent_sessions","description":"List agent sessions. `issue_id` scopes to one issue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_attachments","description":"List attachments on one issue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_comments","description":"List comments. Scope by `issue_id` or `project_id`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_cycles","description":"List cycles, optionally scoped to one team.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_documents","description":"List documents in the workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_initiatives","description":"List initiatives in the workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_issue_labels","description":"List issue labels. `team_id` scopes to one team; omit for org-wide.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_issue_relations","description":"List issue relations. `issue_id` filters to relations involving one issue.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_issue_statuses","description":"List workflow states (issue statuses) per team.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_issues","description":"List issues with common filters.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_milestones","description":"List project milestones. `project_id` scopes to one project.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_notifications","description":"List notifications in the viewer's inbox.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_projects","description":"List projects.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_teams","description":"List teams in a Linear workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_users","description":"List users in a Linear workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_webhooks","description":"List webhooks configured for the workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_workspaces","description":"List configured Linear workspaces with PAT prefix + primary status.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_all_notifications_read","description":"Mark every notification in the inbox as read.","write_action":false,"price_micros":0,"input_schema":null},{"name":"mark_notification_read","description":"Mark a notification read (or unread by passing `read=False`).","write_action":false,"price_micros":0,"input_schema":null},{"name":"notifications_unread_count","description":"Return the count of unread notifications in the inbox.","write_action":false,"price_micros":0,"input_schema":null},{"name":"save_comment","description":"Create or update a comment.","write_action":true,"price_micros":0,"input_schema":null},{"name":"save_document","description":"Create or update a document.","write_action":true,"price_micros":0,"input_schema":null},{"name":"save_initiative","description":"Create or update an initiative.","write_action":true,"price_micros":0,"input_schema":null},{"name":"save_issue","description":"Create or update an issue.","write_action":true,"price_micros":0,"input_schema":null},{"name":"save_milestone","description":"Create or update a project milestone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"save_project","description":"Create or update a Linear project.","write_action":true,"price_micros":0,"input_schema":null},{"name":"save_status_update","description":"Post a status update against a project.","write_action":true,"price_micros":0,"input_schema":null},{"name":"search_documents","description":"Full-text search across workspace documents (NOT Linear's dev docs).","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_issues","description":"Full-text search across issues in the workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_projects","description":"Full-text search across projects in the workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"semantic_search","description":"Semantic search across the entire workspace.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_webhook","description":"Update an existing webhook by UUID.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-27T17:07:09.437Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T17:07:09.442Z","components":{"code":{"score":25,"max":25,"notes":["30 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 8 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"adelaidasofia-linear-mcp","version":"0.3.2","found":true,"weeklyDownloads":25,"license":"MIT","dependencyCount":2,"publishedAt":"2026-05-24T15:01:01.343232Z","repositoryUrl":"https://github.com/adelaidasofia/linear-mcp"}],"repo":{"found":true,"owner":"adelaidasofia","repo":"linear-mcp","archived":false,"pushedAt":"2026-09-19T15:39:01Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/23468524?v=4","ownerCreatedAt":"2016-11-15T03:55:40Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/23468524?v=4&s=128","source":"github"},"presence":{"stars":1,"forks":0,"downloadsWeek":25,"license":"MIT","lastPushAt":"2026-09-19T15:39:01.000Z","score":25}}}},"grade_history":[],"reviews":[]}