Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
USE_OCRNoEnable OCR for scanned PDFs.1
USE_BM25NoEnable BM25 fallback.1
USE_FTS5NoEnable FTS5 search (recommended).0
TDZ_DATA_DIRNoDatabase directory where knowledge data is stored.~/.tdz-c64-knowledge
SEMANTIC_MODELNoSentence-transformers model for semantic search.all-MiniLM-L6-v2
FUZZY_THRESHOLDNoFuzzy similarity threshold (0-100).80
SEARCH_CACHE_TTLNoSearch cache time-to-live in seconds.300
USE_FUZZY_SEARCHNoEnable fuzzy search.1
ALLOWED_DOCS_DIRSNoDocument directory whitelist for restricted environments.
SEARCH_CACHE_SIZENoMaximum number of cached search results.100
USE_SEMANTIC_SEARCHNoEnable semantic search.0
USE_QUERY_PREPROCESSINGNoEnable NLTK preprocessing.1

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_docsB

Search the C64 knowledge base for information. Use this to find documentation about memory maps, opcodes, BASIC commands, SID, VIC-II, CIA chips, etc.

translate_queryA

Translate natural language query to structured search parameters. Parses queries like 'find sprite information' or 'how does the SID chip work' into search terms, entity mentions, and facet filters. Returns recommended search mode (keyword/semantic/hybrid) and confidence score.

get_chunkA

Get the full content of a specific document chunk. Use after search_docs to read more context.

get_documentB

Get the full content of a document by ID.

list_docsA

List all documents in the C64 knowledge base.

add_documentC

Add a PDF or text file to the knowledge base.

scrape_urlA

Scrape a documentation website and add all pages to the knowledge base. Supports recursive scraping of entire sites by following links. Great for ingesting online documentation like http://www.sidmusic.org/sid/. Converts HTML to searchable markdown.

rescrape_documentA

Re-scrape a URL-sourced document to check for updates. Removes the old version and re-scrapes the original URL with the same configuration.

check_url_updatesB

Check all URL-sourced documents for updates by comparing Last-Modified headers. Detects when source URLs have been modified since last scrape.

remove_documentB

Remove a document from the knowledge base.

semantic_searchA

Search the knowledge base using semantic/conceptual similarity (requires USE_SEMANTIC_SEARCH=1). Finds documents based on meaning, not just keywords. Example: searching for 'movable objects' can find 'sprites'.

find_similarA

Find documents similar to a given document. Uses semantic embeddings if available, falls back to TF-IDF. Great for discovering related content.

hybrid_searchA

Perform hybrid search combining FTS5 keyword search and semantic search. Best of both worlds - finds exact keyword matches AND conceptually related content. Returns results ranked by weighted combination of both scores.

fuzzy_searchB

Search with typo tolerance using fuzzy string matching. Handles misspellings and variations like 'VIC2' → 'VIC-II', 'asembly' → 'assembly', '6052' → '6502'. Returns exact matches first, then fuzzy matches if needed.

search_within_resultsA

Refine previous search results with an additional query. Useful for progressive search refinement: first search broadly (e.g., 'VIC-II'), then refine (e.g., 'sprite collision'). Returns filtered and re-ranked results from previous search set.

suggest_tagsB

Get tag suggestions for a document based on content analysis. Detects hardware components (SID, VIC-II, CIA), programming topics (assembly, BASIC, graphics), document types (reference, tutorial), and difficulty levels. Useful for organizing documents.

get_tags_by_categoryA

Browse all tags organized by category (hardware, programming, document-type, difficulty, custom). Shows tag usage count and sample documents. Useful for discovering and organizing content.

answer_questionA

Answer questions about C64 documentation using RAG (Retrieval-Augmented Generation). Synthesizes information from multiple sources with citations. Returns answer text with source references and confidence score.

kb_statsC

Get statistics about the knowledge base.

health_checkA

Perform health check on the knowledge base system. Returns status, metrics, feature availability, and any issues detected.

detect_anomaliesA

Detect anomalies in URL monitoring history. Analyzes patterns to identify unusual update frequencies, performance degradation, or unexpected content changes. Returns anomalies with severity scores (normal/minor/moderate/critical) based on learned baselines.

check_updatesA

Check all indexed documents for updates. Detects files that have been modified since indexing and optionally re-indexes them automatically.

add_documents_bulkA

Add multiple documents from a directory at once. Supports glob patterns for file matching.

remove_documents_bulkA

Remove multiple documents by IDs or tags. Useful for cleaning up the knowledge base.

update_tags_bulkA

Update tags for multiple documents in bulk. Add, remove, or replace tags for documents selected by ID or existing tags. Useful for reorganizing and categorizing the knowledge base.

export_documents_bulkA

Export metadata for multiple documents in JSON, CSV, or Markdown format. Useful for creating reports, backups, or sharing document lists.

search_tablesA

Search for tables in PDF documents. Tables contain structured data like memory maps, register definitions, and command references. Returns tables in markdown format with page numbers.

search_codeA

Search for code blocks in documents (BASIC, Assembly, Hex dumps). Finds programming examples and code snippets. Returns code with type (basic/assembly/hex), line count, and page numbers.

faceted_searchB

Search with faceted filtering. Filter results by hardware components (SID, VIC-II, CIA, etc.), assembly instructions (LDA, STA, etc.), or memory registers ($D000, etc.). Great for narrowing down search results to specific technical domains.

search_analyticsB

Get search analytics and insights. Shows popular queries, failed searches, search mode usage, and performance metrics.

find_by_referenceA

Find documents by cross-reference. Search for documents containing specific memory addresses ($D020), register offsets (VIC+0, SID+4), or page references (page 156). Great for tracking how specific registers or memory locations are documented.

suggest_queriesA

Get autocomplete suggestions for partial queries. Suggests technical terms, memory addresses, instructions, and concepts based on indexed content. Great for discovering searchable content and learning proper terminology.

export_resultsA

Export search results to various formats (markdown, json, html). Use this to save search results for offline use, sharing, or creating custom reference guides.

create_backupA

Create a backup of the knowledge base. Backs up database and embeddings to a zip file. Use this regularly for data safety and before making major changes.

restore_backupA

Restore knowledge base from a backup. WARNING: This will replace the current database. A safety backup is created automatically before restoration.

auto_tag_documentA

Automatically generate tags for a document using AI analysis. Analyzes document content and suggests relevant tags across categories: hardware (sid, vic-ii), programming (assembly, basic), document type (tutorial, reference), and difficulty level (beginner, advanced). Requires LLM configuration (set LLM_PROVIDER and API key).

auto_tag_allA

Bulk auto-tag multiple documents using AI. Analyzes content and suggests relevant tags for all documents (or subset). Useful for initial organization or re-tagging collections. Can skip already-tagged documents and limit processing count. Requires LLM configuration.

summarize_documentA

Generate an AI-powered summary of a document. Supports brief (200-300 words), detailed (500-800 words), or bullet-point summaries.

get_summaryA

Retrieve a cached summary of a document without regenerating it.

summarize_allB

Bulk generate summaries for all documents in the knowledge base.

extract_entitiesA

Extract named entities from a C64 document using AI. Identifies hardware (SID, VIC-II, CIA, 6502), memory addresses ($D000), assembly instructions (LDA, STA), people, companies, products, and technical concepts. Returns entities with type, confidence score, and context. Requires LLM configuration.

list_entitiesB

List all entities extracted from a document, grouped by type (hardware, memory_address, instruction, person, company, product, concept). Great for getting an overview of what a document covers.

search_entitiesC

Search for entities across all documents using full-text search. Find all documents mentioning specific hardware, addresses, instructions, people, companies, products, or concepts.

entity_statsB

Get statistics about extracted entities in the knowledge base. Shows breakdown by type, top entities, and documents with most entities. Useful for understanding the knowledge base content.

get_entity_analyticsB

Get comprehensive entity analytics for dashboard visualization. Provides entity distribution by type, top entities by document count, relationship statistics, top entity relationships, and extraction timeline trends over time.

extract_entities_bulkA

Bulk extract entities from multiple documents in the knowledge base. Processes documents in batch, skips documents that already have entities (unless force_regenerate). Returns statistics about processed documents and extracted entities.

extract_entity_relationshipsA

Extract co-occurrence relationships between entities in a document. Analyzes how entities appear together (e.g., VIC-II + raster interrupt, SID + sound programming). Returns entity pairs with relationship strength and context snippets.

get_entity_relationshipsA

Get all entities related to a specific entity. Shows which other entities frequently co-occur with the target entity, sorted by relationship strength. Great for discovering related concepts, hardware, and techniques.

find_related_entitiesA

Discover entities related to a given entity (simplified version of get_entity_relationships). Returns top related entities for quick exploration and discovery.

search_entity_pairA

Find documents that contain both entities. Useful for finding documentation about specific combinations (e.g., 'VIC-II' AND 'raster interrupt'). Returns documents with both entity counts and context snippets.

translate_queryA

Translate a natural language query into structured search parameters. Uses AI to extract entities, keywords, and determine optimal search strategy. Perfect for conversational queries like 'find info about sprites on VIC-II' or 'how does sound work?'. Returns structured parameters that can be used directly with other search tools.

compare_documentsA

Compare two documents side-by-side with similarity scoring, metadata diff, content diff, and entity comparison. Perfect for finding differences between document versions, comparing related documents, or analyzing document similarity. Returns comprehensive comparison with cosine similarity score (0.0-1.0).

export_entitiesA

Export all extracted entities to CSV or JSON format. Includes entity text, type, confidence scores, document counts, and occurrence counts. Useful for data analysis, reporting, or importing into other tools.

export_relationshipsA

Export all entity relationships to CSV or JSON format. Includes entity pairs, types, relationship strength scores (0.0-1.0), and document counts. Perfect for network analysis, visualization, or data export.

queue_entity_extractionA

Queue a document for background entity extraction. Extraction happens asynchronously without blocking. Use this to extract entities from documents without waiting for LLM processing. Returns job ID for tracking progress.

get_extraction_statusA

Get the entity extraction status for a document. Shows whether entities exist, extraction job status (queued/running/completed/failed), timestamps, and error messages if any. Use this to check if extraction is complete before querying entities.

get_extraction_jobsA

Get all entity extraction jobs with optional status filtering. Shows job queue, running jobs, completed extractions, and failed jobs. Useful for monitoring background extraction progress across all documents.

build_knowledge_graphB

Build a knowledge graph from extracted entities and relationships. Returns graph statistics including node count, edge count, density, and connected components. The graph can be filtered by entity types, minimum occurrence counts, and relationship strength thresholds.

compute_graph_metricsA

Compute comprehensive graph analysis metrics including PageRank (importance), betweenness centrality (bridge nodes), degree centrality (connections), and community detection. Returns detailed metrics for all entities and graph-level statistics. Metrics are stored in the database for later retrieval.

get_entity_metricsA

Retrieve stored graph metrics for a specific entity. Returns PageRank score, betweenness centrality, degree centrality, community ID, entity type, and computation timestamp. Useful for understanding an entity's importance and role in the knowledge graph.

find_entity_pathA

Find the shortest path between two entities in the knowledge graph. Returns the complete path, path length, and relationship details for each connection. Useful for discovering how concepts are related and understanding knowledge connections.

get_entity_communityA

Get all entities in the same community as the specified entity. Communities are groups of closely related entities detected through graph analysis. Returns community ID, member count, and list of community members with their types.

get_top_entitiesA

Get top-ranked entities by a specific metric (PageRank, betweenness, or degree centrality). Returns ranked list of entities with their scores, types, and other metrics. Useful for discovering the most important, central, or well-connected entities in the knowledge graph.

visualize_graphA

Generate interactive HTML visualization of the knowledge graph using PyVis. Creates a beautiful network diagram with customizable node colors (by entity type or community), node sizes (by PageRank/betweenness/degree), and interactive physics simulation. Perfect for exploring entity relationships and discovering patterns in the knowledge base.

train_lda_topicsA

Train LDA topic model on all documents to discover latent topics. Uses Latent Dirichlet Allocation to find topics based on word co-occurrence patterns.

train_nmf_topicsA

Train NMF topic model on all documents. Non-negative Matrix Factorization often produces more coherent topics than LDA and is faster.

train_bertopicB

Train BERTopic model using embeddings + UMAP + HDBSCAN. State-of-the-art transformer-based topic modeling that automatically discovers topics.

get_document_topicsA

Get topic assignments for a specific document or all documents. Shows which topics each document belongs to with probability scores.

cluster_documents_kmeansC

Cluster documents using K-Means algorithm on embeddings. Partitions documents into K clusters based on similarity.

cluster_documents_dbscanA

Cluster documents using DBSCAN (density-based clustering). Automatically discovers clusters and identifies outliers without needing to specify number of clusters.

cluster_documents_hdbscanB

Cluster documents using HDBSCAN (hierarchical density-based clustering). Improved version of DBSCAN with better handling of varying density clusters.

get_cluster_documentsA

Get documents in a specific cluster or all clusters. Shows cluster membership, distances, and cluster characteristics.

generate_topic_wordcloudB

Generate word cloud visualization for a topic. Creates an image file showing the most important words in a topic with size proportional to their weights.

visualize_cluster_scatterB

Generate 2D scatter plot of document clusters using UMAP projection. Shows how documents are distributed across clusters in 2D space.

generate_topic_heatmapA

Generate heatmap showing document-topic probability matrix. Visualizes which topics are most prominent in which documents.

visualize_cluster_distributionB

Generate bar chart showing cluster size distribution. Shows how many documents are in each cluster.

extract_document_eventsB

Extract temporal events from a document (product releases, company milestones, technical innovations, cultural events). Detects event patterns and dates, then stores to database.

get_timelineB

Get chronological timeline of events with optional filtering. Returns timeline entries sorted by date with event details.

search_events_by_dateA

Search for events within a date range. Filter by year range, event type (release, milestone, innovation, cultural, update), and confidence.

get_historical_contextA

Get historical context for a specific year. Returns events from the target year plus surrounding years to provide temporal context.

build_knowledge_graphB

Build a knowledge graph from entities and relationships in the C64 knowledge base. The graph represents entities as nodes and their relationships as weighted edges. Use this to understand the structure of knowledge and find connections between concepts.

analyze_graph_pagerankB

Calculate PageRank scores for entities in the knowledge graph. PageRank identifies the most 'important' or 'central' entities based on their connections. Higher scores indicate entities that are more connected and influential in the knowledge network.

detect_graph_communitiesB

Detect communities (clusters) in the knowledge graph. Communities are groups of entities that are more densely connected to each other than to the rest of the graph. This helps identify topic clusters and thematic groupings.

calculate_graph_centralityA

Calculate centrality measures for entities in the knowledge graph. Returns betweenness, closeness, and degree centrality. These measures identify entities that bridge different parts of the graph, are close to all others, or have many connections.

find_entity_pathA

Find the shortest path between two entities in the knowledge graph. Shows how entities are connected through intermediate relationships. Useful for understanding conceptual connections and knowledge pathways.

get_graph_statisticsA

Get statistical overview of the knowledge graph including node count, edge count, density, connected components, and degree distribution. Provides insight into the overall structure and complexity of the knowledge network.

train_lda_topicsA

Train LDA (Latent Dirichlet Allocation) topic model on documents. Discovers latent topics using probabilistic modeling. Returns topics with top words and document assignments.

train_nmf_topicsA

Train NMF (Non-negative Matrix Factorization) topic model on documents. Often produces more coherent topics than LDA using matrix factorization. Returns topics with top words and document assignments.

train_bertopicB

Train BERTopic model using document embeddings. State-of-the-art topic modeling with UMAP + HDBSCAN clustering. Automatically discovers topics from semantic embeddings.

get_document_topicsA

Get topics assigned to a specific document, including probabilities and top words for each topic. Shows which topics the document belongs to.

cluster_documents_kmeansC

Cluster documents using K-Means algorithm on embeddings. Partitions documents into K clusters. Returns cluster assignments and silhouette score.

cluster_documents_dbscanA

Cluster documents using DBSCAN (density-based) algorithm. Automatically discovers clusters and identifies outliers. Does not require specifying number of clusters.

cluster_documents_hdbscanB

Cluster documents using HDBSCAN (hierarchical density-based) algorithm. Advanced clustering that handles varying densities. Automatically discovers clusters and outliers.

get_cluster_documentsA

Get all documents in a specific cluster, including distances from centroid. Shows which documents are grouped together.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MichaelTroelsen/tdz-c64-knowledge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server