flamerobin-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| Logging__LogLevel__Default | No | The 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_triggersA | List all user-defined triggers formatted as 'TRIGGER_NAME (on TABLE_NAME)'. database: key from list_databases. filter: optional case-insensitive regex applied to the full formatted string — e.g. pass 'on INVOICES' to see only triggers on a specific table. Pass just the trigger name (without the suffix) to get_trigger_source. |
| list_proceduresA | List all user-defined stored procedures in the database. database: key from list_databases. filter: optional case-insensitive regex on procedure name. Returns procedure names — pass a name to get_procedure_source to read the PSQL body. |
| list_objectsA | List user tables, views, or both in a Firebird database. database: key from list_databases. type: 'tables' (non-view relations only) | 'views' | 'all' (default). filter: optional case-insensitive regex on object name. Returns a list of names — pass them to describe_table, get_table_constraints, get_foreign_keys, etc. |
| execute_scriptA | Execute multiple SQL statements separated by semicolons. Each statement runs in its own transaction and is committed independently — if one fails the remaining statements still run. database: key from list_databases. sqlScript: semicolon-separated DDL or DML statements. Returns one status line per statement showing OK or ERROR with a message. |
| describe_tableA | Return column definitions for a table or view. database: key from list_databases. table: exact table or view name from list_objects — automatically uppercased. brief: if true returns only {name, type, nullable}; default false returns full detail including length, precision, scale, default_src, description. filter: optional case-insensitive regex on column name. |
| run_queryA | Execute a read-only SELECT query and return results as a list of row objects. database: key from list_databases. sql: a SELECT statement using Firebird SQL syntax — use 'SELECT FIRST n ...' or 'SELECT ... ROWS n' to limit rows, NOT 'LIMIT n' (which is not valid Firebird syntax). maxRows: server-side cap on rows returned (default 500). columns: optional comma-separated column names to include — useful to reduce noise from wide tables. Returns a list of row objects keyed by column name. |
| list_generatorsA | List all user-defined generators (sequences / auto-increment counters) with their current values. database: key from list_databases. filter: optional case-insensitive regex on generator name. Returns [{name, value}]. |
| list_active_connectionsA | List all currently active non-system connections to the database (from MON$ATTACHMENTS). Useful for checking who is connected before running DDL or maintenance operations. database: key from list_databases. Returns [{id, user, address, process, connected_at}]. |
| get_table_constraintsA | Return all constraints defined on a table: PRIMARY KEY, FOREIGN KEY, UNIQUE, and CHECK. database: key from list_databases. table: table name from list_objects — automatically uppercased. Returns [{constraint, type, index}]. For full FK relationship details (referenced columns, ON DELETE/UPDATE rules) use get_foreign_keys instead. |
| execute_ddlA | Execute a single DDL statement (CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, etc.) and auto-commit. database: key from list_databases. sql: one DDL statement — do not include a trailing semicolon. Returns 'DDL executed and committed.' on success, or throws on error. |
| analyze_missing_indexesA | For a given table, report which columns are covered by an active index (as the leading segment) and which are not. database: key from list_databases. table: table name from list_objects — automatically uppercased. filterColumns: optional comma-separated list of column names to check — useful when you only care about columns used in WHERE clauses or JOINs; omit to check all columns. Returns [{column, has_index, index (name or null), unique}]. |
| list_databasesA | List all servers and databases registered in FlameRobin. Returns [{key, host, port, path}]. The 'key' value is what you must pass as the 'database' parameter in every other tool. filter: optional case-insensitive regex applied to key, host, or path — omit to list all. |
| get_foreign_keysA | Return foreign key relationships for a table. database: key from list_databases. table: table name from list_objects — automatically uppercased. direction: 'out' = FK constraints this table declares (what other tables it references), 'in' = FK constraints on other tables that point to this table (what references it), 'all' (default) = both directions. Returns [{direction, from_table, from_column, to_table, to_column, on_update, on_delete}]. |
| get_view_sourceA | Return the source SQL of a view. database: key from list_databases. view: view name from list_objects (type='views') — automatically uppercased. Returns the SELECT statement that defines the view, or an error message if not found. |
| execute_dmlA | Execute a single INSERT, UPDATE, or DELETE statement in a transaction and commit. database: key from list_databases. sql: one DML statement — do not include a trailing semicolon. Returns 'Done. Rows affected: N'. Throws and rolls back on error. Use execute_script to run multiple statements. |
| get_procedure_sourceA | Return the full PSQL source body of a stored procedure. database: key from list_databases. procedure: procedure name from list_procedures — automatically uppercased. Returns the raw PSQL body text, or an error message if not found. |
| get_trigger_sourceA | Return the full PSQL source body of a trigger. database: key from list_databases. trigger: trigger name from list_triggers (use just the name, not the '(on TABLE)' suffix) — automatically uppercased. Returns the raw PSQL body text, or an error message if not found. |
| list_rolesA | List all roles defined in the database (used for grouping permissions). database: key from list_databases. filter: optional case-insensitive regex on role name. |
| get_execution_planA | Return the execution plan for a SELECT query — shows which indexes Firebird will use. Useful for spotting full table scans before running expensive queries. database: key from list_databases. sql: a SELECT statement (not DML) — the query is prepared but not executed, so it is safe to use on large tables. Returns a plan string, e.g. 'PLAN (TABLE NATURAL)' or 'PLAN (TABLE INDEX (INDEX_NAME))'. |
| get_database_infoA | Return physical metadata for a Firebird database: path, ODS version (On-Disk Structure — indicates the Firebird engine version that created the database), page_size, pages (total allocated pages), sql_dialect (1 = legacy, 3 = standard/recommended), sweep_interval. database: key from list_databases. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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