Skip to content

B-25: MCP schema gaps: real CLI capability an agent cannot reach #288

Description

@gfargo

Severity: low-medium. Checked every tool's argv builder against --help.

  • audit omits --unattached entirely (CLI flag audit.ts:64, finding type :33, summary key :336), so
    "find media not attached to any post" is unreachable and agents parsing summary won't expect unattached.
  • optimize omits 7 real flags (tools.ts:587-611): --force, --target-size, --mode, --larger-than,
    --keep-original, --no-replace-in-place, --regenerate-thumbnails. --force matters most — because optimize is
    idempotent by hash, an agent re-encoding at a new quality gets a silent skip with no override.
  • --fallback-model is missing from all six AI tools (caption, generate_title, generate_description, tag,
    vision, classify) — it's the documented mitigation for garbage vision output.
  • Smaller gaps: convert/resize/remove_bg missing --keep-original (plus resize --quality,
    remove_bg --trim/--list-models); caption missing --prompt/--ollama-url; push missing
    --description/--post; pull missing --include-sizes/--force; sites_remove missing --keep-db.
  • No tool for config list, config remove-profile (asymmetric with the three profile tools that do exist),
    sites run (which SKILL.md documents with a full output example at :98-116), or history clear.
  • --dry-run is unreachable from almost every mutating tool. Only rename and import expose it, yet delete,
    update_metadata, posts_update, posts_delete, push and references(updateTo) all honour the global flag.
    Dry-run is the CLI's core safety primitive; its near-total absence from the tool surface is a real asymmetry.

Extracted from a repo audit performed 2026-07 (the audit doc it came from was proposed via an unmerged docs PR).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions