mcpField
D
draco

draco

Remote
github.com/drjonesxxx1Developer Tools0Updated 4w ago
Repository

About draco

DRACO is a coding, systems, and security question-answering service that retrieves from technical books and cites its sources. It serves developers and security practitioners through a web interface, REST API, and MCP.

Key features

  1. 01Retrieval across technical books
  2. 02Inline citations and source lists
  3. 03BM25 passage search
  4. 04REST API and streaming answers
  5. 05Self-hosting with local Ollama models

Use cases

  1. 01Research a coding or systems question
  2. 02Review security topics with cited references
  3. 03Search book passages for relevant material

MCP support

The streamable HTTP MCP server offers `draco_ask`, `draco_search`, and `draco_status` to MCP clients. A stdio bridge for Claude Desktop and local clients is also included.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://draco.thetempleofdoom.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

DRACO — The Book-Forged Code Oracle

Other AIs guess. DRACO knows — and proves it.

DRACO answers coding, systems, and security questions using retrieval over a library of 1,855 real technical books (354M characters, 116,558 indexed passages) — and cites the exact book behind every claim. No knowledge cutoff. No hallucination laundering. Receipts attached.

Try it now: https://draco.thetempleofdoom.com — 10 free questions a day, no signup.


Why it's different

Generic chatbotDRACO
Compressed training-data recallLive retrieval from 1,855 books on the shelf
"Trust me" answersEvery claim carries [n] citations + a sources array
Knowledge cutoff: yesThe canon is resident — K&R, Tanenbaum, the shellcoders' handbook
Sells your promptsSelf-hosted, zero telemetry, questions never leave the house

Quickstart

Chat in the browser

https://draco.thetempleofdoom.com — streaming answers, visible reasoning, sources bar under every response. 10 free/day, no account.

REST API
# 1. Get a free key (30 credits/month, email only, no card)
curl -s -X POST https://draco.thetempleofdoom.com/api/signup \
  -H 'Content-Type: application/json' \
  -d '{"email":"[email protected]"}'
# → {"api_key":"sk-draco-..."}

# 2. Ask — RAG-grounded answer with citations (1 credit)
curl -s -X POST https://draco.thetempleofdoom.com/api/ask \
  -H 'X-API-Key: sk-draco-...' -H 'Content-Type: application/json' \
  -d '{"q":"explain the ret2libc technique with a minimal poc"}'
# → {"answer":"...[1]...[2]","sources":[{"title":"...","category":"..."}]}

# 3. Raw passage search across all 1,855 books (1 credit)
curl -s "https://draco.thetempleofdoom.com/api/search?q=tcp%20syn%20flood&k=5" \
  -H 'X-API-Key: sk-draco-...'
MCP — use it from Claude, GPT, or any agent
{
  "mcpServers": {
    "draco": { "url": "https://draco.thetempleofdoom.com/mcp" }
  }
}

Tools:

  • draco_ask(question) → cited, book-grounded answer
  • draco_search(query, k) → raw BM25 passages with titles + scores
  • draco_status() → live library stats

Officially listed on the MCP registry: com.thetempleofdoom.draco/draco

Manual MCP handshake:

curl -s https://draco.thetempleofdoom.com/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"smoke","version":"1"}}}'

How it works

question ──► BM25 retrieval over 116k book passages
                │
                ▼
        top passages + question ──► local LLM (self-hosted GPU)
                │
                ▼
        answer with inline [n] citations + sources array
  1. Ingest (ingest.py) — PDF/CHM/DJVU → clean plain text. Junk scans dropped automatically.
  2. Index (build_index.py) — 300-token overlapping chunks → Snowball-stemmed BM25 index.
  3. Serve (Flask + gunicorn) — retrieval-augmented generation with SSE streaming, separate reasoning and answer channels, and automatic degenerate-output detection/retry.
  4. Expose — REST API, streamable-http MCP server, and a full agent-discovery kit: /llms.txt, /llms-full.txt, /openapi.json, /.well-known/ai-plugin.json, /.well-known/mcp-server.json, /sitemap.xml.

Pricing

Bitcoin only. No subscription traps, no KYC, no card processor.

TierPriceWhat you get
Web (no key)free10 questions/day in the browser
API keyfree30 credits/month, forever
satchel$360 credits
crate$10250 credits
hoard pack$25750 credits
HOARD$50/mounlimited — every ask, every search, 30 days

1 credit = 1 ask or 1 search. Credits never expire. Books are free to download at /library — we sell answers, not files.

Self-hosting

git clone https://github.com/drjonesxxx1/draco.git
cd draco
python3 -m venv venv && ./venv/bin/pip install -r requirements.txt
cp config.example.json config.json   # set model, ollama URL, limits, payments

# point ingest.py at YOUR book directory, then:
./venv/bin/python3 ingest.py         # books → text + manifest
./venv/bin/python3 build_index.py    # text → BM25 index

./venv/bin/gunicorn -w 2 --threads 8 -b 127.0.0.1:8012 app:app    # API + web
./venv/bin/python3 -m uvicorn mcp_server:app --port 8013           # MCP

Any local Ollama model works. Put nginx in front (see deploy/nginx-draco.conf for the reference config incl. SSE + MCP proxying). Payments are optional — leave the btcpay block empty and the free tiers carry the whole thing.

Repository layout

FilePurpose
app.pyFlask: web UI, REST API, SSE chat, payments webhook, agent-discovery kit
draco_core.pyRAG engine, retrieval, LLM calls, metering, DB
pages.py / pages2.pyTheme
mcp_server.pyStandalone streamable-http MCP server
mcp_client.pystdio bridge for Claude Desktop / local clients
ingest.py / build_index.pyCorpus pipeline
test_splitter.pyUnit tests for the reasoning/answer channel splitter
deploy/systemd units + nginx config

Notes

  • Security content is for education and authorized testing only.
  • Books retain their original copyrights; the library is shared for personal use.
  • No telemetry. No logs sold. Ever.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.