"""Discover AiVikings.ai tools with a pinned LangChain adapter. No tool calls."""
import asyncio
import json
from langchain_mcp_adapters.client import MultiServerMCPClient

async def main():
    client = MultiServerMCPClient({'aivikings': {
        'url': 'https://mcp.aivikings.ai/mcp', 'transport': 'streamable_http',
    }})
    tools = await client.get_tools()
    allowed = {'check_domain_availability', 'get_domain_pricing', 'list_domains', 'get_domain_status'}
    selected = [tool for tool in tools if tool.name in allowed]
    if not selected:
        raise RuntimeError('No expected read tools discovered; inspect the server contract')
    print(json.dumps({'discovered': len(tools), 'selected_read_tools': [tool.name for tool in selected]}, indent=2))

if __name__ == '__main__':
    asyncio.run(main())
