#!/usr/bin/env python3
"""Test tools directly from source."""
import sys
sys.path.insert(0, '/Users/earchibald/work/amicus-mcp/src')
from amicus.server import mcp
import asyncio
async def main():
tools = await mcp.get_tools()
print(f"\n✓ Total tools registered: {len(tools)}\n")
for i, tool in enumerate(tools, 1):
tool_name = tool if isinstance(tool, str) else (tool.name if hasattr(tool, 'name') else str(tool))
print(f"{i}. {tool_name}")
print()
# Check for anti-idle tools
anti_idle_tools = ['set_agent_status', 'claim_best_task', 'assess_workload']
found = [t for t in anti_idle_tools if any(
(t in tool) if isinstance(tool, str) else (hasattr(tool, 'name') and t == tool.name)
for tool in tools
)]
print(f"Anti-idle tools found: {len(found)}/{len(anti_idle_tools)}")
if found:
for t in found:
print(f" ✓ {t}")
else:
print(" ✗ None found")
return len(tools)
if __name__ == "__main__":
count = asyncio.run(main())
sys.exit(0 if count >= 13 else 1)