Skip to main content
Glama
di5rupt0r

MCP Codebase RAG Server

by di5rupt0r

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoHost address for HTTP transport (default: 127.0.0.1)127.0.0.1
MCP_PORTNoPort for HTTP transport (default: 8080)8080
LOG_LEVELNoLog level (default: INFO)INFO
MCP_TRANSPORTNoTransport mode for MCP server (default: stdio, set to 'streamable-http' for HTTP)stdio
CHROMA_DB_PATHNoPath to ChromaDB storage directory (default: ./data/chroma_db)./data/chroma_db
EMBEDDING_MODELNoEmbedding model name (default: all-MiniLM-L6-v2)all-MiniLM-L6-v2
MCP_ALLOWED_HOSTNoAllowed host for reverse proxy or Tailscale Funnel (optional)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
search_codebaseA

Search the indexed codebase for relevant code snippets.

Args:
    query: Search query text
    top_k: Number of results to return (default: 5)
    project: Project name to search within (optional)
    file_types: List of file extensions to filter (e.g., [".py", ".js"])

Returns:
    Dictionary with search results, metadata, and timing info
reindex_projectA

Re-index a project (useful after major code changes).

Args:
    project_path: Absolute path to the project directory
    project_name: Name to use for the collection
    force: If True, deletes existing index before reindexing

Returns:
    Dictionary with indexing status and statistics
list_indexed_projectsA

List all projects that have been indexed.

Returns:
    Dictionary with list of indexed projects and their metadata
get_filesA

List all files that have been indexed for a project.

Args:
    project: Project name to list files for (required). Use
             list_indexed_projects() to discover available project names.

Returns:
    List of file metadata dicts, or an error dict when project is omitted.
get_file_contentA

Return the full content of a given file path.

Args:
    path: File path to read
    project: When supplied, validates that the path belongs to this project
             before reading. Raises an error if the path is not indexed.
    
Returns:
    File content as string

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: search, reindex, list projects, list files, and get file content. There is no meaningful overlap; even the two 'get' tools are unambiguous because one returns metadata for files and the other returns the actual content.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: search_codebase, reindex_project, list_indexed_projects, get_files, get_file_content. The verbs are distinct and descriptive, and the pattern is uniformly applied without mixing styles.

Tool Count5/5

With 5 tools, the server is well-scoped for a codebase RAG system. Each tool addresses a core need (indexing, search, and file retrieval) without unnecessary bloat, fitting comfortably in the ideal range and making the surface easy to navigate.

Completeness4/5

The tool set covers the primary lifecycle: index (reindex), list indexed projects, search, list files, and fetch file content. Minor gaps exist, such as no explicit delete project or incremental update mechanism, but these are not critical for core RAG workflows and can be worked around.

Maintenance

ActivityInactive
ResponsivenessNo issues