Skip to content

feat: migrate mark3labs/mcp-go v0.23.1 → v0.52.0 (breaking API changes) #140

@aliwatters

Description

@aliwatters

Goal

Migrate github.com/mark3labs/mcp-go from v0.23.1 to v0.52.0 (or current latest).

Context

Deferred from #139 (the routine bump PR avoided this major because of breaking API changes). This issue is the dedicated migration cycle.

Notes

Big jump (v0.23 → v0.52). Same breaking surface as e2e-mcp. Verify against the MCP contract on each tool.

Known breaking changes (from upstream)

  • Tool argument type: map[string]interface{}any
  • Request handler signatures changed; verify each handler against the new v0.52 API
  • Likely renames in the public surface

Tasks

  1. Read the upstream changelog: https://github.com/mark3labs/mcp-go/releases (jump from v0.23.1 → v0.52.0).
  2. Apply the dependency bump:
    go get github.com/mark3labs/mcp-go@latest && go mod tidy
    
  3. Fix all build errors. Map:
    • Old Arguments map[string]interface{} → new Arguments any (assert/decode at call site)
    • Old request handler shapes → new shapes (see godoc / examples in upstream README)
  4. Verify all MCP tools still work end-to-end (go test ./... plus a manual smoke against a real client if test coverage is thin).
  5. Update any internal docs / examples referencing the old API.

Acceptance

  • go.mod on v0.52.0 (or current)
  • go build ./... and go test ./... clean
  • govulncheck clean
  • Manual smoke: server initializes and at least one tool round-trips successfully
  • PR opened, referencing this issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions