Skip to main content
Glama
GovIndLok

f1-mcp-server

by GovIndLok

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AWS_REGIONYesThe AWS region where your Glue and Athena resources are located.
AWS_PROFILEYesThe AWS profile to use for authentication.
GLUE_DATABASENoThe Glue database name to query (default: gold).gold
MCP_SERVER_HOSTNoHost for the MCP server (default: 127.0.0.1).127.0.0.1
MCP_SERVER_PORTNoPort for the MCP server (default: 8000).8000
S3_RESULTS_BUCKETYesThe S3 bucket path for Athena query results (e.g., s3://my-bucket/staging/query-results/).
QUERY_TIMEOUT_SECONDSNoTimeout in seconds for Athena queries (default: 15).15

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 tables in Gold Schema, optionally filtered by type (marts, facts, dims).

tables_schemaC

Schema for a table or multiple tables

get_sample_dataA

Get sample data (top 10 rows) from a table with optional filters.

Args: table_name: Name of the table to query filters: List of filters with format [{"column": "col_name", "operator": "=", "value": "value"}].(Make sure value is proper format int/string/float) join_logic: Combine filters with "AND" or "OR"

run_a_queryA

Execute custom queries with joins and filters on F1 data tables.

Args: main_table: Name of the main table to query (e.g 'fct_lap_times', 'fct_results' etc) columns: Dictonary mapping table name to list of columns. Format: {'table_name': ['col1','col2']}. Main table must be included joins: List of joins. Format:[{"table": "dim_table", "join_column": "id", "on_column": "fk_id"}] filters: List of filters. Format: [{"column": "col_name", "operator": "=", "value": "value"}]. (Make sure value is proper format int/string/float) (Use list[number, number] for between operator) filter_logic: Combine filters with "AND" or "OR" limit: Max rows to return (default: 20, max)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 4 tools

Disambiguation3/5

list_tables and tables_schema are clearly distinct, but get_sample_data and run_a_query overlap significantly—both can query a single table with filters, and run_a_query can reproduce sample-style queries with limit. The descriptions hint at different use cases (quick sample vs. custom joins), but the boundary is not sharply defined.

Naming Consistency3/5

Names are snake_case and somewhat readable, but styles are mixed: list_tables and get_sample_data use a verb+noun pattern, run_a_query adds an article, and tables_schema uses a noun phrase with no verb. Overall it is still predictable enough to navigate, but not a clean consistent convention.

Tool Count4/5

Four tools is small but appropriate for a read-only F1 data exploration server. Each tool covers a meaningful step: discover tables, inspect schemas, sample data, and run custom queries. It does not feel padded or trivially thin.

Completeness4/5

The set covers the core read-only workflow well: list available tables, understand their schema, preview data, and execute arbitrary queries. Minor gaps include no pagination/offset support and no explicit relationship metadata, but agents can work around these via run_a_query and tables_schema.

Maintenance

ActivityMaintained
ResponsivenessNo issues