linear-local-mcp
Enables fast, local-only read access to Linear data via the macOS cache, allowing listing, searching, and filtering issues, users, teams, and states without API calls.
README
linear-local-mcp
MCP server for fast, local-only access to Linear data via the Linear.app macOS cache.
What it does
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.
Requirements
- macOS (Linear.app stores its cache at
~/Library/Application Support/Linear/) - Python 3.10+
- Linear.app installed and logged in (to populate the local cache)
Installation
Using uvx (recommended)
uvx linear-local-mcp
Using pipx
pipx run linear-local-mcp
From source
git clone --recursive https://github.com/gyfis/linear-local-mcp
cd linear-local-mcp
uv run linear-local-mcp
Claude Desktop Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"linear-local": {
"command": "uvx",
"args": ["linear-local-mcp"]
}
}
}
Available Tools
| 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 |
Filtering by Date
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.
Pagination
Tools that return large result sets (list_issues, search_issues, get_my_issues) support cursor-based pagination:
- Pass
limitto control page size (default 50, max 100) - Response includes
nextCursorif there are more results - Pass
cursorparameter with thenextCursorvalue to get the next page
Example flow:
- Call
list_issues(assignee="me", limit=20)→ returns first 20 issues +nextCursor - Call
list_issues(assignee="me", limit=20, cursor="abc123")→ returns next 20 issues
Example Usage
Once configured, you can ask Claude:
- "What issues are assigned to me?"
- "Show me high priority bugs in the T team"
- "Search for issues about authentication"
- "Who has the most open issues?"
Limitations
- macOS only - Reads the Linear.app local cache
- Read-only - Cannot create or update issues (use the official Linear MCP for that)
- Data freshness - Data is only as fresh as Linear.app's last sync
- Cache TTL - Data is cached for 5 minutes before reloading from disk
How it works
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.
Comparison with Official Linear MCP
| 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.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.