Skip to main content
Glama
Michael2150

flamerobin-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
Logging__LogLevel__DefaultNoThe server's startup log output is written to stdout, which Claude reads as part of the MCP handshake — any unexpected output causes Claude to fail to recognize the server.None

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_triggersA

List all user-defined triggers, formatted as 'TRIGGER_NAME (on TABLE_NAME)'. To retrieve a trigger body, pass just the name (without the ' (on TABLE)' suffix) to get_trigger_source.

list_proceduresA

List all user-defined stored procedures. Returns procedure names. Call describe_procedure for parameter signatures, or get_procedure_source for the PSQL body.

list_objectsA

List user tables, views, or both in a Firebird database. Returns object names. For a richer starting point use get_schema_summary instead. Pass individual names to inspect_table, get_table_constraints, get_foreign_keys, or get_view_source.

execute_scriptA

Execute multiple SQL statements separated by semicolons. Each runs in its own transaction. A failure on one statement does NOT roll back previously committed statements — there is no global rollback. Returns one status line per statement: 'OK: ...' or 'ERROR: on: ...'. For a single statement prefer execute_ddl or execute_dml.

describe_tableA

Return column definitions for a table or view. Prefer inspect_table when you also need constraints or FK relationships. Brief mode returns [{name, type, nullable}]. Full mode adds length, precision, scale, default_src, description. If unsure about column names or types, call this before writing any query or DML — do not guess schema.

run_queryA

Execute a read-only SELECT query and return results as row objects. If unsure about column names or types, call describe_table or inspect_table first — do not guess schema. IMPORTANT Firebird SQL differences: use 'SELECT FIRST n' or 'ROWS n' to limit rows — 'LIMIT n' is invalid. String concatenation uses '||' not '+'. Returns [{column: value, ...}] per row.

list_generatorsA

List user-defined generators (sequences / auto-increment counters) with their current values. Returns [{name, value}].

sample_tableA

Return a small sample of rows from a table without writing SQL. Use this to understand what real data looks like before writing queries or DML. Returns [{column: value, ...}] per row.

list_active_connectionsA

List active non-system connections to the database. Useful before running DDL or maintenance to check who is connected. Returns [{id, user, address, process, connected_at}].

describe_procedureA

Return the input and output parameter signatures for a stored procedure without reading the full PSQL body. Use this to understand how to call a procedure. Call get_procedure_source only when you need the implementation. Returns {name, input_params:[{name,type}], output_params:[{name,type}]}.

get_table_constraintsA

Return constraints on a table: PRIMARY KEY, FOREIGN KEY, UNIQUE, and CHECK. Returns [{constraint, type, index}]. Prefer inspect_table to get constraints alongside columns and FKs. For full FK details (referenced columns, ON DELETE/UPDATE rules) use get_foreign_keys instead.

execute_ddlA

Execute a single DDL statement (CREATE/ALTER/DROP TABLE, CREATE INDEX, etc.) and auto-commit. Before altering or dropping an existing object, call inspect_table or list_objects first to confirm structure. WARNING: DDL is irreversible — dropped tables and columns cannot be recovered. For multiple statements use execute_script. Returns 'DDL executed and committed.' on success.

analyze_missing_indexesA

Report which columns on a table are covered by an active index (as the leading segment). Helps identify missing indexes on columns used in WHERE clauses or JOINs. Returns [{column, has_index, index, unique}].

list_databasesA

List all Firebird servers and databases registered in FlameRobin. ALWAYS call this first — the 'key' in each result is required by every other tool's 'database' parameter. Returns [{key, host, port, path}].

get_foreign_keysA

Return foreign key relationships involving a table, in one or both directions. Returns [{direction, from_table, from_column, to_table, to_column, on_update, on_delete}]. Prefer inspect_table to get FKs alongside column and index information in one call. direction='out': what other tables this table depends on. direction='in': what other tables reference this table.

inspect_tableA

Return full structural details for a single table or view in one call: column definitions, primary key, all indexes, and foreign keys in both directions. Prefer this over calling describe_table + get_table_constraints + get_foreign_keys separately. Returns {table, columns:[{name,type,nullable,default_src}], primary_key:[col], indexes:[{name,columns,unique}], foreign_keys_out:[{column,references,on_update,on_delete}], foreign_keys_in:[{from_table,from_column,on_column,on_update,on_delete}]}.

get_view_sourceA

Return the SELECT statement that defines a view. Returns the view source SQL, or an error message if the view is not found.

execute_dmlA

Execute a single INSERT, UPDATE, or DELETE statement and commit. If unsure about column names or constraints, call inspect_table first — do not guess schema. Throws and rolls back on error. For multiple statements use execute_script. Returns 'Done. Rows affected: N'.

get_distinct_valuesA

Return the distinct values of a column and how many rows contain each value, ordered by frequency. Use this to understand the range of values in a column before writing WHERE clauses or CHECK constraints. Returns [{value, count}] ordered by count descending.

get_procedure_sourceA

Return the full PSQL source body of a stored procedure. Call describe_procedure first if you only need to know parameters — not the implementation. Returns the raw PSQL text, or an error message if not found.

list_rolesA

List all roles defined in the database. Roles group privileges and are granted to users.

get_trigger_sourceA

Return the full PSQL source body of a trigger. Returns the raw PSQL text, or an error message if not found.

get_check_constraintsA

Return the CHECK constraint expressions defined on a table. GetTableConstraints only tells you a CHECK constraint exists — this tool returns the actual expression so you know what values are valid before writing INSERT or UPDATE statements. Returns [{constraint, expression}].

get_execution_planA

Return the query execution plan for a SELECT — shows which indexes Firebird will use. The query is prepared but never executed, so it is safe on large tables. Use before run_query to detect accidental full-table scans. Returns a plan string such as 'PLAN (TABLE NATURAL)' or 'PLAN (TABLE INDEX (IDX_NAME))'.

search_schemaA

Search for tables or columns whose names match a pattern. Use this instead of listing all objects when you know part of a name — e.g. find every table containing 'ORDER', or every column named 'CUSTOMER_ID'. Returns {tables: ["NAME"], columns: [{table, column, type}]}.

get_database_infoA

Return physical metadata for a Firebird database file. Returns {path, ods_major, ods_minor, page_size, pages, sql_dialect, sweep_interval}. ods_major/ods_minor indicate the Firebird engine version. sql_dialect: 1=legacy, 3=standard. pages × page_size = approximate file size in bytes.

count_rowsA

Return the row count for a table, optionally filtered by a WHERE clause. Use before run_query to gauge table size and decide whether to add a row limit. Returns {table, where, count}.

get_next_generator_valueA

Advance a generator (sequence) by the given increment and return the new value. Use this to obtain a primary key value before inserting a row that uses a generator-based ID. WARNING: this permanently advances the generator — the consumed value cannot be reclaimed. Returns {generator, increment, value}.

get_schema_summaryA

Return a compact overview of every user table in the database: column names with types, primary key, and foreign key counts. Use this as the first step when exploring an unfamiliar database — it replaces calling list_objects + describe_table on every table. Returns [{table, columns: ["NAME:TYPE"], pk: ["COL"], fk_out, fk_in}].

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/Michael2150/flamerobin-mcp-server'

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