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 |
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
| 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)'. 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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