LangChain & LlamaIndex Coding Assistant
# LangChain & LlamaIndex Coding Assistant
A powerful **Coding Assistant** integrated into **Claude Code** via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/).
This assistant specializes in fetching real-time, official documentation for **LangChain**, **LlamaIndex**, and **OpenAI**, ensuring your coding workflow in Claude is powered by the absolute latest API references and guides.
## Capabilities
- **Deep Documentation Search**: Instantly retrieves detailed documentation from:
- 🦜️🔗 **LangChain** (`python.langchain.com/docs`)
- 🦙 **LlamaIndex** (`docs.llamaindex.ai`)
- 🤖 **OpenAI** (`platform.openai.com/docs`)
- **Context-Aware Coding**: Provides Claude with the exact context needed to write accurate code using these rapidly evolving libraries.
- **Seamless Integration**: Designed to work natively within the Claude Desktop environment.
## Prerequisites
- **Python 3.11+**
- **uv** (recommended) or pip
- **Serper API Key**: ([Get one free at serper.dev](https://serper.dev))
## Installation
1. **Clone the repository**:
```bash
git clone <repository-url>
cd documentation
```
2. **Install dependencies**:
```bash
uv sync
# Or using pip:
pip install -e .
```
3. **Set up API Key**:
Create a `.env` file in the project root:
```env
SERPER_API_KEY=your_api_key_here
```
## Configuration for Claude Desktop
Add this to your `claude_desktop_config.json` (%APPDATA%\Claude\claude_desktop_config.json on Windows):
```json
{
"mcpServers": {
"coding-assistant": {
"command": "uv",
"args": [
"--directory",
"YOUR_ABSOLUTE_PATH_TO_PROJECT_DIR",
"run",
"main.py"
],
"env": {
"SERPER_API_KEY": "your_api_key_here"
}
}
}
}
```
## Usage
Once configured, ask Claude questions directly in your chat:
> "How do I create a custom retrieval chain in LangChain?"
> "Show me the latest LlamaIndex vector store implementation."
> "What are the new parameters for OpenAI's chat completions?"
The assistant will fetch the latest docs and help you write the code.
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as searching documentation for specific libraries.
The single tool name 'get_docs' follows a clear verb_noun pattern. Since there is only one tool, naming consistency is inherently perfect with no deviations to assess.
A single tool is too few for a server labeled as a 'Coding Assistant' for LangChain and LlamaIndex. This scope suggests needs like code generation, debugging, or API interaction, which are not covered by just documentation search.
The tool surface is severely incomplete for the stated purpose. It only provides documentation search, missing essential operations like code execution, analysis, or integration with the libraries mentioned, leading to significant gaps in functionality.