MCP server for Local Deep Research
Find a file
hermes 5a5a913d1e
All checks were successful
Build and Push Docker Image / build (push) Successful in 1h26m39s
ci: re-run via runner pickup verification
2026-09-26 20:06:53 -07:00
.forgejo/workflows ci: split build and push to avoid buildkit oauth refresh timeout 2026-09-12 14:33:00 -07:00
.pre-commit-config.yaml chore: add basic pre-commit hooks (trailing-whitespace, eof-fixer, ruff) 2026-06-03 17:28:43 -07:00
config.json Initial: MCP server for Local Deep Research 2026-02-23 14:28:17 -08:00
Dockerfile Add Docker build and Forgejo Actions workflow 2026-02-24 19:08:38 -08:00
mcp_server_ldr.py Initial: MCP server for Local Deep Research 2026-02-23 14:28:17 -08:00
README.md Initial: MCP server for Local Deep Research 2026-02-23 14:28:17 -08:00
requirements.txt Initial: MCP server for Local Deep Research 2026-02-23 14:28:17 -08:00

MCP Server - Local Deep Research

An MCP (Model Context Protocol) server implementation that provides deep research capabilities using Local Deep Research (LDR).

Overview

This MCP server wraps the LDR API to provide research functionality to any MCP-compatible client (Claude Desktop, Cursor, etc.).

Features

  • Deep research queries with multiple iterations
  • Status tracking for long-running research
  • Report retrieval with sources
  • Configurable model and search engine options

Prerequisites

  • Local Deep Research (LDR) server running
  • Python 3.10+
  • MCP SDK

Installation

pip install mcp local-deep-research requests beautifulsoup4

Configuration

Set environment variables or create config.json:

{
  "host": "http://ldr.your-tailnet.ts.net:5000",
  "username": "your_user",
  "password": "your_pass"
}

Usage

Running the Server

python mcp_server_ldr.py

Available Tools

  • ldr_query - Start a quick research query
  • ldr_research - Start a full research with options
  • ldr_status - Check research status
  • ldr_report - Get research report

Example

# Start research
result = ldr_query(
    query="What is quantum computing?",
    iterations=3,
    questions=5
)

# Check status
status = ldr_status(research_id=result["research_id"])

# Get report
report = ldr_report(research_id=result["research_id"])

License

MIT