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.
Related MCP server: mcp-llm
llms-txt
Puede encontrar archivos llms.txt para langgraph y langchain aquí:
Biblioteca | llms.txt |
LangGraph Python | |
LangGraph JS | |
LangChain Python | |
LangChain JS |
Inicio rápido
Instalar uv
Consulte la documentación oficial de uv para conocer otras formas de instalar
uv.
Elija un archivo llms.txt para utilizar.
Por ejemplo, aquí está el archivo
llms.txtde LangGraph.
Nota: Seguridad y control de acceso al dominio
Por razones de seguridad, mcpdoc implementa controles estrictos de acceso al dominio:
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.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.
Agregar dominios adicionales : para permitir la obtención de dominios más allá de los incluidos automáticamente:
Utilice
--allowed-domains domain1.com domain2.compara agregar dominios específicosUtilice
--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:
Esto debería ejecutarse en: http://localhost:8082
Ejecute el inspector MCP y conéctese al servidor en ejecución:
Aquí puedes probar las llamadas
tool.
Conectarse al cursor
Abra
Cursor Settingsy la pestañaMCP.Esto abrirá el archivo
~/.cursor/mcp.json.
Pegue lo siguiente en el archivo (usamos el nombre
langgraph-docs-mcpy el enlace a LangGraphllms.txt).
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/Rulesdel cursor y actualiceUser Rulescon lo siguiente (o similar):
CMD+L(en Mac) para abrir el chat.Asegúrese de que
agentesté seleccionado.
A continuación, prueba con un ejemplo de solicitud, como por ejemplo:
Conéctate a Windsurf
Abra Cascade con
CMD+L(en Mac).Haga clic en
Configure MCPpara abrir el archivo de configuración,~/.codeium/windsurf/mcp_config.json.Actualice con
langgraph-docs-mcpcomo se indicó anteriormente.
Actualizar
Windsurf Rules/Global rulescon lo siguiente (o similar):
A continuación, prueba el ejemplo:
Realizará sus llamadas de herramientas.
Conectarse a Claude Desktop
Abra
Settings/Developerpara actualizar~/Library/Application\ Support/Claude/claude_desktop_config.json.Actualice con
langgraph-docs-mcpcomo 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
pythonen el comandouvx.{ "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
rulespara reglas globales, por lo que agregaré lo siguiente a su mensaje.
Verás tus herramientas visibles en la parte inferior derecha de tu entrada de chat.
A continuación, prueba el ejemplo:
Le solicitará que apruebe las llamadas de herramientas mientras procesa su solicitud.
Conectarse a Claude Code
En una terminal después de instalar Claude Code , ejecute este comando para agregar el servidor MCP a su proyecto:
Verá
~/.claude.jsonactualizado.Pruebe iniciando Claude Code y ejecutándolo para ver sus herramientas:
[!Nota] Actualmente (21/3/25) parece que Claude Code no admite
rulespara reglas globales, por lo que agregaré lo siguiente a su mensaje.
A continuación, prueba el ejemplo:
Solicitará aprobar llamadas de herramientas.
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:
Usando un archivo de configuración YAML:
Esto cargará la documentación de Python de LangGraph desde el archivo
sample_config.yamlen este repositorio.
Usando un archivo de configuración JSON:
Esto cargará la documentación de Python de LangGraph desde el archivo
sample_config.jsonen este repositorio.
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
--urlsvarias veces.Así es como cargamos
llms.txtpara el servidor MCP anterior.
También puede combinar estos métodos para fusionar fuentes de documentación:
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:
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 :