Skip to main content
Glama

Recursive Companion MCP

verify_migration.shβ€’3.25 kB
#!/bin/bash # FastMCP Migration Verification Script # Tests all 8 migrated tools and both transport modes set -e echo "πŸ” FastMCP Migration Verification" echo "==================================" echo "" # Test 1: Package Import echo "βœ“ Test 1: Package Import" uv run python -c "import recursive_companion_mcp; print(' Package imported successfully')" echo "" # Test 2: Core Module echo "βœ“ Test 2: Core Module Import" uv run python -c "from recursive_companion_mcp.core import mcp; print(' FastMCP instance available')" echo "" # Test 3: All Tools Import echo "βœ“ Test 3: Tool Imports" uv run python -c " from recursive_companion_mcp.tools import ( start_refinement, continue_refinement, get_refinement_status, get_final_result, list_refinement_sessions, current_session, abort_refinement, quick_refine, ) print(' All 8 tools imported successfully') " echo "" # Test 4: Tool Registration echo "βœ“ Test 4: Tool Registration" uv run python -c " import asyncio from recursive_companion_mcp.core import mcp async def check_tools(): tools = await mcp.list_tools() print(f' Found {len(tools)} tools registered:') for tool in tools: print(f' - {tool.name}') assert len(tools) == 8, f'Expected 8 tools, got {len(tools)}' print(' βœ… All 8 tools registered correctly') asyncio.run(check_tools()) " echo "" # Test 5: HTTP Main Function echo "βœ“ Test 5: HTTP Transport Availability" uv run python -c " from recursive_companion_mcp import http_main, main print(' stdio main() available:', callable(main)) print(' http_main() available:', callable(http_main)) " echo "" # Test 6: Incremental Engine Preservation echo "βœ“ Test 6: Core Engine Preservation" uv run python -c " from recursive_companion_mcp.tools.refinement import get_incremental_engine engine, tracker = get_incremental_engine() print(' Incremental engine initialized:', engine is not None) print(' Session tracker available:', tracker is not None) " echo "" # Test 7: Formatting Utilities echo "βœ“ Test 7: Response Formatting" uv run python -c " from recursive_companion_mcp.formatting import ( format_refinement_start, format_refinement_continue, format_refinement_status, format_final_result, format_session_list, format_current_session, format_abort_result, format_quick_refine, ) print(' All 8 formatters imported successfully') " echo "" # Test 8: Decorators echo "βœ“ Test 8: Custom Decorators" uv run python -c " from recursive_companion_mcp.decorators import inject_client_context from recursive_companion_mcp.core import handle_tool_errors, format_output print(' All decorators available') " echo "" echo "==================================" echo "βœ… Migration Verification PASSED" echo "" echo "Summary:" echo " βœ“ Package structure correct" echo " βœ“ All 8 tools migrated" echo " βœ“ Both transports available" echo " βœ“ Core engines preserved" echo " βœ“ Formatters working" echo " βœ“ Decorators implemented" echo "" echo "Ready for deployment!" echo "" echo "To run the server:" echo " stdio mode: uv run python -m recursive_companion_mcp" echo " HTTP mode: MCP_TRANSPORT=http MCP_HTTP_PORT=8086 uv run python -m recursive_companion_mcp"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/democratize-technology/recursive-companion-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server