LlamaIndex
Conecte um agente LlamaIndex ao Edison Watch usando BasicMCPClient e McpToolSpec.
LlamaIndex se conecta ao Edison com BasicMCPClient, que seleciona automaticamente HTTP streamável para uma URL https:// como a do Edison. McpToolSpec transforma as ferramentas do servidor em ferramentas do LlamaIndex. Sua URL de conexão carrega sua chave de API, portanto nenhum cabeçalho de autenticação é necessário.
pip install llama-index-tools-mcp llama-index-llms-openai llama-indeximport asyncio
import os
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec
from llama_index.llms.openai import OpenAI
from llama_index.core.agent.workflow import FunctionAgent
async def main() -> None:
client = BasicMCPClient(os.environ["EDISON_MCP_URL"])
tools = await McpToolSpec(client=client).to_tool_list_async()
agent = FunctionAgent(tools=tools, llm=OpenAI(model="gpt-5.4-mini"))
response = await agent.run("List my available tools.")
print(response)
asyncio.run(main())Defina EDISON_MCP_URL com sua URL de conexão, por exemplo https://mcp.edison.watch/mcp/<your-api-key>/?client=llamaindex.
llama-index-llms-openai resolve cada modelo contra uma tabela de context-window
fixa e lança ValueError: Unknown model para qualquer id que não esteja nela -
então um model id muito novo pode falhar até você atualizar a integração. Escolha
um modelo que sua versão instalada conheça (atualize com
pip install -U llama-index-llms-openai), ou use OpenAILike de
llama-index-llms-openai-like para ignorar a tabela por completo.
Opcional: o cabeçalho de segredos criptografados
Para servidores com segredos com criptografia zero-knowledge, BasicMCPClient aceita um dict headers:
client = BasicMCPClient(
os.environ["EDISON_MCP_URL"],
headers={"x-edison-secret-key": os.environ["EDISON_SECRET_KEY"]},
)Os auxiliares convenientes get_tools_from_mcp_url / aget_tools_from_mcp_url não aceitam um argumento headers. Para enviar um cabeçalho personalizado com eles, passe um cliente pré-construído: aget_tools_from_mcp_url(url, client=BasicMCPClient(url, headers=...)).

