oarx-docs-mcp
Provides semantic search across the complete ObjectARX 2026 documentation set, including guides for C++, .NET, AutoLISP, and DXF, enabling developers to quickly find relevant documentation for Autodesk API development.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@oarx-docs-mcpsearch for AcDbObjectId class"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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_guides89,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 all 22 available documentation guides |
| Semantic search with optional guide filter and result limit |
| 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.indexerClient 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.jsonmacOS:
~/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_mcpContainer 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 serverConfiguration
All settings are configurable via environment variables:
Variable | Default | Description |
|
| Directory containing |
|
| Data directory for ChromaDB and extracted HTML |
|
| Sentence-transformers model name |
|
| Text chunk size in characters |
|
| Overlap between adjacent chunks |
| auto-detect | Path to 7z executable |
|
| Database source: |
|
| Database version to download |
|
| 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 mypyTech Stack
Python 3.13+ with uv
MCP SDK (FastMCP, stdio transport)
ChromaDB (persistent vector store, HNSW + cosine)
sentence-transformers (
all-MiniLM-L6-v2, 384-dim embeddings)BeautifulSoup4 + lxml (HTML parsing)
httpx (web documentation scraping)
Podman / podman-compose (containerization)
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 servicesDocumentation
Document | EN | RU |
Architecture | ||
Installation | ||
Configuration | ||
Usage | ||
Troubleshooting | ||
Changelog | — | |
Contributing |
Contributing
See CONTRIBUTING.md (RU).
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote ChromaDB vector database MCP server with streamable HTTP transport
Self-hosted AI workspace: semantic RAG document search, long-term memory, and AI chat via MCP.
MCP server for querying Forkast documentation
Related MCP Servers
- AlicenseAqualityDmaintenanceLocal-first RAG indexing and semantic search MCP server. Enables document retrieval and context-aware queries using local embedding models.39 npmMIT
- AlicenseAqualityDmaintenanceMCP server for semantic search across llms.txt documentation sources, with hybrid two-stage retrieval and automatic background refresh.537 PyPIMIT
- AlicenseAqualityDmaintenanceAn 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.4MIT
- FlicenseNot gradedqualityDmaintenanceMCP server that indexes technical documents and provides hybrid search (vector + BM25) for retrieval only, without generation.-