Skip to main content
Glama

MCP LLMS-TXT Documentation Server

by langchain-ai

Servidor de documentación MCP LLMS-TXT

Descripción general

llms.txt es un índice de sitios web para LLM, que proporciona información general, orientación y enlaces a archivos Markdown detallados. IDEs como Cursor y Windsurf, o aplicaciones como Claude Code/Desktop, pueden usar llms.txt para recuperar el contexto de las tareas. Sin embargo, estas aplicaciones utilizan diferentes herramientas integradas para leer y procesar archivos como llms.txt . El proceso de recuperación puede ser opaco y no siempre es posible auditar las llamadas a las herramientas ni el contexto devuelto.

MCP ofrece a los desarrolladores un control total sobre las herramientas que utilizan estas aplicaciones. En este trabajo, creamos un servidor MCP de código abierto para proporcionar a las aplicaciones host MCP (p. ej., Cursor, Windsurf, Claude Code/Desktop) (1) una lista de archivos llms.txt definida por el usuario y (2) una herramienta fetch_docs sencilla que lee las URL dentro de cualquiera de los archivos llms.txt proporcionados. Esto permite al usuario auditar cada llamada a la herramienta, así como el contexto devuelto.

llms-txt

Puede encontrar archivos llms.txt para langgraph y langchain aquí:

Bibliotecallms.txt
LangGraph Pythonhttps://langchain-ai.github.io/langgraph/llms.txt
LangGraph JShttps://langchain-ai.github.io/langgraphjs/llms.txt
LangChain Pythonhttps://python.langchain.com/llms.txt
LangChain JShttps://js.langchain.com/llms.txt

Inicio rápido

Instalar uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Elija un archivo llms.txt para utilizar.
  • Por ejemplo, aquí está el archivo llms.txt de LangGraph.

Nota: Seguridad y control de acceso al dominio

Por razones de seguridad, mcpdoc implementa controles estrictos de acceso al dominio:

  1. Archivos llms.txt remotos : Al especificar una URL de llms.txt remota (p. ej., https://langchain-ai.github.io/langgraph/llms.txt ), mcpdoc agrega automáticamente solo ese dominio específico ( langchain-ai.github.io ) a la lista de dominios permitidos. Esto significa que la herramienta solo puede obtener documentación de las URL de ese dominio.
  2. Archivos llms.txt locales : Al usar un archivo local, no se añaden dominios automáticamente a la lista de permitidos. Debe especificar explícitamente qué dominios se permiten mediante el parámetro --allowed-domains .
  1. Agregar dominios adicionales : para permitir la obtención de dominios más allá de los incluidos automáticamente:
  • Utilice --allowed-domains domain1.com domain2.com para agregar dominios específicos
  • Utilice --allowed-domains '*' para permitir todos los dominios (úselo con precaución)

Esta medida de seguridad evita el acceso no autorizado a dominios no aprobados explícitamente por el usuario, garantizando que la documentación solo pueda recuperarse de fuentes confiables.

(Opcional) Pruebe el servidor MCP localmente con los archivos llms.txt que elija:
uvx --from mcpdoc mcpdoc \ --urls "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt" "LangChain:https://python.langchain.com/llms.txt" \ --transport sse \ --port 8082 \ --host localhost

Captura de pantalla del 18/03/2025 a las 15:29 y 30 h

npx @modelcontextprotocol/inspector

Captura de pantalla del 18/03/2025 a las 15:30

  • Aquí puedes probar las llamadas tool .
Conectarse al cursor
  • Abra Cursor Settings y la pestaña MCP .
  • Esto abrirá el archivo ~/.cursor/mcp.json .

Captura de pantalla del 19/03/2025 a las 11:01:31

  • Pegue lo siguiente en el archivo (usamos el nombre langgraph-docs-mcp y el enlace a LangGraph llms.txt ).
{ "mcpServers": { "langgraph-docs-mcp": { "command": "uvx", "args": [ "--from", "mcpdoc", "mcpdoc", "--urls", "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt LangChain:https://python.langchain.com/llms.txt", "--transport", "stdio" ] } } }
  • Confirme que el servidor se esté ejecutando en la pestaña Cursor Settings/MCP .
  • La mejor práctica es luego actualizar las reglas globales del cursor (usuario).
  • Abra Settings/Rules del cursor y actualice User Rules con lo siguiente (o similar):
for ANY question about LangGraph, use the langgraph-docs-mcp server to help answer -- + call list_doc_sources tool to get the available llms.txt file + call fetch_docs tool to read it + reflect on the urls in llms.txt + reflect on the input question + call fetch_docs on any urls relevant to the question + use this to answer the question
  • CMD+L (en Mac) para abrir el chat.
  • Asegúrese de que agent esté seleccionado.

Captura de pantalla del 18/03/2025 a las 13:56 54

A continuación, prueba con un ejemplo de solicitud, como por ejemplo:

what are types of memory in LangGraph?

Captura de pantalla del 18/03/2025 a las 13:58

Conéctate a Windsurf

  • Abra Cascade con CMD+L (en Mac).
  • Haga clic en Configure MCP para abrir el archivo de configuración, ~/.codeium/windsurf/mcp_config.json .
  • Actualice con langgraph-docs-mcp como se indicó anteriormente.

Captura de pantalla del 19/03/2025 a las 11:02:52

  • Actualizar Windsurf Rules/Global rules con lo siguiente (o similar):
for ANY question about LangGraph, use the langgraph-docs-mcp server to help answer -- + call list_doc_sources tool to get the available llms.txt file + call fetch_docs tool to read it + reflect on the urls in llms.txt + reflect on the input question + call fetch_docs on any urls relevant to the question

Captura de pantalla del 18/03/2025 a las 14:02

A continuación, prueba el ejemplo:

  • Realizará sus llamadas de herramientas.

Captura de pantalla del 18/03/2025 a las 14:03 07

Conectarse a Claude Desktop

  • Abra Settings/Developer para actualizar ~/Library/Application\ Support/Claude/claude_desktop_config.json .
  • Actualice con langgraph-docs-mcp como se indicó anteriormente.
  • Reinicie la aplicación Claude Desktop.

[!Nota] Si tiene problemas con la incompatibilidad de la versión de Python al intentar agregar herramientas MCPDoc a Claude Desktop, puede especificar explícitamente la ruta del archivo ejecutable de python en el comando uvx .

{ "mcpServers": { "langgraph-docs-mcp": { "command": "uvx", "args": [ "--python", "/path/to/python", "--from", "mcpdoc", "mcpdoc", "--urls", "LangGraph:https://langchain-ai.github.io/langgraph/llms.txt", "--transport", "stdio" ] } } }

[!Nota] Actualmente (21/3/25) parece que Claude Desktop no admite rules para reglas globales, por lo que agregaré lo siguiente a su mensaje.

<rules> for ANY question about LangGraph, use the langgraph-docs-mcp server to help answer -- + call list_doc_sources tool to get the available llms.txt file + call fetch_docs tool to read it + reflect on the urls in llms.txt + reflect on the input question + call fetch_docs on any urls relevant to the question </rules>

Captura de pantalla del 18/03/2025 a las 14:05 54

  • Verás tus herramientas visibles en la parte inferior derecha de tu entrada de chat.

Captura de pantalla del 18/03/2025 a las 14:05 39

A continuación, prueba el ejemplo:

  • Le solicitará que apruebe las llamadas de herramientas mientras procesa su solicitud.

Captura de pantalla del 18/03/2025 a las 14:06 54

Conectarse a Claude Code

  • En una terminal después de instalar Claude Code , ejecute este comando para agregar el servidor MCP a su proyecto:
claude mcp add-json langgraph-docs '{"type":"stdio","command":"uvx" ,"args":["--from", "mcpdoc", "mcpdoc", "--urls", "langgraph:https://langchain-ai.github.io/langgraph/llms.txt", "--urls", "LangChain:https://python.langchain.com/llms.txt"]}' -s local
  • Verá ~/.claude.json actualizado.
  • Pruebe iniciando Claude Code y ejecutándolo para ver sus herramientas:
$ Claude $ /mcp

Captura de pantalla del 18/03/2025 a las 14:13:49

[!Nota] Actualmente (21/3/25) parece que Claude Code no admite rules para reglas globales, por lo que agregaré lo siguiente a su mensaje.

<rules> for ANY question about LangGraph, use the langgraph-docs-mcp server to help answer -- + call list_doc_sources tool to get the available llms.txt file + call fetch_docs tool to read it + reflect on the urls in llms.txt + reflect on the input question + call fetch_docs on any urls relevant to the question </rules>

A continuación, prueba el ejemplo:

  • Solicitará aprobar llamadas de herramientas.

Captura de pantalla del 18/03/2025 a las 14:14:37

Interfaz de línea de comandos

El comando mcpdoc proporciona una CLI simple para iniciar el servidor de documentación.

Puede especificar fuentes de documentación de tres maneras, que pueden combinarse:

  1. Usando un archivo de configuración YAML:
  • Esto cargará la documentación de Python de LangGraph desde el archivo sample_config.yaml en este repositorio.
mcpdoc --yaml sample_config.yaml
  1. Usando un archivo de configuración JSON:
  • Esto cargará la documentación de Python de LangGraph desde el archivo sample_config.json en este repositorio.
mcpdoc --json sample_config.json
  1. Especificar directamente las URL de llms.txt con nombres opcionales:
  • Las URL se pueden especificar como URL simples o con nombres opcionales utilizando el formato name:url .
  • Puede especificar varias URL utilizando el parámetro --urls varias veces.
  • Así es como cargamos llms.txt para el servidor MCP anterior.
mcpdoc --urls LangGraph:https://langchain-ai.github.io/langgraph/llms.txt --urls LangChain:https://python.langchain.com/llms.txt

También puede combinar estos métodos para fusionar fuentes de documentación:

mcpdoc --yaml sample_config.yaml --json sample_config.json --urls LangGraph:https://langchain-ai.github.io/langgraph/llms.txt --urls LangChain:https://python.langchain.com/llms.txt

Opciones adicionales

  • --follow-redirects : Seguir redirecciones HTTP (predeterminado en Falso)
  • --timeout SECONDS : tiempo de espera de la solicitud HTTP en segundos (predeterminado 10.0)

Ejemplo con opciones adicionales:

mcpdoc --yaml sample_config.yaml --follow-redirects --timeout 15

Esto cargará la documentación de Python de LangGraph con un tiempo de espera de 15 segundos y seguirá cualquier redirección HTTP si es necesario.

Formato de configuración

Los archivos de configuración YAML y JSON deben contener una lista de fuentes de documentación.

Cada fuente debe incluir una URL llms_txt y, opcionalmente, puede incluir un name :

Ejemplo de configuración de YAML (sample_config.yaml)

# Sample configuration for mcp-mcpdoc server # Each entry must have a llms_txt URL and optionally a name - name: LangGraph Python llms_txt: https://langchain-ai.github.io/langgraph/llms.txt

Ejemplo de configuración JSON (sample_config.json)

[ { "name": "LangGraph Python", "llms_txt": "https://langchain-ai.github.io/langgraph/llms.txt" } ]

Uso programático

from mcpdoc.main import create_server # Create a server with documentation sources server = create_server( [ { "name": "LangGraph Python", "llms_txt": "https://langchain-ai.github.io/langgraph/llms.txt", }, # You can add multiple documentation sources # { # "name": "Another Documentation", # "llms_txt": "https://example.com/llms.txt", # }, ], follow_redirects=True, timeout=15.0, ) # Run the server server.run(transport="stdio")
-
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 que proporciona herramientas para cargar y obtener documentación de cualquier fuente llms.txt, brindando a los usuarios control total sobre la recuperación de contexto para LLM en agentes y aplicaciones IDE.

  1. Descripción general
    1. llms-txt
      1. Inicio rápido
        1. Instalar uv
        2. Elija un archivo llms.txt para utilizar.
        3. (Opcional) Pruebe el servidor MCP localmente con los archivos llms.txt que elija:
        4. Conectarse al cursor
        5. Conéctate a Windsurf
        6. Conectarse a Claude Desktop
        7. Conectarse a Claude Code
      2. Interfaz de línea de comandos
        1. Opciones adicionales
          1. Formato de configuración
            1. Ejemplo de configuración de YAML (sample\_config.yaml)
            2. Ejemplo de configuración JSON (sample\_config.json)
          2. Uso programático

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) server that enables LLMs to interact directly the documents that they have on-disk through agentic RAG and hybrid search in LanceDB. Ask LLMs questions about the dataset as a whole or about specific documents.
              Last updated -
              12
              31
              TypeScript
              MIT License
              • Apple
            • -
              security
              F
              license
              -
              quality
              A MCP server that exposes OpenAPI schema information to LLMs like Claude. This server allows an LLM to explore and understand large OpenAPI schemas through a set of specialized tools, without needing to load the whole schema into the context
              Last updated -
              37
              5
              JavaScript
              • Apple
              • Linux
            • -
              security
              A
              license
              -
              quality
              An MCP server that enables clients to extract LLM-friendly prompts from documentation in GitHub repositories or hosted websites.
              Last updated -
              Python
              Apache 2.0
            • -
              security
              A
              license
              -
              quality
              An open-source MCP server that provides applications like Cursor, Windsurf, and Claude with access to llms.txt documentation files, allowing users to control and audit context retrieval.
              Last updated -
              4
              Python
              MIT License
              • Apple
              • Linux

            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/langchain-ai/mcpdoc'

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