by langchain-ai
Expose llms-txt to IDEs for development
# Add to your Claude Code skills
git clone https://github.com/langchain-ai/mcpdocllms.txt is a website index for LLMs, providing background information, guidance, and links to detailed markdown files. IDEs like Cursor and Windsurf or apps like Claude Code/Desktop can use llms.txt to retrieve context for tasks. However, these apps use different built-in tools to read and process files like llms.txt. The retrieval process can be opaque, and there is not always a way to audit the tool calls or the context returned.
MCP offers a way for developers to have full control over tools used by these applications. Here, we create an open source MCP server to provide MCP host applications (e.g., Cursor, Windsurf, Claude Code/Desktop) with (1) a user-defined list of llms.txt files and (2) a simple fetch_docs tool read URLs within any of the provided llms.txt files. This allows the user to audit each tool call as well as the context returned.
You can find llms.txt files for langgraph and langchain here:
| Library | 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 | |
uv.curl -LsSf https://astral.sh/uv/install.sh | sh
llms.txt file to use.llms.txt file.Note: Security and Domain Access Control
For security reasons, mcpdoc implements strict domain access controls:
Remote llms.txt files: When you specify a remote llms.txt URL (e.g.,
https://langchain-ai.github.io/langgraph/llms.txt), mcpdoc automatically adds only that specific domain (langchain-ai.github.io) to the allowed domains list. This means the tool can only fetch documentation from URLs on that domain.Local llms.txt files: When using a local file, NO domains are automatically added to the allowed list. You MUST explicitly specify which domains to allow using the `-...