ilia 4b9ffb5ddf docs: Update architecture and add new documentation for LLM and MCP
- Enhanced `ARCHITECTURE.md` with details on LLM models for work (Llama 3.1 70B Q4) and family agents (Phi-3 Mini 3.8B Q4).
- Introduced new documents:
  - `ASR_EVALUATION.md` for ASR engine evaluation and selection.
  - `HARDWARE.md` outlining hardware requirements and purchase plans.
  - `IMPLEMENTATION_GUIDE.md` for Milestone 2 implementation steps.
  - `LLM_CAPACITY.md` assessing VRAM and context window limits.
  - `LLM_MODEL_SURVEY.md` surveying open-weight LLM models.
  - `LLM_USAGE_AND_COSTS.md` detailing LLM usage and operational costs.
  - `MCP_ARCHITECTURE.md` describing the Model Context Protocol architecture.
  - `MCP_IMPLEMENTATION_SUMMARY.md` summarizing MCP implementation status.

These updates provide comprehensive guidance for the next phases of development and ensure clarity in project documentation.
2026-01-05 23:44:16 -05:00

129 lines
3.1 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Test script for MCP-LLM Adapter.
"""
import sys
from pathlib import Path
# Add current directory to path
current_dir = Path(__file__).parent
sys.path.insert(0, str(current_dir))
from adapter import MCPAdapter
def test_discover_tools():
"""Test tool discovery."""
print("Testing tool discovery...")
adapter = MCPAdapter()
tools = adapter.discover_tools()
print(f"✓ Discovered {len(tools)} tools:")
for tool in tools:
func = tool.get("function", {})
print(f" - {func.get('name')}: {func.get('description', '')[:50]}...")
return len(tools) > 0
def test_call_tool():
"""Test tool calling."""
print("\nTesting tool calling...")
adapter = MCPAdapter()
# Test echo tool
print(" Testing echo tool...")
result = adapter.call_tool({
"name": "echo",
"arguments": {"text": "Hello from adapter!"}
})
print(f" ✓ Echo result: {result}")
# Test weather tool
print(" Testing weather tool...")
result = adapter.call_tool({
"name": "weather",
"arguments": {"location": "New York, NY"}
})
print(f" ✓ Weather result: {result[:100]}...")
# Test time tool
print(" Testing get_current_time tool...")
result = adapter.call_tool({
"name": "get_current_time",
"arguments": {}
})
print(f" ✓ Time result: {result[:100]}...")
return True
def test_health_check():
"""Test health check."""
print("\nTesting health check...")
adapter = MCPAdapter()
is_healthy = adapter.health_check()
if is_healthy:
print("✓ MCP server is healthy")
else:
print("✗ MCP server health check failed")
return is_healthy
def test_get_tools_for_llm():
"""Test getting tools in LLM format."""
print("\nTesting get_tools_for_llm...")
adapter = MCPAdapter()
tools = adapter.get_tools_for_llm()
print(f"✓ Got {len(tools)} tools in LLM format:")
for tool in tools[:3]: # Show first 3
print(f" - {tool.get('name')}")
return len(tools) > 0
if __name__ == "__main__":
print("=" * 50)
print("MCP-LLM Adapter Test Suite")
print("=" * 50)
try:
# Test health first
if not test_health_check():
print("\n✗ Health check failed - make sure MCP server is running")
print(" Run: cd ../mcp-server && ./run.sh")
sys.exit(1)
# Test discovery
if not test_discover_tools():
print("\n✗ Tool discovery failed")
sys.exit(1)
# Test tool calling
if not test_call_tool():
print("\n✗ Tool calling failed")
sys.exit(1)
# Test LLM format
if not test_get_tools_for_llm():
print("\n✗ LLM format conversion failed")
sys.exit(1)
print("\n" + "=" * 50)
print("✓ All tests passed!")
print("=" * 50)
except Exception as e:
print(f"\n✗ Test failed: {e}")
import traceback
traceback.print_exc()
sys.exit(1)