Skip to content

feat(mcp): expose current version + an explicit update-check tool; fix hardcoded serverInfo.version #28

Description

@stuffbucket

Problem

  • The MCP server hardcodes serverInfo.version: "1.0.0" in its initialize response (plugins/stuffbucket/skills/skill-router/scripts/mcp-server.js:436), unrelated to the real package version (currently 0.2.18). A client cannot read the true running version to reason about upgrades.
  • Update detection is surfaced only as a side effect of list_skills — a text banner in the grouped/empty path and a synthetic update-skills entry prepended to JSON results (mcp-server.js:262-308). There is no MCP tool a client can call to explicitly check for updates. The only tools exposed are list_skills and get_skill (mcp-server.js:49-82).

Proposed

  • Read the real version from the package package.json at startup and use it for serverInfo.version (and as the "current" version in detection).
  • Add an explicit MCP tool — e.g. check_updates — returning a structured status that mirrors maximal's UpdateStatus shape:
    { current, latest, update_available, checked_at, last_error, enabled }
    (see maximal src/lib/config/settings-types.ts UpdateStatusResponse and src/lib/update/update-check.ts:55-74). Notify-only — never auto-installs.
  • Keep the passive list_skills banner as a convenience, but drive it from the same detector so there is one source of truth.

Acceptance criteria

  • initialize reports the real package version, not 1.0.0.
  • A client can call check_updates and receive { current, latest, update_available, ... } without having to call list_skills.
  • The banner and the tool return consistent results (same detector).

Depends on

  • The distribution-correct detector (the npm/registry-based "latest" source). This tool is the surface; that issue is the engine.

References

  • plugins/stuffbucket/skills/skill-router/scripts/mcp-server.js:436 (hardcoded version), :262-308 (list_skills banner), :49-82 (tool list)
  • Shape to mirror: maximal UpdateStatusResponse (src/lib/config/settings-types.ts:77-86), src/lib/update/update-check.ts:55-74

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions