hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
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í:
Biblioteca | llms.txt |
---|---|
LangGraph Python | https://langchain-ai.github.io/langgraph/llms.txt |
LangGraph JS | https://langchain-ai.github.io/langgraphjs/llms.txt |
LangChain Python | https://python.langchain.com/llms.txt |
LangChain JS | https://js.langchain.com/llms.txt |
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.txt
de 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.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:
- 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 Settings
y la pestañaMCP
. - Esto abrirá el archivo
~/.cursor/mcp.json
.
- Pegue lo siguiente en el archivo (usamos el nombre
langgraph-docs-mcp
y 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/Rules
del cursor y actualiceUser Rules
con lo siguiente (o similar):
CMD+L
(en Mac) para abrir el chat.- Asegúrese de que
agent
esté 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 MCP
para abrir el archivo de configuración,~/.codeium/windsurf/mcp_config.json
. - Actualice con
langgraph-docs-mcp
como se indicó anteriormente.
- Actualizar
Windsurf Rules/Global rules
con lo siguiente (o similar):
A continuación, prueba el ejemplo:
- Realizará sus llamadas de herramientas.
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 comandouvx
.Copy
[!Nota] Actualmente (21/3/25) parece que Claude Desktop no admite
rules
para 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.json
actualizado. - Pruebe iniciando Claude Code y ejecutándolo para ver sus herramientas:
[!Nota] Actualmente (21/3/25) parece que Claude Code no admite
rules
para 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.yaml
en este repositorio.
- 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.
- 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.
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
:
Ejemplo de configuración de YAML (sample_config.yaml)
Ejemplo de configuración JSON (sample_config.json)
Uso programático
This server cannot be installed
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.
- Overview
- llms-txt
- Quickstart
- Command-line Interface
- Additional Options
- Configuration Format
- Programmatic Usage