TDZ C64 Knowledge

Ingest and search Commodore 64 documentation from PDFs, text, MD, HTML, and more with fast full-text and semantic search.
  • python

0

GitHub Stars

python

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "michaeltroelsen-tdz-c64-knowledge": {
      "command": "C:\\path\\.venv\\Scripts\\python.exe",
      "args": [
        "server.py"
      ],
      "env": {
        "USE_OCR": "1",
        "USE_BM25": "1",
        "USE_FTS5": "1",
        "TDZ_DATA_DIR": "C:\\c64-knowledge-data",
        "SEMANTIC_MODEL": "all-MiniLM-L6-v2",
        "FUZZY_THRESHOLD": "80",
        "SEARCH_CACHE_TTL": "300",
        "USE_FUZZY_SEARCH": "1",
        "ALLOWED_DOCS_DIRS": "None",
        "SEARCH_CACHE_SIZE": "100",
        "USE_SEMANTIC_SEARCH": "1",
        "USE_QUERY_PREPROCESSING": "1"
      }
    }
  }
}

You run a self-contained MCP server that ingests Commodore 64 documentation from PDFs, text, Markdown, HTML, Excel, and web pages, builds a searchable knowledge base, and lets you query it via MCP clients like Claude Code. It supports fast full-text search, semantic search, RAG-style Q&A with citations, and rich document management features so you can explore, compare, and visualize C64 information efficiently.

How to use

You connect your MCP client to the TDZ C64 Knowledge server and perform three core workflows: ingest documents, index and search the knowledge base, and pose questions that the system answers with citations.

Ingest documents through the provided command-line interface from your local file system or web-scraped sources. After ingestion, the server processes content into chunks, extracts entities, and builds search indexes so you can retrieve precise information quickly.

When you search, you can use fast full-text search, semantic search for meaning-based results, and a hybrid mode that blends keyword and semantic signals. For complex questions, ask using natural language and request citations to the relevant sources.

How to install

# Prerequisites
# 1) Install Python 3.10+ and ensure Python is on PATH

# 2) Create a virtual environment and install the MCP locally
python -m venv .venv
.venv\Scripts\activate
pip install -e .

# Optional but recommended: install OCR and extra tools when you need PDF OCR
# Example for Windows with OCR enabled at runtime:
pip install pytesseract pdf2image Pillow

After installation, you will configure the MCP client to connect to the server and then run the server from your environment.

# Start the server (windows paths shown as in examples)
.venv\Scripts\python.exe server.py

Configuration and deployment notes

If you use Claude Code or Claude Desktop as your MCP client, you configure the MCP connection by specifying the Python runtime and the server script, along with an environment variable that defines the data directory.

Environment variables you may use include TDZ_DATA_DIR to designate the database directory and various flags to enable or tune features such as FTS5, semantic search, and fuzzy search.

Troubleshooting and tips

If you encounter missing Python components, install the required packages (for example, pypdf, rank-bm25, nltk) and ensure you are using the virtual environment’s Python. If the server does not respond, verify you started the process from within the active virtual environment.

For PDF extraction issues, enable OCR support or provide a plain-text version of documents. If search performance is not as expected, review the environment variable settings to ensure FTS5 and semantic search are enabled according to your needs.

Example workflows

Ingest a folder of documents with tags and recursive traversal, then search for specific topics and refine results progressively.

# Example: add-folder command (replace paths and tags as needed)
.venv\Scripts\python.exe cli.py add-folder "C:\\c64docs" --tags reference --recursive

# Example: search with a Claude Code client after indexing
# Use your MCP client to issue a search like: 'Search the C64 docs for VIC-II registers'

Notes

This MCP server provides multi-format document handling, persistent indexing, and advanced search features such as semantic search, RAG-based Q&A with citations, and table/code search to help you locate precise information about the Commodore 64.

Available tools

search_docs

Full-text search across documents with optional parameters for max results and tags.

semantic_search

Meaning-based search using vector embeddings to find results by concept rather than exact keywords.

hybrid_search

Combine keyword and semantic signals with configurable weighting for better results.

answer_question

RAG-based question answering with citations to source documents.

fuzzy_search

Typo-tolerant search with configurable similarity threshold.

search_within_results

Progressively refine search results by narrowing within an initial result set.

find_similar

Find documents related to a given document based on content similarity.

add_document

Add a single document with metadata such as title and tags.

add_documents_bulk

Bulk import documents from a directory with tagging and recursive options.

list_docs

List all indexed documents and their metadata.

get_chunk

Retrieve a specific content chunk from a document.

remove_document

Remove a single document by ID.

remove_documents_bulk

Bulk remove documents by IDs or tags.

check_updates

Check for changes in provided file paths and update the index.

scrape_url

Scrape a documentation website and import content into the knowledge base.

rescrape_document

Re-scrape a document to fetch updates from the source.

check_url_updates

Check all scraped URLs for content changes.

extract_entities

Extract named entities from documents, such as hardware, memory addresses, and concepts.

search_entities

Search across extracted entities by query.

get_entity_analytics

Provide statistics about extracted entities and usage.

extract_entity_relationships

Build relationships based on co-occurrence of entities.

search_entity_pair

Find documents containing a specific pair of entities.

compare_documents

Side-by-side document comparison with similarity scoring.

suggest_tags

AI-powered tag suggestions based on document content.

get_tags_by_category

Browse tags organized by category.

translate_query

Parse natural language queries into structured search parameters.

export_entities

Export entity data to CSV or JSON.

export_relationships

Export entity relationship data to JSON.

kb_stats

Knowledge base statistics and usage metrics.

health_check

System diagnostics for MCP server health.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational