Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DB_PATHYesAbsolute path to your SQLite database
DASHBOARD_PORTNoPort Streamlit will listen on8501

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
list_tablesA

List all tables in the SQLite database.

describe_tableC
Show column names, types, and constraints for a table.

Args:
    table: Name of the table to describe
sample_tableB
Return the first N rows of a table (default 5, max 50).

Args:
    table: Name of the table to sample
    limit: Number of rows to return (default 5, max 50)
query_databaseB
Run a SELECT query against the SQLite database.
Only read-only SELECT statements are allowed.

Args:
    sql: A valid SQLite SELECT statement
create_dashboardB
Creates or updates the Streamlit dashboard with the given Python code.
Automatically installs missing dependencies and starts/reloads the app.

IMPORTANT: The variable DB_PATH is automatically injected at the top of
your code — always connect to the database using:
    conn = sqlite3.connect(DB_PATH)
Never hardcode a database path string yourself.

Args:
    code: Full Python source code for the Streamlit dashboard
stop_dashboardB

Stops the running Streamlit dashboard process.

get_dashboard_statusA

Returns whether the Streamlit dashboard is running and on which port.

read_dashboardB

Returns the current contents of dashboard.py.

knowledge_searchA
Semantic search over the ingested PDF knowledge base.

Pipeline:
  1. Bi-encoder retrieval from ChromaDB (fast ANN search, top_k_retrieve candidates)
  2. Cross-encoder reranking (precise pointwise scoring)
  3. Custom composite metric computation (cosine + rerank + keyword + density)
  4. Returns top_k_return chunks ranked by composite score with full metrics

The composite_score field is the primary relevance signal you should use when
deciding how much to trust each chunk. Scores > 0.7 are highly relevant.

Args:
    query:          Natural-language question or search phrase
    top_k_retrieve: Number of candidates to fetch from the vector DB (default 20)
    top_k_return:   Number of final results to return after reranking (default 5)
    filter_source:  Optional — filter by PDF filename (e.g. "report.pdf")
knowledge_base_infoA
Returns metadata about the current knowledge base:
total chunks, unique sources, collection name, embedding model.
Useful to verify that PDF ingestion completed successfully.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct resource and action: table introspection (list/describe/sample), read-only querying, dashboard lifecycle management, and knowledge-base retrieval. Boundaries are clear, and the read-only query tool is explicitly separated from the preview/schema helpers.

Naming Consistency4/5

Most tools use a predictable verb_noun pattern (list_tables, describe_table, sample_table, query_database, create_dashboard, stop_dashboard, read_dashboard). However knowledge_search and knowledge_base_info flip to a noun_verb/compound form, a minor deviation from the dominant convention.

Tool Count4/5

Ten tools is well-scoped, and each earns its place within its functional group. It does span three distinct concerns (SQLite querying, Streamlit dashboard, knowledge base), which is slightly broad but still justified.

Completeness4/5

Dashboard lifecycle (create/stop/status/read) and table exploration plus read-only querying are well covered. Gaps exist: there is no knowledge-base ingestion tool despite referring to an ingested KB, and no way to modify or delete data.

Maintenance

ActivityMaintained
ResponsivenessNo issues