Skip to content

Migrate CodeWeaver to FastMCP v3 #237

@bashandbone

Description

@bashandbone

Overview

Migrate the CodeWeaver server and related components from FastMCP v2 to FastMCP v3, following the official FastMCP v2 → v3 migration guide.

Tasks

  1. Research breaking/vital changes:

    • Study the v2 → v3 migration guide and changelog, with special attention to:
      • New provider/transform architecture
      • Prompts now use Message objects, not dict
      • Session state/ctx changes (enable/disable components)
      • Middleware updates and API signature changes
      • Proxying and server composition features
      • Type system and configuration updates
    • Identify what affects the CodeWeaver codebase: server setup, tool integration, custom providers, middleware, and API usage
  2. Map required changes to the codebase:

    • Inventory CodeWeaver usage of FastMCP, such as:
      • Custom tool, provider, and middleware implementations
      • Registration and configuration in fastmcp.json or Python
      • Usage of prompt dicts
      • Any advanced composition, proxying, mounting, transforms
    • List what needs to change, annotated by file/module as possible
  3. Implement migration:

    • Update dependencies to FastMCP v3
    • Refactor code to meet new APIs and conventions
    • Apply transforms and update custom middlewares/providers to v3 signatures if needed
    • Migrate prompt handling to Message objects
  4. Test and validate:

    • Run all tests and add/expand tests for changed behaviors
    • Perform end-to-end checks of core code search and tool APIs
    • Validate server, proxy, and management behavior

Resources


Goal: Ensure a smooth, verified migration to FastMCP v3, with minimal disruption and test coverage for all affected functionality.

(Original prompt: Research migration needs, map to codebase, implement and test for FastMCP v3)

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions