Skip to main content
Glama

LlamaCloud MCP Server

by run-llama

Demostraciones de LlamaIndex MCP

Este repositorio demuestra cómo crear un servidor MCP usando LlamaCloud y cómo usar LlamaIndex como cliente MCP.

LlamaCloud como servidor MCP

Para proporcionar un servidor MCP local que pueda ser utilizado por un cliente como Claude Desktop, puede usar mcp-server.py . Esto le permitirá proporcionar una herramienta que, mediante RAG, le proporcionará a Claude información privada actualizada para responder preguntas. Puede proporcionar tantas herramientas como desee.

Configura tu índice de LlamaCloud

  1. Obtenga una cuenta de LlamaCloud
  2. Cree un nuevo índice con la fuente de datos que desee. En nuestro caso, usamos Google Drive y proporcionamos un subconjunto de la documentación de LlamaIndex como fuente. También puede subir documentos directamente al índice si solo desea probarlo.
  3. Obtenga una clave API de la interfaz de usuario de LlamaCloud

Configurar su servidor MCP

  1. Clonar este repositorio
  2. Cree un archivo .env y agregue dos variables de entorno:
    • LLAMA_CLOUD_API_KEY : la clave API que obtuviste en el paso anterior
    • OPENAI_API_KEY : Una clave API de OpenAI. Se utiliza para ejecutar la consulta RAG. Puede usar cualquier otro LLM si no desea usar OpenAI.

Ahora veamos el código. Primero, se instancia un servidor MCP:

mcp = FastMCP('llama-index-server')

Luego define tu herramienta usando el decorador @mcp.tool() :

@mcp.tool() def llama_index_documentation(query: str) -> str: """Search the llama-index documentation for the given query.""" index = LlamaCloudIndex( name="mcp-demo-2", project_name="Rando project", organization_id="e793a802-cb91-4e6a-bd49-61d0ba2ac5f9", api_key=os.getenv("LLAMA_CLOUD_API_KEY"), ) response = index.as_query_engine().query(query + " Be verbose and include code examples.") return str(response)

Nuestra herramienta se llama llama_index_documentation ; instancia un índice de LlamaCloud llamado mcp-demo-2 y lo utiliza como motor de consultas para responder a la consulta, incluyendo instrucciones adicionales en el mensaje. Encontrará instrucciones sobre cómo configurar su índice de LlamaCloud en la siguiente sección.

Finalmente, ejecuta el servidor:

if __name__ == "__main__": mcp.run(transport="stdio")

Tenga en cuenta el transporte stdio , utilizado para comunicarse con Claude Desktop.

Configurar Claude Desktop

  1. Instalar Claude Desktop
  2. En la barra de menú, seleccione Claude -> Settings -> Developer -> Edit Config . Aparecerá un archivo de configuración que puede editar en su editor de texto preferido.
  3. Querrás que tu configuración se parezca a esto (asegúrate de reemplazar $YOURPATH con la ruta al repositorio):
{ "mcpServers": { "llama_index_docs_server": { "command": "poetry", "args": [ "--directory", "$YOURPATH/llamacloud-mcp", "run", "python", "$YOURPATH/llamacloud-mcp/mcp-server.py" ] } } }

Asegúrese de reiniciar Claude Desktop después de configurar el archivo.

¡Ya está listo para consultar! Debería ver un icono de herramienta con su servidor debajo del cuadro de consulta en Claude Desktop, como este:

LlamaIndex como cliente MCP

LlamaIndex también cuenta con una integración de cliente MCP, lo que significa que puedes convertir cualquier servidor MCP en un conjunto de herramientas que un agente puede usar. Puedes ver esto en mcp-client.py , donde usamos BasicMCPClient para conectarnos a nuestro servidor MCP local.

Para simplificar la demostración, usamos el mismo servidor MCP que configuramos anteriormente. Normalmente, no se usaría MCP para conectar LlamaCloud a un agente de LlamaIndex; se usaría QueryEngineTool y se pasaría directamente al agente.

Configurar su servidor MCP

Para proporcionar un servidor MCP local que pueda ser utilizado por un cliente HTTP, necesitamos modificar ligeramente mcp-server.py para usar el método run_sse_async en lugar de run . Puedes encontrarlo en mcp-http-server.py .

mcp = FastMCP('llama-index-server',port=8000) asyncio.run(mcp.run_sse_async())

Obtenga sus herramientas del servidor MCP

mcp_client = BasicMCPClient("http://localhost:8000/sse") mcp_tool_spec = McpToolSpec( client=mcp_client, # Optional: Filter the tools by name # allowed_tools=["tool1", "tool2"], ) tools = mcp_tool_spec.to_tool_list()

Crea un agente y haz una pregunta

llm = OpenAI(model="gpt-4o-mini") agent = FunctionAgent( tools=tools, llm=llm, system_prompt="You are an agent that knows how to build agents in LlamaIndex.", ) async def run_agent(): response = await agent.run("How do I instantiate an agent in LlamaIndex?") print(response) if __name__ == "__main__": asyncio.run(run_agent())

¡Listo! Ya puedes usar el agente para responder preguntas desde tu índice de LlamaCloud.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor MCP local que se integra con Claude Desktop, lo que permite que las capacidades de RAG proporcionen a Claude información privada actualizada de los índices personalizados de LlamaCloud.

  1. LlamaCloud como servidor MCP
    1. Configura tu índice de LlamaCloud
    2. Configurar su servidor MCP
    3. Configurar Claude Desktop
  2. LlamaIndex como cliente MCP
    1. Configurar su servidor MCP
    2. Obtenga sus herramientas del servidor MCP
    3. Crea un agente y haz una pregunta

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A MCP server connecting to a managed index on LlamaCloud. This is a TypeScript-based MCP server that implements a connection to a managed index on LlamaCloud.
    Last updated -
    1
    4
    74
    JavaScript
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    An MCP server that allows accessing and managing ledger files through Claude by providing account listing, balance checking, and transaction register viewing capabilities.
    Last updated -
    1
    Python
    GPL 3.0
    • Apple
  • -
    security
    A
    license
    -
    quality
    A local MCP server that enables AI applications like Claude Desktop to securely access and work with Obsidian vaults, providing capabilities for reading notes, executing templates, and performing semantic searches.
    Last updated -
    60
    TypeScript
    MIT License
    • Apple
    • Linux
  • -
    security
    F
    license
    -
    quality
    An MCP server for Claude Desktop that allows users to query data from selected Google Cloud datasets by configuring project ID and datasets in the Claude Desktop configuration.
    Last updated -
    Python
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/run-llama/llamacloud-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server