
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
webdocs-mcp-server
Advanced tools
MCP server for fetching real-time documentation from Langchain, Llama-Index, OpenAI, UV, and Qubrid using web search
AI-Powered Documentation Search & Retrieval System
A Model Context Protocol (MCP) server that fetches real-time documentation from popular libraries and frameworks using web search.

| Library | Documentation Site |
|---|---|
| 🦜 Langchain | python.langchain.com/docs |
| 🦙 Llama-Index | docs.llamaindex.ai/en/stable |
| 🤖 OpenAI | platform.openai.com/docs |
| 📦 UV | docs.astral.sh/uv |
| 🎯 Qubrid | docs.qubrid.com |
The easiest way to use this MCP server is via npx:
npx -y webdocs-mcp-server
This requires:
Clone the repository
git clone <your-repo-url>
cd Docu_MCP
Install dependencies
uv sync
Set up environment variables
Create a .env file in the project root:
SERPER_API_KEY=your_serper_api_key_here
GROQ_API_KEY=your_groq_api_key_here
The Serper API is used for web search functionality.
.env fileCurrently reserved for future LLM integration features.
.env fileTest the server directly with the included client:
uv run mcp_client.py
Example output:
Available Tools: ['get_docs']
[Documentation content with sources...]
You can customize the query in mcp_client.py:
query = "How to setup ComfyUI AI ML Template?"
library = "qubrid"
res = await session.call_tool(
"get_docs",
arguments={"user_query": query, "library": library}
)
Open your Claude Desktop config file:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json🚀 Recommended: NPM Installation (Remote)
Add this configuration to use the published npm package:
{
"mcpServers": {
"WebDocs": {
"command": "npx",
"args": ["-y", "webdocs-mcp-server"],
"env": {
"SERPER_API_KEY": "your_serper_api_key_here",
"GROQ_API_KEY": "your_groq_api_key_here"
}
}
}
}
💻 Alternative: Local Development
If you're developing locally, use this configuration:
{
"mcpServers": {
"WebDocs": {
"command": "C:\\Users\\YOUR_USERNAME\\.local\\bin\\uv.EXE",
"args": ["--directory", "D:\\Path\\To\\Docu_MCP", "run", "mcp_server.py"],
"env": {
"SERPER_API_KEY": "your_serper_api_key_here",
"GROQ_API_KEY": "your_groq_api_key_here"
}
}
}
}
⚠️ Important:
- For NPM method: Just add your API keys
- For local method: Replace
YOUR_USERNAMEandD:\\Path\\To\\Docu_MCPwith your actual paths!
In Claude Desktop, you can ask:
"Use the WebDocs tool to search for how to create a ReAct agent in Langchain"
Claude will automatically call the get_docs tool with the appropriate parameters.
The MCP Inspector is a powerful tool for testing and debugging your MCP server.
npx @modelcontextprotocol/inspector uv --directory "D:\AbhiiiMan Codes\Docu_MCP" run mcp_server.py
This will:
http://localhost:5173get_docs tooluser_query: Your search querylibrary: One of langchain, llama-index, openai, uv, or qubridIf port is already in use:
# Find and kill the process using port 6277
netstat -ano | findstr :6277
taskkill /PID <process_id> /F
get_docsSearches and retrieves documentation content from supported libraries.
Parameters:
user_query (string, required): The search query
"How to use Langchain with OpenAI"library (string, required): The library to search
langchain, llama-index, openai, uv, qubridReturns:
Example:
await session.call_tool(
"get_docs",
arguments={
"user_query": "vector store integration",
"library": "langchain"
}
)
Docu_MCP/
├── 📄 mcp_server.py # Main MCP server implementation
├── 📄 mcp_client.py # Test client for the server
├── 📄 constants.py # Configuration and constants
├── 📄 utils.py # Utility functions (HTML cleaning)
├── 📄 test_server.py # Server launch test script
├── 📄 .env # Environment variables (create this)
├── 📄 pyproject.toml # Project dependencies
└── 📄 README.md # This file
graph LR
A[User Query] --> B[MCP Server]
B --> C[Serper API]
C --> D[Google Search]
D --> E[Documentation URLs]
E --> F[Fetch Content]
F --> G[Clean HTML]
G --> H[Return Text]
H --> I[User/Claude]
Run the test script to verify configuration:
uv run test_server.py
Expected output:
✅ Server process started successfully!
✅ Server is running and accepting connections!
| Issue | Solution |
|---|---|
🔴 PORT IS IN USE | Kill process on port 6277 or use different port |
🔴 SERPER_API_KEY not found | Check .env file exists and contains valid key |
🔴 program not found | Use full path to uv.EXE in Claude config |
Add to your .env:
LOG_LEVEL=DEBUG
Query: "Getting started with vector stores"
Library: "langchain"
→ Returns: Setup guides, installation steps, basic examples
Query: "Error handling in async queries"
Library: "llama-index"
→ Returns: Error handling patterns, best practices
Query: "Chat completion parameters"
Library: "openai"
→ Returns: Parameter documentation, examples, limits
Query: "Installing UV on Windows"
Library: "uv"
→ Returns: Installation guide, configuration steps
Contributions are welcome! Here's how you can help:
constants.py with new documentation sourcesutils.pyThis project is licensed under the MIT License - see the LICENSE file for details.
Having issues? Here's how to get help:
Built with ❤️ by AbhiiiMan
⭐ Star this repo if you find it helpful!
FAQs
MCP server for fetching real-time documentation from Langchain, Llama-Index, OpenAI, UV, and Qubrid using web search
We found that webdocs-mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.