Skip to main content
Glama

Python 3.13+ MCP 1.0 ChromaDB License: MIT

oarx-docs-mcp

MCP server for semantic search across the complete ObjectARX 2026 documentation set. 89,715 text chunks from 22 guides indexed in ChromaDB with hybrid BM25 + dense retrieval.

Overview

oarx-docs-mcp indexes 89,715 text chunks from 22 documentation guides into a local ChromaDB vector database and exposes them through the Model Context Protocol (MCP) for use with Claude Code, Claude Desktop, or any MCP-compatible client.

Related MCP server: LLMDoc

Highlights

  • 3 MCP tools — search_docs, lookup_class, list_guides

  • 89,715 indexed chunks from 22 documentation guides (ObjectARX SDK + Autodesk CloudHelp)

  • Hybrid retrieval — BM25 sparse + dense vectors + Reciprocal Rank Fusion

  • Cross-encoder reranking with BAAI/bge-reranker-v2-m3

  • Query optimization — AutoLISP detection, C++ API expansion, guide-specific boosting

  • Container-ready — Containerfile + compose.yaml (Podman/Docker)

  • Claude Code plugin — 4 skills + 2 slash commands for ObjectARX development

Data Sources

Source

Guides

Pages

Description

ObjectARX SDK (CHM)

8

~45,800

C++ Reference, .NET Reference, Developer Guides, Migration, Interop

Autodesk CloudHelp (web)

14

~5,000

AutoLISP, ActiveX/VBA, JavaScript, DXF, Customization

MCP Tools

Tool

Description

list_guides

List all 22 available documentation guides

search_docs

Semantic search with optional guide filter and result limit

lookup_class

Look up a class or function by name (title match with semantic fallback)

Quick Start

# Clone and install
cd mcp/oarx-docs-mcp
uv sync

# Download web documentation (~5,000 pages)
OARX_DATA_DIR=./data uv run python -m oarx_docs_mcp.scraper

# Index CHM files from ObjectARX SDK (optional, requires 7-Zip)
OARX_DATA_DIR=./data OARX_CHM_DIR=/path/to/sdk/docs uv run python -m oarx_docs_mcp.indexer

# Or index web docs only (no SDK needed)
OARX_DATA_DIR=./data uv run python -m oarx_docs_mcp.indexer

Client Configuration

Add to ~/.claude.json (or project-level .claude.json):

{
  "mcpServers": {
    "oarx-docs": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/oarx-docs-mcp",
        "python", "-m", "oarx_docs_mcp"
      ],
      "env": {
        "OARX_DATA_DIR": "/path/to/oarx-docs-mcp/data"
      }
    }
  }
}
{
  "mcpServers": {
    "oarx-docs": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "C:/Users/user/oarx-docs-mcp",
        "python", "-m", "oarx_docs_mcp"
      ],
      "env": {
        "OARX_DATA_DIR": "C:/Users/user/oarx-docs-mcp/data"
      }
    }
  }
}

Add to Claude Desktop's MCP configuration file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "oarx-docs": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/oarx-docs-mcp",
        "python", "-m", "oarx_docs_mcp"
      ],
      "env": {
        "OARX_DATA_DIR": "/path/to/oarx-docs-mcp/data"
      }
    }
  }
}

Restart Claude Desktop to pick up the new configuration.

Add to ~/.codex/config.toml (global) or .codex/config.toml (project):

[mcp_servers.oarx-docs]
command = "uv"
args = ["run", "--directory", "/path/to/oarx-docs-mcp", "python", "-m", "oarx_docs_mcp"]

[mcp_servers.oarx-docs.env]
OARX_DATA_DIR = "/path/to/oarx-docs-mcp/data"

Or via CLI:

codex mcp add oarx-docs --env OARX_DATA_DIR=/path/to/data -- uv run --directory /path/to/oarx-docs-mcp python -m oarx_docs_mcp

Container Setup

# Build image
podman-compose build

# Download web docs
podman-compose --profile scraper run --rm scraper

# Index (requires OARX_CHM_DIR env var for CHM files)
OARX_CHM_DIR=/path/to/sdk/docs podman-compose --profile indexer run --rm indexer

# Run server
podman-compose up server

Configuration

All settings are configurable via environment variables:

Variable

Default

Description

OARX_CHM_DIR

/docs

Directory containing .chm files from ObjectARX SDK

OARX_DATA_DIR

/app/data

Data directory for ChromaDB and extracted HTML

OARX_EMBEDDING_MODEL

BAAI/bge-m3

Sentence-transformers model name

OARX_CHUNK_SIZE

800

Text chunk size in characters

OARX_CHUNK_OVERLAP

200

Overlap between adjacent chunks

OARX_7Z_PATH

auto-detect

Path to 7z executable

OARX_DB_SOURCE

github

Database source: github, huggingface, or local

OARX_DB_VERSION

0.1.0

Database version to download

OARX_GITHUB_REPO

dantte-lp/oarx-docs-mcp

GitHub repository for release assets

Development

# Install with dev dependencies
uv sync --all-extras

# Run tests
uv run python -m pytest tests/ -v

# Lint
uv run ruff check src/ tests/

# Type check
uv run mypy

Tech Stack

Project Structure

oarx-docs-mcp/
├── src/oarx_docs_mcp/
│   ├── __main__.py          # Entry point
│   ├── config.py            # Settings + guide registries
│   ├── data_manager.py      # Database auto-download
│   ├── indexer.py           # CHM/HTML → ChromaDB
│   ├── retriever.py         # BM25 + dense + RRF + reranking
│   ├── scraper.py           # CloudHelp downloader
│   └── server.py            # MCP tools (3 tools)
├── tests/                   # pytest + pytest-asyncio
├── plugin/                  # Claude Code plugin
├── docs/
│   ├── en/                  # English documentation
│   └── ru/                  # Russian documentation
├── Containerfile            # OCI container image
└── compose.yaml             # Podman/Docker services

Documentation

Contributing

See CONTRIBUTING.md (RU).

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Local-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.
    3
    5 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for semantic search across llms.txt documentation sources, with hybrid two-stage retrieval and automatic background refresh.
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that provides semantic search over a document corpus, enabling AI clients to retrieve and cite relevant chunks from indexed documents via RAG pipelines.
    4
    MIT