-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
Description
Component
MCP Server
Bug Description
In addition to better-sqlite3 (#73), two other native C++ dependencies are also blocked in the Claude Desktop Cowork sandbox:
| Package | Version | Type | Impact |
|---|---|---|---|
onnxruntime-node |
^1.23.2 | C++ addon (NAPI) | Embeddings system unavailable — semantic search, similar memory lookup, and all vector-based features fail |
sqlite-vec |
^0.1.7-alpha.2 | C extension (SQLite loadable) | Vector search unavailable — sqlite-vec requires loading a native .so/.dylib extension into SQLite |
Root cause is identical to #73: the Cowork sandbox has a read-only plugin filesystem and blocks node-gyp from downloading Node.js headers (HTTP 403 to nodejs.org).
Expected: All plugin features including embeddings and vector search should work in Cowork.
Actual: These features silently fail because the native modules cannot be compiled or loaded.
Steps to Reproduce
- Install
@pcircle/memeshplugin in Claude Desktop Cowork mode - Start a new Cowork session
- Check if
onnxruntime-nodeis loadable:node -e "require('onnxruntime-node')" - Check if
sqlite-vecis loadable:node -e "require('sqlite-vec')" - Both fail with native module errors — no prebuilt binaries available and node-gyp compilation is blocked
Error for onnxruntime-node:
Error: Cannot find module '../../bin/napi-v3/linux/arm64/onnxruntime_binding.node'
Error for sqlite-vec:
Error: Cannot find module '../build/Release/sqlite_vec.node'
Error Output
For onnxruntime-node:
Error: Cannot find module '../../bin/napi-v3/linux/arm64/onnxruntime_binding.node'
- No prebuilt binary for linux-arm64 included in the package
- node-gyp cannot compile: HTTP 403 downloading https://nodejs.org/download/release/v22.22.0/node-v22.22.0-headers.tar.gz
For sqlite-vec:
Error: Cannot find module '../build/Release/sqlite_vec.node'
- Same root cause: no prebuilt binary, node-gyp compilation blocked
Both failures trace back to:
1. Read-only plugin filesystem (.claude-plugin/memesh/) prevents npm install
2. Sandbox network restrictions block node-gyp header downloads (HTTP 403)MeMesh Version
2.8.10
Claude Code Client
Other
Node.js Version
v22.22.0
Operating System
Linux
MCP Configuration
Additional Context
Environment:
- Client: Claude Desktop (Cowork mode) — selected "Other" as Cowork is not yet an option (see [Feature]: Add Claude Desktop Cowork support documentation and Cowork option in issue template #75)
- OS: Ubuntu 22.04 LTS, ARM64 (aarch64)
- Node.js: v22.22.0
- Plugin version: 2.8.10
Impact assessment:
onnxruntime-nodepowers the embeddings system — without it, semantic search and similar memory lookup are completely unavailablesqlite-vecpowers vector search — without it, vector-indexed queries fail- Combined with
better-sqlite3([Bug]: MCP Server fails to start in Claude Desktop Cowork environment (better-sqlite3 native compilation blocked) #73), this means all three native dependencies in the plugin are broken in Cowork
Proposed solution:
Apply the same prebuild strategy recommended in #73 to all three packages:
- onnxruntime-node: Ship
linux-arm64NAPI binary via prebuildify or include the correct binary in the package - sqlite-vec: Ship
linux-arm64.soloadable extension via prebuildify - As a fallback, consider pure-JS alternatives where possible (e.g.,
@xenova/transformerswith WASM backend for embeddings)
Reactions are currently unavailable