test_search.py•1.51 kB
#!/usr/bin/env python3
"""
Test the basic search functionality to verify MCP server works
"""
import asyncio
import json
from server import search_exa
async def test_basic_search():
"""Test basic Exa search functionality"""
print("Testing basic Exa search...")
try:
result = await search_exa(
query="AI startups",
num_results=3,
search_type="neural"
)
if "error" in result:
print(f"❌ Search failed: {result['error']}")
return False
print("✅ Search successful!")
print(f"Found {len(result.get('results', []))} results")
print(f"Request ID: {result.get('requestId', 'N/A')}")
# Show first result
if result.get('results'):
first_result = result['results'][0]
print(f"First result: {first_result.get('title', 'No title')}")
print(f"URL: {first_result.get('url', 'No URL')}")
return True
except Exception as e:
print(f"❌ Exception occurred: {e}")
return False
async def main():
"""Run the search test"""
print("Exa MCP Server Search Test")
print("=" * 30)
success = await test_basic_search()
if success:
print("\n🎉 Basic search test passed!")
print("The MCP server is working correctly with Exa API.")
else:
print("\n⚠️ Search test failed.")
if __name__ == "__main__":
asyncio.run(main())