list_doc_sources
List all available documentation sources. This is the first tool you should call in the documentation workflow. It provides URLs to llms.txt files or local file paths that the user has made available.
Points an assistant at a project's llms.txt so it reads today's docs instead of what it remembers.
No longer maintained. The GitHub repository for this server is archived — no fixes or security updates are expected.
LABSCO SUMMARY
What the assistant can look up is exactly the set of llms.txt URLs you pass at launch, which makes it predictable: add the libraries your project depends on and it will read their current pages, and it will not wander further. Adding a library later means editing the client entry rather than anything inside the server.
LangChain's MCP server for documentation published through llms.txt. An llms.txt file is published by a site the way robots.txt is, listing its URLs with descriptions — this reads those lists so an agent can pull the current page rather than answering from training data.
LangGraph:https://langchain-ai.github.io/langgraph/llms.txt with LangChain:https://python.langchain.com/llms.txtlist_doc_sources names the llms.txt files you passed, and fetch_docs reads one and then the pages it links to, only on those files' domains unless --allowed-domains adds moreuv installed, so uvx can fetch and run the mcpdoc package from PyPI — no clone is needed. The client entry runs uvx --from mcpdoc mcpdoc with a --urls list of name:URL pairs. No key is involved. A local llms.txt file works too, but it allows no domain until you name one with --allowed-domains.
Add the configuration to your client
USE CASES
Read the library's llms.txt index, then fetch the page that answers the question instead of relying on what the model remembers.
Pass both llms.txt files at launch; the agent sees each source by name and picks the right index for each question.
Pages are fetched only from the domains of the llms.txt files you passed, unless you add more with --allowed-domains.
Every page it pulls is a visible fetch_docs call with its URL, so you can see which docs an answer came from.
Listed in project code.
list_doc_sourcesList all available documentation sources. This is the first tool you should call in the documentation workflow. It provides URLs to llms.txt files or local file paths that the user has made available.
fetch_docsFetch and parse documentation from a given URL or local file. Use this tool after list_doc_sources to: 1. First fetch the llms.txt file from a documentation source 2. Analyze the URLs listed in the llms.txt file 3. Then fetch specific documentation pages relevant to the user's question. Returns the fetched documentation content converted to markdown, or an error message if the request fails or the URL is not from an allowed domain.
BEFORE YOU INSTALL
2 tools registered in the project's code. Two tools, used in order: list_doc_sources returns the llms.txt files you passed at launch, and fetch_docs reads one of them and then the pages it links to.
uvx on PATH
CONTEXT COST
Rated by the size of the 2 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
{
"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"
]
}
}
}Paste into ~/.cursor/mcp.json (Cursor Settings → MCP). The two name:URL pairs are examples; yours are the llms.txt files of the libraries you use. The README also suggests a User Rule telling the agent to call list_doc_sources first, then fetch_docs on the URLs that fit the question.
{
"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"
]
}
}
}Open Cascade and click Configure MCP to edit ~/.codeium/windsurf/mcp_config.json, then add the same rule to Windsurf Rules.
{
"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"
]
}
}
}Settings → Developer opens claude_desktop_config.json; restart Claude Desktop after saving. If uvx picks a Python version that does not work, add "--python" and the path to your python executable before "--from", as the README shows.
claude mcp add-json langgraph-docs '{"type":"stdio","command":"uvx" ,"args":["--from", "mcpdoc", "mcpdoc", "--urls", "langgraph:https://langchain-ai.github.io/langgraph/llms.txt", "LangChain:https://python.langchain.com/llms.txt"]}' -s local