MCP-RAG Server

from mcp.client.sse import sse_client from mcp.client.session import ClientSession import asyncio import logging logger = logging.getLogger() logging.basicConfig(level=logging.INFO) async def connect(endpoint: str): async with sse_client(f"{endpoint}/sse") as streams: async with ClientSession(streams[0], streams[1]) as session: await session.initialize() while True: what = input("what to do? ") if what == "list": res = await session.list_prompts() print(res) elif what == "tools": res = await session.list_tools() print(res) else: res = await session.call_tool(what, {"message": "abc"}) print(res) if __name__ == "__main__": import argparse parser = argparse.ArgumentParser() parser.add_argument("--host") parser.add_argument("--port", type=int) options = parser.parse_args() endpoint = f"http://{options.host}:{options.port}" asyncio.run(connect(endpoint))