Jarisko
other version of server and some attempts on clients
2a169e3
from typing import List, Dict
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
from mcp.client.sse import sse_client
from contextlib import AsyncExitStack
async def connect_to_stdio_server() -> None:
"""Connect to a single MCP server."""
sessions: List[ClientSession] = []
exit_stack = AsyncExitStack()
try:
server_params = StdioServerParameters(
command="npx",
args=[
"mcp-remote",
"https://jarisko-mcp-server-deployment-sample.hf.space/gradio_api/mcp/sse",
"--transport",
"sse-only"
]
)
stdio_transport = await exit_stack.enter_async_context(
stdio_client(server_params)
)
read, write = stdio_transport
session = await exit_stack.enter_async_context(
ClientSession(read, write)
)
await session.initialize()
sessions.append(session)
print("3")
# List available tools for this session
response = await session.list_tools()
tools = response.tools
print(f"{tools=}")
except Exception as e:
print(f"Failed to connect: {e}")
async def connect_to_sse_server():
async with sse_client("https://jarisko-mcp-server-deployment-sample.hf.space/gradio_api/mcp/sse") as streams:
async with ClientSession(*streams) as session:
await session.initialize()
tools_result = await session.list_tools()
print(f"{tools_result=}")
asyncio.run(connect_to_sse_server())