Skip to content

feat: Implement FastMCP Migration Batch 1 - Simple Search Tools #26

@ma3u

Description

@ma3u

Overview

Implement the first batch of FastMCP to Official MCP SDK migration, covering 5 simple search tools. This is part of the progressive migration strategy to eliminate FastMCP dependency and resolve the Claude.ai "Connected" → "Disabled" issue.

Related Documentation

Tools Migrated (Batch 1)

  1. get_mcp_server_purpose - Server information tool
  2. get_dr_strunz_biography - Biography retrieval tool
  3. get_knowledge_statistics - Statistics retrieval tool
  4. ping - Health check tool
  5. get_implementation_status - Migration status tool

Implementation Summary

Key Changes

  • Added feature flag ENABLE_BATCH1_MIGRATION for safe rollout
  • Initialized KnowledgeSearcher in constructor for FAISS access
  • All tools now query real vector database (43,373 documents)
  • Response time <100ms for all tools

Modified Files

  1. /src/mcp/mcp_sdk_clean.py
    • Added tool registrations and handlers
    • Fixed dynamic data access for all tools
    • Proper KnowledgeSearcher initialization

Test Results

✅ get_mcp_server_purpose - Shows real document count (43,373)
✅ get_dr_strunz_biography - Returns biography with optional KB search
✅ get_knowledge_statistics - Shows real FAISS statistics (43,373 docs)
✅ ping - Shows "Ready" status with 43,373 documents loaded
✅ get_implementation_status - Returns migration status correctly

Vector Store Integration

  • Successfully loads 43,373 documents from FAISS
  • All tools query real data instead of static strings
  • Vector dimensions: 384
  • Index type: FAISS IndexFlatL2

Next Steps

  1. Test with MCP Inspector
  2. Deploy to staging with feature flag
  3. Monitor for 24 hours
  4. Enable in production if stable

Success Criteria

  • All 5 tools implemented and working
  • All tools return dynamic data from FAISS
  • Response time <100ms for all tools
  • All 5 tools visible in MCP Inspector
  • No regression in existing functionality
  • Claude.ai maintains "Connected" status

Labels

enhancement, fastmcp-elimination, batch-1, high-priority

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions