Files
linear-coding-agent/LIBRARY_RAG_SETUP.md
David Blanc Brioir ad2c29a777 Fix Library RAG MCP connection issue and add setup documentation
Problem:
- Library RAG MCP server was failing to connect with timeout error
- Backend status showed "connected: false" with "MCP error -32001: Request timed out"
- Documents uploaded via upload_document tool were never processed

Root Cause:
- MISTRAL_API_KEY was commented out in .env file
- MCP server requires this key for OCR and LLM processing
- Without the key, the Python subprocess fails to start
- This caused connection timeout in the Node.js backend

Solution:
- Uncommented MISTRAL_API_KEY in .env (not committed, in .gitignore)
- Added LIBRARY_RAG_SETUP.md with complete setup guide
- Updated .claude/settings.local.json with bash permissions

Changes:
- Added LIBRARY_RAG_SETUP.md (setup documentation)
- Updated .claude/settings.local.json (auto-approved bash commands)

Verified:
- MCP server now connects successfully
- Status endpoint shows "connected: true"
- All 7 Library RAG tools available (upload_document, search_library, etc.)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-26 19:22:00 +01:00

2.9 KiB

Library RAG MCP Setup Guide

Quick Setup

To enable the Library RAG MCP server (document search with Weaviate), you need to configure the following in your .env file:

Required Environment Variables

# Library RAG MCP Configuration
LIBRARY_RAG_ENABLED=true
MCP_LIBRARY_RAG_SERVER_PATH=C:/GitHub/linear_coding_library_rag/generations/library_rag/mcp_server.py
LIBRARY_RAG_PYTHON_COMMAND=python
LIBRARY_RAG_CONNECTION_TIMEOUT=10000
LIBRARY_RAG_AUTO_RECONNECT=true
LIBRARY_RAG_MAX_RETRIES=3

# Weaviate Configuration
WEAVIATE_URL=http://localhost:8080

# REQUIRED: Mistral API Key (for OCR functionality)
MISTRAL_API_KEY=your_mistral_api_key_here

Why MISTRAL_API_KEY is Required

The Library RAG MCP server uses Mistral API for:

  • OCR with annotations: Extracting text from PDF images with layout annotations
  • LLM processing: Metadata extraction, table of contents generation, semantic chunking

Without this key, the MCP server will fail to start and the backend connection will timeout with error: MCP error -32001: Request timed out.

Getting Your Mistral API Key

  1. Go to https://console.mistral.ai/
  2. Sign up or log in
  3. Navigate to API Keys section
  4. Create a new API key
  5. Copy the key and add it to your .env file

Troubleshooting

Issue: Library RAG shows "connected": false in status endpoint

Solution:

  1. Check that MISTRAL_API_KEY is uncommented in .env
  2. Verify the key is valid
  3. Restart the backend server: npm run dev

Issue: Connection timeout error

Cause: The MCP server subprocess cannot start without the Mistral API key

Fix: Add the key to .env and restart

Verifying Connection

Check the connection status:

curl http://localhost:5175/api/library-rag/status | python -m json.tool

Expected response when connected:

{
  "success": true,
  "data": {
    "connected": true,
    "message": "Library RAG MCP server is connected and ready",
    "tools": [...],
    "error": null
  }
}

Available Tools

Once connected, you'll have access to:

  1. upload_document - Upload and index PDF documents with full pipeline (OCR, metadata, chunking, Weaviate ingestion)
  2. search_library - Semantic search over document chunks
  3. hybrid_search - Search summaries and high-level content
  4. list_collections - List all indexed documents
  5. get_document - Retrieve document metadata
  6. filter_search - Filter by author, work, or language
  7. extract_text_from_image - OCR from image URLs

Make sure Weaviate Docker is running:

cd C:\GitHub\linear_coding_library_rag\generations\library_rag
docker-compose up -d

Check Weaviate status:

curl http://localhost:8080/v1/meta

Changelog

2025-12-26: Fixed MCP connection issue by adding MISTRAL_API_KEY requirement to documentation. The key must be present in .env for the MCP server to start successfully.