Linear Local Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Linear Local Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server for fast, local-only access to Linear data via the Linear.app macOS cache.
This MCP server reads Linear's local IndexedDB cache directly, providing instant access to your Linear data without API calls. Perfect for quickly browsing issues, searching, and getting context about your team's work.
Performance: Load ~24,000 issues in under 1 second vs. multiple API round-trips.
~/Library/Application Support/Linear/)uvx linear-local-mcppipx run linear-local-mcpgit clone --recursive https://github.com/gyfis/linear-local-mcp
cd linear-local-mcp
uv run linear-local-mcpAdd to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"linear-local": {
"command": "uvx",
"args": ["linear-local-mcp"]
}
}
}| Tool | Description |
|---|---|
list_issues | List issues with filters (assignee, team, state_type, priority, updated_after). Paginated. |
get_issue | Get a single issue by identifier (e.g., T-1234) |
search_issues | Search issues by title. Paginated. |
list_users | List all users with issue counts |
get_user | Get a user by name |
list_teams | List all teams with issue counts |
list_states | List workflow states |
get_my_issues | Get issues for a user with counts by state type. Supports updated_after filter. Paginated. |
get_summary | Get counts of teams, users, states, and issues |
The list_issues and get_my_issues tools support an updated_after parameter to filter issues by last update time:
list_issues(updated_after="2024-01-01T00:00:00Z")
get_my_issues(name="me", updated_after="2024-12-25T00:00:00Z")This accepts ISO-8601 datetime strings.
Tools that return large result sets (list_issues, search_issues, get_my_issues) support cursor-based pagination:
limit to control page size (default 50, max 100)nextCursor if there are more resultscursor parameter with the nextCursor value to get the next pageExample flow:
list_issues(assignee="me", limit=20) → returns first 20 issues + nextCursorlist_issues(assignee="me", limit=20, cursor="abc123") → returns next 20 issuesOnce configured, you can ask Claude:
Linear.app (an Electron app) stores a local cache of your Linear data in IndexedDB, which is backed by LevelDB on disk. This MCP server uses ccl_chromium_reader to read Chrome/Electron's IndexedDB format directly.
The server auto-detects Linear's internal object store structure by sampling records, so it should continue working even if Linear updates their schema.
| Feature | linear-local-mcp | Official Linear MCP |
|---|---|---|
| Speed | Instant (local) | Network latency |
| Read issues | Yes | Yes |
| Create/update issues | No | Yes |
| Requires API key | No | Yes |
| Works offline | Yes | No |
| Data freshness | Last Linear.app sync | Real-time |
Use this for fast reads; use the official Linear MCP when you need to make changes.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.