data_science_agent / utils /huggingface_mcp_llamaindex.py
bpHigh's picture
Revamp stuff
5515a5b
raw
history blame
782 Bytes
from llama_index.tools.mcp import BasicMCPClient
from dotenv import load_dotenv
import os
import asyncio
load_dotenv()
HF_TOKEN = os.getenv("HF_TOKEN")
async def connect_and_get_tools():
# Connect to an MCP server using different transports
http_client = BasicMCPClient("https://huggingface.co/mcp", headers={"Authorization": f"Bearer {HF_TOKEN}"})
# List available tools
tools = await asyncio.wait_for(http_client.list_tools(), timeout=10.0)
return tools
async def call_tool(tool_name, tool_args):
http_client = BasicMCPClient("https://huggingface.co/mcp", headers={"Authorization": f"Bearer {HF_TOKEN}"})
result = await asyncio.wait_for(
http_client.call_tool(tool_name, tool_args),
timeout=30.0
)
return result