Skip to content

--read mode removed and --write semantics changed between npm v1.0.14 and GitHub HEAD #22

Description

@rf-leon

Summary

The GitHub HEAD (v2.2.0) has two regressions in the tool filtering logic compared to the npm-published version (v1.0.14):

  1. --read mode was removed without updating the README
  2. --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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions