# XenoDocs MCP - Up-to-date Documentation For Any Library
[](https://xenodocs.com) [](https://pypi.org/project/xenodocs-mcp-server/) [](./LICENSE)
## ❌ Without XenoDocs
LLMs rely on outdated or generic information about the libraries you use. You get:
- ❌ Code examples are outdated and based on year-old training data
- ❌ Hallucinated APIs that don't even exist
- ❌ Generic answers for old package versions
## ✅ With XenoDocs
XenoDocs MCP pulls up-to-date, version-specific documentation and code examples straight from the source — and places them directly into your prompt.
Tell your AI assistant to search for library documentation:
```txt
Search for "authentication middleware" in the FastAPI library documentation
```
```txt
Find examples of async functions in the httpx library
```
XenoDocs fetches up-to-date code examples and documentation right into your LLM's context.
- 1️⃣ Write your prompt naturally
- 2️⃣ Ask for specific library documentation
- 3️⃣ Get working code answers
No tab-switching, no hallucinated APIs that don't exist, no outdated code generation.
## �️ Installation
### Requirements
- Python >= 3.10
- VS Code, Cursor, Claude Desktop, or another MCP Client
- XenoDocs API Key (Get yours by creating an account at [xenodocs.com/account/api-keys](https://www.xenodocs.com/account/api-keys)
### Method 1: Using uv (Recommended)
```bash
uv add xenodocs-mcp-server
```
### Method 2: Using pip
```bash
pip install xenodocs-mcp-server
```
<details>
<summary><b>Install in VS Code</b></summary>
Add this to your VS Code MCP config file (`.vscode/mcp.json`). See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.
#### VS Code Local Server Connection
```json
{
"servers": {
"xenodocs-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"xenodocs-mcp-server"
],
"env": {
"XENODOCS_API_KEY": "YOUR_API_KEY"
}
}
},
"inputs": []
}
```
Alternative configurations:
**Using uv project:**
```json
{
"servers": {
"xenodocs-mcp-server": {
"type": "stdio",
"command": "uv",
"args": ["run", "xenodocs-mcp-server"],
"env": {
"XENODOCS_API_KEY": "YOUR_API_KEY"
}
}
},
"inputs": []
}
```
**Using Python module:**
```json
{
"servers": {
"xenodocs-mcp-server": {
"type": "stdio",
"command": "python",
"args": ["-m", "xenodocs_mcp_server.server"],
"env": {
"XENODOCS_API_KEY": "YOUR_API_KEY"
}
}
},
"inputs": []
}
```
</details>
<details>
<summary><b>Install in Cursor</b></summary>
Add to your Cursor MCP configuration (`~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"xenodocs": {
"command": "uvx",
"args": ["xenodocs-mcp-server"],
"env": {
"XENODOCS_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
</details>
<details>
<summary><b>Install in Claude Desktop</b></summary>
Add to your Claude Desktop configuration:
```json
{
"mcpServers": {
"xenodocs": {
"command": "uvx",
"args": ["xenodocs-mcp-server"],
"env": {
"XENODOCS_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
</details>
<details>
<summary><b>Install in Windsurf</b></summary>
Add to your Windsurf MCP configuration:
```json
{
"mcpServers": {
"xenodocs": {
"command": "uvx",
"args": ["xenodocs-mcp-server"],
"env": {
"XENODOCS_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
</details>
<details>
<summary><b>Install in Zed</b></summary>
Add to your Zed `settings.json`:
```json
{
"context_servers": {
"xenodocs": {
"source": "custom",
"command": "uvx",
"args": ["xenodocs-mcp-server"],
"env": {
"XENODOCS_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
</details>
## 🔨 Available Tools
XenoDocs MCP provides the following tools that LLMs can use:
- `search_library_name`: Search for matching library names in the XenoDocs documentation database.
- `library_name` (required): The name or partial name of the library to search for
- `top_k` (optional): Maximum number of matching libraries to return (default: 3, max: 20)
- `search_library`: Search for specific information within a library's documentation.
- `library_name` (required): The exact name of the library to search in
- `query` (required): The search query describing what you're looking for
## 💻 Development
Clone the project and install dependencies:
```bash
git clone https://github.com/Xenodocs/xenodocs-mcp-server.git
cd xenodocs-mcp-server
uv sync
```
Set your API key:
```bash
export XENODOCS_API_KEY="your-api-key"
```
Run the server:
```bash
uv run xenodocs-mcp-server
```
### Testing with MCP Inspector
```bash
npx @modelcontextprotocol/inspector uv run xenodocs-mcp-server
```
## 🚨 Troubleshooting
<details>
<summary><b>Command Not Found Errors</b></summary>
If you get "command not found" errors:
1. **For uv projects:** Make sure you're in a directory with a `pyproject.toml` file
2. **For pip installation:** Use the Python module method:
```json
{
"command": "python",
"args": ["-m", "xenodocs_mcp_server.server"]
}
```
</details>
<details>
<summary><b>API Key Not Found Error</b></summary>
If you see `WARNING: XENODOCS_API_KEY not set!`, make sure you've configured the API key in your MCP client configuration or as a system environment variable.
</details>
<details>
<summary><b>General MCP Client Errors</b></summary>
1. Restart your MCP client completely
2. Check that your installation method is working by running the command manually
3. Check client output/logs for MCP connection errors
4. Verify you have the correct Python version (>=3.10)
</details>
Raw data
{
"_id": null,
"home_page": null,
"name": "xenodocs-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ai, copilot, documentation, mcp, vscode, xenodocs, xenodocs-mcp-server",
"author": null,
"author_email": "Ravi Kumawat <ravi@evolvue.ai>, Mahendra Kharra <mahendra@evolvue.ai>, Mayank Aggarwal <mayank@evolvue.ai>, Krish Naik <krishnaik@xenodocs.com>, Sourangshu Pal <sourangshu@xenodocs.com>",
"download_url": "https://files.pythonhosted.org/packages/87/59/948382c4a6e8149d0db960aaf64011ae1a826a28e25dd77710ac65396247/xenodocs_mcp_server-0.1.3.tar.gz",
"platform": null,
"description": "# XenoDocs MCP - Up-to-date Documentation For Any Library\n\n[](https://xenodocs.com) [](https://pypi.org/project/xenodocs-mcp-server/) [](./LICENSE)\n\n## \u274c Without XenoDocs\n\nLLMs rely on outdated or generic information about the libraries you use. You get:\n\n- \u274c Code examples are outdated and based on year-old training data\n- \u274c Hallucinated APIs that don't even exist\n- \u274c Generic answers for old package versions\n\n## \u2705 With XenoDocs\n\nXenoDocs MCP pulls up-to-date, version-specific documentation and code examples straight from the source \u2014 and places them directly into your prompt.\n\nTell your AI assistant to search for library documentation:\n\n```txt\nSearch for \"authentication middleware\" in the FastAPI library documentation\n```\n\n```txt\nFind examples of async functions in the httpx library\n```\n\nXenoDocs fetches up-to-date code examples and documentation right into your LLM's context.\n\n- 1\ufe0f\u20e3 Write your prompt naturally\n- 2\ufe0f\u20e3 Ask for specific library documentation\n- 3\ufe0f\u20e3 Get working code answers\n\nNo tab-switching, no hallucinated APIs that don't exist, no outdated code generation.\n\n## \ufffd\ufe0f Installation\n\n### Requirements\n\n- Python >= 3.10\n- VS Code, Cursor, Claude Desktop, or another MCP Client\n- XenoDocs API Key (Get yours by creating an account at [xenodocs.com/account/api-keys](https://www.xenodocs.com/account/api-keys)\n\n### Method 1: Using uv (Recommended)\n\n```bash\nuv add xenodocs-mcp-server\n```\n\n### Method 2: Using pip\n\n```bash\npip install xenodocs-mcp-server\n```\n\n<details>\n<summary><b>Install in VS Code</b></summary>\n\nAdd this to your VS Code MCP config file (`.vscode/mcp.json`). See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more info.\n\n#### VS Code Local Server Connection\n\n```json\n{\n \"servers\": {\n \"xenodocs-mcp-server\": {\n \"type\": \"stdio\",\n \"command\": \"uvx\",\n \"args\": [\n \"xenodocs-mcp-server\"\n ],\n \"env\": {\n \"XENODOCS_API_KEY\": \"YOUR_API_KEY\"\n }\n }\n },\n \"inputs\": []\n}\n```\n\nAlternative configurations:\n\n**Using uv project:**\n```json\n{\n \"servers\": {\n \"xenodocs-mcp-server\": {\n \"type\": \"stdio\",\n \"command\": \"uv\",\n \"args\": [\"run\", \"xenodocs-mcp-server\"],\n \"env\": {\n \"XENODOCS_API_KEY\": \"YOUR_API_KEY\"\n }\n }\n },\n \"inputs\": []\n}\n```\n\n**Using Python module:**\n```json\n{\n \"servers\": {\n \"xenodocs-mcp-server\": {\n \"type\": \"stdio\",\n \"command\": \"python\",\n \"args\": [\"-m\", \"xenodocs_mcp_server.server\"],\n \"env\": {\n \"XENODOCS_API_KEY\": \"YOUR_API_KEY\"\n }\n }\n },\n \"inputs\": []\n}\n```\n\n</details>\n\n<details>\n<summary><b>Install in Cursor</b></summary>\n\nAdd to your Cursor MCP configuration (`~/.cursor/mcp.json`):\n\n```json\n{\n \"mcpServers\": {\n \"xenodocs\": {\n \"command\": \"uvx\",\n \"args\": [\"xenodocs-mcp-server\"],\n \"env\": {\n \"XENODOCS_API_KEY\": \"YOUR_API_KEY\"\n }\n }\n }\n}\n```\n\n</details>\n\n<details>\n<summary><b>Install in Claude Desktop</b></summary>\n\nAdd to your Claude Desktop configuration:\n\n```json\n{\n \"mcpServers\": {\n \"xenodocs\": {\n \"command\": \"uvx\",\n \"args\": [\"xenodocs-mcp-server\"],\n \"env\": {\n \"XENODOCS_API_KEY\": \"YOUR_API_KEY\"\n }\n }\n }\n}\n```\n\n</details>\n\n<details>\n<summary><b>Install in Windsurf</b></summary>\n\nAdd to your Windsurf MCP configuration:\n\n```json\n{\n \"mcpServers\": {\n \"xenodocs\": {\n \"command\": \"uvx\",\n \"args\": [\"xenodocs-mcp-server\"],\n \"env\": {\n \"XENODOCS_API_KEY\": \"YOUR_API_KEY\"\n }\n }\n }\n}\n```\n\n</details>\n\n<details>\n<summary><b>Install in Zed</b></summary>\n\nAdd to your Zed `settings.json`:\n\n```json\n{\n \"context_servers\": {\n \"xenodocs\": {\n \"source\": \"custom\",\n \"command\": \"uvx\",\n \"args\": [\"xenodocs-mcp-server\"],\n \"env\": {\n \"XENODOCS_API_KEY\": \"YOUR_API_KEY\"\n }\n }\n }\n}\n```\n\n</details>\n\n## \ud83d\udd28 Available Tools\n\nXenoDocs MCP provides the following tools that LLMs can use:\n\n- `search_library_name`: Search for matching library names in the XenoDocs documentation database.\n - `library_name` (required): The name or partial name of the library to search for\n - `top_k` (optional): Maximum number of matching libraries to return (default: 3, max: 20)\n\n- `search_library`: Search for specific information within a library's documentation.\n - `library_name` (required): The exact name of the library to search in\n - `query` (required): The search query describing what you're looking for\n\n## \ud83d\udcbb Development\n\nClone the project and install dependencies:\n\n```bash\ngit clone https://github.com/Xenodocs/xenodocs-mcp-server.git\ncd xenodocs-mcp-server\nuv sync\n```\n\nSet your API key:\n\n```bash\nexport XENODOCS_API_KEY=\"your-api-key\"\n```\n\nRun the server:\n\n```bash\nuv run xenodocs-mcp-server\n```\n\n### Testing with MCP Inspector\n\n```bash\nnpx @modelcontextprotocol/inspector uv run xenodocs-mcp-server\n```\n\n## \ud83d\udea8 Troubleshooting\n\n<details>\n<summary><b>Command Not Found Errors</b></summary>\n\nIf you get \"command not found\" errors:\n\n1. **For uv projects:** Make sure you're in a directory with a `pyproject.toml` file\n2. **For pip installation:** Use the Python module method:\n ```json\n {\n \"command\": \"python\",\n \"args\": [\"-m\", \"xenodocs_mcp_server.server\"]\n }\n ```\n\n</details>\n\n<details>\n<summary><b>API Key Not Found Error</b></summary>\n\nIf you see `WARNING: XENODOCS_API_KEY not set!`, make sure you've configured the API key in your MCP client configuration or as a system environment variable.\n\n</details>\n\n<details>\n<summary><b>General MCP Client Errors</b></summary>\n\n1. Restart your MCP client completely\n2. Check that your installation method is working by running the command manually\n3. Check client output/logs for MCP connection errors\n4. Verify you have the correct Python version (>=3.10)\n\n</details>\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MCP server for XenoDocs - Access up-to-date documentation for newly released packages using AI.",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://xenodocs.com",
"Issues": "https://github.com/Xenodocs/xenodocs-mcp-server/issues",
"Repository": "https://github.com/Xenodocs/xenodocs-mcp-server"
},
"split_keywords": [
"ai",
" copilot",
" documentation",
" mcp",
" vscode",
" xenodocs",
" xenodocs-mcp-server"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4ed34be7daa741726134175ac72d146d26c0f4b20166d7c3a0704171511b6f84",
"md5": "260d905cf7b011b392b648353f14f914",
"sha256": "e0c6d0caa8b68eaadf1849198d09aad6ecb6943c6855f38677ca38052998961c"
},
"downloads": -1,
"filename": "xenodocs_mcp_server-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "260d905cf7b011b392b648353f14f914",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 6340,
"upload_time": "2025-11-01T09:07:08",
"upload_time_iso_8601": "2025-11-01T09:07:08.023398Z",
"url": "https://files.pythonhosted.org/packages/4e/d3/4be7daa741726134175ac72d146d26c0f4b20166d7c3a0704171511b6f84/xenodocs_mcp_server-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8759948382c4a6e8149d0db960aaf64011ae1a826a28e25dd77710ac65396247",
"md5": "cceb3fb44d323b8048d61c54d768ba71",
"sha256": "dfb3bd85d354cd40cc9e4143583d4de625038fcbe32407e3eed213c6b5012056"
},
"downloads": -1,
"filename": "xenodocs_mcp_server-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "cceb3fb44d323b8048d61c54d768ba71",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 5807,
"upload_time": "2025-11-01T09:07:09",
"upload_time_iso_8601": "2025-11-01T09:07:09.153945Z",
"url": "https://files.pythonhosted.org/packages/87/59/948382c4a6e8149d0db960aaf64011ae1a826a28e25dd77710ac65396247/xenodocs_mcp_server-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-01 09:07:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Xenodocs",
"github_project": "xenodocs-mcp-server",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "xenodocs-mcp-server"
}