OhMyLinearMCP - unified Linear MCP (local-fast reads + official fallback/writes) on macOS
Project description
Oh My Linear MCP
oh-my-linear is a Linear MCP router:
- Reads: local IndexedDB first (
Linear.appcache) - Writes: official Linear MCP direct
- Local read unsupported/unavailable: official fallback
3-Rule Architecture
- Every read call refreshes the local cache once.
- The router tries the local read handler first.
- If local read handling is unavailable or unsupported, the same call falls back to official Linear MCP.
Writes are always explicit through official_call_tool, which calls official Linear MCP directly.
Install
Requirements:
- macOS with
Linear.appinstalled and opened at least once - Node.js (
npx) when using defaultstdiotransport
Install in Claude Code:
claude mcp add oh-my-linear -- uvx oh-my-linear
If you want to add official Linear MCP directly (reference):
claude mcp add --transport http linear-server https://mcp.linear.app/mcp
Routing Model
Exposed Tool Surface
Local-first read tools
list_issues, get_issue, list_teams, list_projects, get_team, get_project, list_users, get_user, list_issue_statuses, get_issue_status, list_comments, list_issue_labels, list_initiatives, get_initiative, list_cycles, list_documents, get_document, list_milestones, get_milestone, get_status_updates, list_project_updates
Official passthrough tool
official_call_tool(name, args)
Use this for writes and any official-only tool.
get_status_updates automatically falls back to official MCP for unsupported local filters/types.
Migration Notes (0.6.0)
Removed MCP tools:
list_official_toolsreconnect_officialrefresh_cacheget_cache_healthreauth
Replacement:
- Use
official_call_tool(name, args)for official-only operations and writes.
CLI entrypoints:
- Primary:
oh-my-linear - Legacy aliases still available:
oh-my-linearmcp,linear-mcp-fast
Configuration
Official transport:
LINEAR_OFFICIAL_MCP_TRANSPORT:stdio(default) orhttpLINEAR_OFFICIAL_MCP_COMMAND: defaultnpxLINEAR_OFFICIAL_MCP_ARGS: default-y mcp-remote https://mcp.linear.app/mcpLINEAR_OFFICIAL_MCP_ENV: JSON object for stdio child envLINEAR_OFFICIAL_MCP_CWD: working directory for stdio childLINEAR_OFFICIAL_MCP_URL: URL for http transport (defaulthttps://mcp.linear.app/mcp)LINEAR_OFFICIAL_MCP_HEADERS: JSON headers for http transport
Auth retry suppression:
LINEAR_OFFICIAL_AUTH_RETRY_COOLDOWN_SECONDS: seconds to suppress reconnect attempts after auth-like failures (default300)
OAuth Popup Troubleshooting
If OAuth pages open repeatedly:
- Verify you are not pointing official MCP to a local unstable endpoint.
- Check
LINEAR_OFFICIAL_MCP_URL - Default should be
https://mcp.linear.app/mcp(nothttp://localhost:*)
- Check
- Confirm the official MCP auth session is valid.
- Avoid tight retry loops from clients while auth is failing.
- This server suppresses repeated auth retries for the cooldown window (default 300s).
Known Behavior
- Local cache can be degraded while still serving some reads from previous cache.
- Official fallback occurs when the local read path is unsupported/unavailable for that call.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oh_my_linear-0.6.0.tar.gz.
File metadata
- Download URL: oh_my_linear-0.6.0.tar.gz
- Upload date:
- Size: 122.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d38c9be9e2b7b38ac7116594c2813f92d368b235c7537b8d6b42a678be86a00e
|
|
| MD5 |
9a3bd4ee9ec19de320accd64412de4ed
|
|
| BLAKE2b-256 |
921fe8b22f37eca633e2af53557848c7ae675102f3a82f1d1840551fa2bbe2ad
|
File details
Details for the file oh_my_linear-0.6.0-py3-none-any.whl.
File metadata
- Download URL: oh_my_linear-0.6.0-py3-none-any.whl
- Upload date:
- Size: 126.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0925c4a797dabdf917082e708043eb661c50a1e4d69fdb652e66c72950ae86d
|
|
| MD5 |
ec7037abfd4b243c5ac58c14f8d61248
|
|
| BLAKE2b-256 |
3d7af04589e8d3d472badadbce779c0beb0c471624537b5f56caab716352eccc
|