Summary
The GitHub HEAD (v2.2.0) has two regressions in the tool filtering logic compared to the npm-published version (v1.0.14):
--read mode was removed without updating the README
--write mode now loads both read AND write tools instead of write-only
Details
1. --read flag silently dropped
The npm v1.0.14 tool-filters.js parses four modes: --all, --write, --read, --essential.
GitHub HEAD tool-filters.ts only parses three:
// GitHub HEAD - no --read
export interface ToolFilterOptions {
mode: 'essential' | 'all' | 'write'; // 'read' removed from union type
}
Passing --read now silently falls through to essential mode. The case 'read' branch in server.ts was also removed.
The README still documents --read as a valid flag.
2. --write mode loads read tools too
npm v1.0.14 (server.js):
case 'write':
// Only load write tools
if (!isWrite) return; // correct: skips non-write tools
break;
GitHub HEAD (server.ts):
case 'write':
// Load read and write tools
if (!isRead && !isWrite) return; // loads both read AND write tools
break;
The comment acknowledges this is intentional, but the CLI flag name --write is misleading if it also loads read tools.
3. MCP Resources removed
npm v1.0.14 includes addMetabaseResources(server, metabaseClient) which exposes metabase://dashboards, metabase://cards, etc. as MCP resources. GitHub HEAD removed this entirely.
Expected behavior
If --read was intentionally removed, the README should be updated. If the --write semantics were intentionally changed to include read tools, it should either be renamed (e.g., --no-write or --read-write) or documented clearly.
Environment
- npm version:
@cognitionai/metabase-mcp-server@1.0.14
- GitHub HEAD: v2.2.0 (commit 3efbede as of writing)
Summary
The GitHub HEAD (v2.2.0) has two regressions in the tool filtering logic compared to the npm-published version (v1.0.14):
--readmode was removed without updating the README--writemode now loads both read AND write tools instead of write-onlyDetails
1.
--readflag silently droppedThe npm v1.0.14
tool-filters.jsparses four modes:--all,--write,--read,--essential.GitHub HEAD
tool-filters.tsonly parses three:Passing
--readnow silently falls through toessentialmode. Thecase 'read'branch inserver.tswas also removed.The README still documents
--readas a valid flag.2.
--writemode loads read tools toonpm v1.0.14 (
server.js):GitHub HEAD (
server.ts):The comment acknowledges this is intentional, but the CLI flag name
--writeis misleading if it also loads read tools.3. MCP Resources removed
npm v1.0.14 includes
addMetabaseResources(server, metabaseClient)which exposesmetabase://dashboards,metabase://cards, etc. as MCP resources. GitHub HEAD removed this entirely.Expected behavior
If
--readwas intentionally removed, the README should be updated. If the--writesemantics were intentionally changed to include read tools, it should either be renamed (e.g.,--no-writeor--read-write) or documented clearly.Environment
@cognitionai/metabase-mcp-server@1.0.14