linear-mcp-fast 0.3.0__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/PKG-INFO +12 -2
  2. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/README.md +11 -1
  3. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/pyproject.toml +1 -1
  4. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast.egg-info/PKG-INFO +12 -2
  5. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/setup.cfg +0 -0
  6. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast/__init__.py +0 -0
  7. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast/__main__.py +0 -0
  8. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast/reader.py +0 -0
  9. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast/server.py +0 -0
  10. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast/store_detector.py +0 -0
  11. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast.egg-info/SOURCES.txt +0 -0
  12. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast.egg-info/dependency_links.txt +0 -0
  13. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast.egg-info/entry_points.txt +0 -0
  14. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast.egg-info/requires.txt +0 -0
  15. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/src/linear_mcp_fast.egg-info/top_level.txt +0 -0
  16. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/__init__.py +0 -0
  17. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_cache.py +0 -0
  18. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_filesystem.py +0 -0
  19. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_history.py +0 -0
  20. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_indexeddb.py +0 -0
  21. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_localstorage.py +0 -0
  22. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_notifications.py +0 -0
  23. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_profile_folder.py +0 -0
  24. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_sessionstorage.py +0 -0
  25. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_chromium_snss2.py +0 -0
  26. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/ccl_shared_proto_db_downloads.py +0 -0
  27. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/common.py +0 -0
  28. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/download_common.py +0 -0
  29. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/profile_folder_protocols.py +0 -0
  30. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/serialization_formats/__init__.py +0 -0
  31. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/serialization_formats/ccl_blink_value_deserializer.py +0 -0
  32. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/serialization_formats/ccl_easy_chromium_pickle.py +0 -0
  33. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/serialization_formats/ccl_protobuff.py +0 -0
  34. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/serialization_formats/ccl_v8_value_deserializer.py +0 -0
  35. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/storage_formats/__init__.py +0 -0
  36. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/ccl_chromium_reader/storage_formats/ccl_leveldb.py +0 -0
  37. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/tools_and_utilities/Chromium_dump_local_storage.py +0 -0
  38. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/tools_and_utilities/Chromium_dump_session_storage.py +0 -0
  39. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/tools_and_utilities/benchmark.py +0 -0
  40. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/tools_and_utilities/ccl_chrome_audit.py +0 -0
  41. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/tools_and_utilities/dump_indexeddb_details.py +0 -0
  42. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_chromium_reader/tools_and_utilities/dump_leveldb.py +0 -0
  43. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_simplesnappy/ccl_simplesnappy/__init__.py +0 -0
  44. {linear_mcp_fast-0.3.0 → linear_mcp_fast-0.3.1}/vendor/ccl_simplesnappy/ccl_simplesnappy/ccl_simplesnappy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: linear-mcp-fast
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Fast MCP server for Linear - reads from Linear.app's local cache on macOS
5
5
  Author: everything-chalna
6
6
  License-Expression: MIT
@@ -32,18 +32,22 @@ While using the official Linear MCP with Claude Code, I noticed that **read oper
32
32
 
33
33
  The problem:
34
34
  - Official Linear MCP makes API calls for every read
35
+ - Issue descriptions require separate API calls
35
36
  - Responses include excessive metadata (full user objects, workflow states, etc.)
36
37
  - Context window fills up quickly when exploring issues
37
38
  - Slower response times due to network latency
38
39
 
39
40
  My solution: **Read directly from Linear.app's local cache.**
40
41
 
42
+ Linear.app stores issue descriptions in Y.js CRDT format. This package decodes them locally, so you get descriptions without API calls.
43
+
41
44
  Linear.app (Electron) syncs all your data to a local IndexedDB. This MCP server reads from that cache, giving you:
42
45
 
43
46
  - **Zero API calls** - Instant reads from disk
44
47
  - **Smaller responses** - Only the fields you need
45
48
  - **Offline access** - Works without internet
46
49
  - **Faster iteration** - No rate limits, no latency
50
+ - **Issue descriptions** - Extracts text from Y.js encoded content (v0.3.0+)
47
51
 
48
52
  ## Requirements
49
53
 
@@ -146,10 +150,16 @@ IndexedDB (LevelDB)
146
150
  ~/Library/Application Support/Linear/IndexedDB/...
147
151
  ↓ read by
148
152
  linear-mcp-fast
149
-
153
+ decodes Y.js CRDT content
150
154
  Fast, offline access to issues, teams, users, projects
151
155
  ```
152
156
 
157
+ ### Issue Descriptions
158
+
159
+ Linear stores issue descriptions in a separate `contentState` field using Y.js CRDT encoding. This package decodes the binary format to extract readable text, so `get_issue` returns the description without an API call.
160
+
161
+ Note: The extraction is text-based (not full Y.js parsing), so some formatting may be lost. For rich markdown content, use the official Linear MCP.
162
+
153
163
  ## Troubleshooting
154
164
 
155
165
  **"Linear database not found"**
@@ -8,18 +8,22 @@ While using the official Linear MCP with Claude Code, I noticed that **read oper
8
8
 
9
9
  The problem:
10
10
  - Official Linear MCP makes API calls for every read
11
+ - Issue descriptions require separate API calls
11
12
  - Responses include excessive metadata (full user objects, workflow states, etc.)
12
13
  - Context window fills up quickly when exploring issues
13
14
  - Slower response times due to network latency
14
15
 
15
16
  My solution: **Read directly from Linear.app's local cache.**
16
17
 
18
+ Linear.app stores issue descriptions in Y.js CRDT format. This package decodes them locally, so you get descriptions without API calls.
19
+
17
20
  Linear.app (Electron) syncs all your data to a local IndexedDB. This MCP server reads from that cache, giving you:
18
21
 
19
22
  - **Zero API calls** - Instant reads from disk
20
23
  - **Smaller responses** - Only the fields you need
21
24
  - **Offline access** - Works without internet
22
25
  - **Faster iteration** - No rate limits, no latency
26
+ - **Issue descriptions** - Extracts text from Y.js encoded content (v0.3.0+)
23
27
 
24
28
  ## Requirements
25
29
 
@@ -122,10 +126,16 @@ IndexedDB (LevelDB)
122
126
  ~/Library/Application Support/Linear/IndexedDB/...
123
127
  ↓ read by
124
128
  linear-mcp-fast
125
-
129
+ decodes Y.js CRDT content
126
130
  Fast, offline access to issues, teams, users, projects
127
131
  ```
128
132
 
133
+ ### Issue Descriptions
134
+
135
+ Linear stores issue descriptions in a separate `contentState` field using Y.js CRDT encoding. This package decodes the binary format to extract readable text, so `get_issue` returns the description without an API call.
136
+
137
+ Note: The extraction is text-based (not full Y.js parsing), so some formatting may be lost. For rich markdown content, use the official Linear MCP.
138
+
129
139
  ## Troubleshooting
130
140
 
131
141
  **"Linear database not found"**
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "linear-mcp-fast"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  description = "Fast MCP server for Linear - reads from Linear.app's local cache on macOS"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: linear-mcp-fast
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Fast MCP server for Linear - reads from Linear.app's local cache on macOS
5
5
  Author: everything-chalna
6
6
  License-Expression: MIT
@@ -32,18 +32,22 @@ While using the official Linear MCP with Claude Code, I noticed that **read oper
32
32
 
33
33
  The problem:
34
34
  - Official Linear MCP makes API calls for every read
35
+ - Issue descriptions require separate API calls
35
36
  - Responses include excessive metadata (full user objects, workflow states, etc.)
36
37
  - Context window fills up quickly when exploring issues
37
38
  - Slower response times due to network latency
38
39
 
39
40
  My solution: **Read directly from Linear.app's local cache.**
40
41
 
42
+ Linear.app stores issue descriptions in Y.js CRDT format. This package decodes them locally, so you get descriptions without API calls.
43
+
41
44
  Linear.app (Electron) syncs all your data to a local IndexedDB. This MCP server reads from that cache, giving you:
42
45
 
43
46
  - **Zero API calls** - Instant reads from disk
44
47
  - **Smaller responses** - Only the fields you need
45
48
  - **Offline access** - Works without internet
46
49
  - **Faster iteration** - No rate limits, no latency
50
+ - **Issue descriptions** - Extracts text from Y.js encoded content (v0.3.0+)
47
51
 
48
52
  ## Requirements
49
53
 
@@ -146,10 +150,16 @@ IndexedDB (LevelDB)
146
150
  ~/Library/Application Support/Linear/IndexedDB/...
147
151
  ↓ read by
148
152
  linear-mcp-fast
149
-
153
+ decodes Y.js CRDT content
150
154
  Fast, offline access to issues, teams, users, projects
151
155
  ```
152
156
 
157
+ ### Issue Descriptions
158
+
159
+ Linear stores issue descriptions in a separate `contentState` field using Y.js CRDT encoding. This package decodes the binary format to extract readable text, so `get_issue` returns the description without an API call.
160
+
161
+ Note: The extraction is text-based (not full Y.js parsing), so some formatting may be lost. For rich markdown content, use the official Linear MCP.
162
+
153
163
  ## Troubleshooting
154
164
 
155
165
  **"Linear database not found"**