MCP Tool Reference
This page enumerates every tool exposed by the Reepolee MCP server: its name, input schema, and a one-line description. Tools are grouped by the capability tier that gate them, so you can see at a glance which opt-ins a given tool needs. The server registers 34 tools in total.
| Tier | Opt-in | Count |
|---|---|---|
| Default | none | 23 |
| Template execution | MCP_ENABLE_TEMPLATE_RENDER=true | 2 |
| Project mutations | MCP_ENABLE_MUTATIONS=true | 9 |
Schema fields marked required must be present. Optional fields are shown with their default. A tool with properties: {} takes no arguments.
Default tools (no opt-in)
Available the moment the server starts, before any environment variable is set. They are inspection-oriented: read schema, routes, templates, translations, and config; run read-only SQL; and run tests and diagnostic checks.
Templates
validate_template
Validate .ree template syntax without rendering - returns a valid flag and any errors.
| Property | Type | Required | Description |
|---|---|---|---|
template | string | yes | The .ree template content to validate |
compile_template
Compile a .ree template and show the generated JavaScript source code.
| Property | Type | Required | Description |
|---|---|---|---|
template | string | yes | The .ree template content to compile |
analyze_template
Analyze a .ree template and extract its structure - layout, includes, components, variables, conditionals, loops.
| Property | Type | Required | Description |
|---|---|---|---|
template | string | yes | The .ree template content to analyze |
list_components
List all available .ree component files in the components directory. No arguments.
get_component_source
Read the source of a .ree component by name.
| Property | Type | Required | Description |
|---|---|---|---|
name | string | yes | Component name (without .ree extension) |
read_template_file
Read a .ree template file under the main app, platform/, or components/.
| Property | Type | Required | Description |
|---|---|---|---|
path | string | yes | Project-relative path under the main app, platform/, or components/ (e.g. apps/main/home/index.ree) |
Project
get_project_context
Read the project llms.txt for full context - project overview, architecture, commands, generators, conventions. No arguments.
list_routes
List all registered routes with metadata (URL, type, module). No arguments.
list_templates
List all .ree templates in the main app, platform/, and components/ with type (route, component, layout). No arguments.
list_translations
List available locales and their translation namespaces. No arguments.
get_translations
Get translations for a locale and an optional namespace.
| Property | Type | Required | Description |
|---|---|---|---|
locale | string | yes | Locale code (e.g. en-us, sl-si) |
namespace | string | no | Namespace path (e.g. home, system/auth/login). If omitted, returns all namespaces for the locale. |
list_config
Show project configuration - database type, active locales, conventions, component/route counts. No arguments.
list_generators
List available code generators with names, files, and descriptions. No arguments.
search_code
Search authored project code with ripgrep. Secrets, VCS metadata, dependencies, and archives are excluded.
| Property | Type | Required | Description |
|---|---|---|---|
pattern | string | yes | Search pattern (supports regex) |
glob | string | no | File glob filter (e.g. *.ts, *.ree, *.json) |
max_results | number | no | Max results (default 50, max 200) |
get_route_detail
Get detailed information about a route - lists which files exist (index.ts, index.ree, form.ree, sql.ts, etc.).
| Property | Type | Required | Description |
|---|---|---|---|
url | string | yes | Route URL path (e.g. /login, /system/users, /examples/about) |
Translations (read)
See list_translations and get_translations above - the read side of translations lives in the Project group.
Database
list_db_tables
List all database tables and views with column counts. A table carrying locale_clone_of is a per-locale clone maintained by the sync_locale_tables generator - never write to it directly; write to the base table, which fans the write out to every clone. No arguments.
get_table_structure
Get full schema for a database table or view - columns, types, nullable, primary keys, auto-increment, defaults, foreign keys.
| Property | Type | Required | Description |
|---|---|---|---|
table | string | yes | Table or view name (e.g. frameworks, users, v_frameworks) |
get_db_config
Show database connection details and naming conventions (type, timezone, maintenance fields, suffixes, ignored tables). No arguments.
run_sql
Run one read-only SELECT query and return results. Results are capped at 100 rows by default.
| Property | Type | Required | Description |
|---|---|---|---|
query | string | yes | SQL query to execute (read-only) |
limit | number | no | Max rows (default 100, max 1000) |
Operations
get_queue_status
Show background job queue status - pending and failed job counts per queue plus worker liveness. Works with the SQL or Redis store. No arguments.
run_tests
Run project tests with bun test. Optionally filter by test name pattern. Results include stdout and stderr.
| Property | Type | Required | Description |
|---|---|---|---|
filter | string | no | Test name filter (e.g. rate_limit, template) |
timeout | number | no | Timeout in seconds (default 120) |
check_domain_compliance
Introspect the live database and report columns whose SQL type does not match the canonical DOMAIN_TYPES taxonomy. Read-only - never alters the database. No arguments.
spreadsheet_sheets
Read an XLS or XLSX workbook and list its sheets, row counts, and detected column names. Read-only - does not write SQL or modify the database. The inspection step before a spreadsheet_to_sql conversion.
| Property | Type | Required | Description |
|---|---|---|---|
path | string | yes | Path to an .xls or .xlsx workbook |
Template execution tools
Both tools execute local template code, so they require MCP_ENABLE_TEMPLATE_RENDER=true on the MCP process.
render_template
Execute and render a .ree template string locally.
| Property | Type | Required | Description |
|---|---|---|---|
template | string | yes | The .ree template content to render |
data | object | no | Data object to pass to the template (common vars like locale, is_dev, user are auto-injected) |
render_template_file
Execute and render a .ree template under the main app, platform/, or components/.
| Property | Type | Required | Description |
|---|---|---|---|
path | string | yes | Project-relative path under the main app, platform/, or components/ (e.g. apps/main/home/index.ree) |
data | object | no | Data object to pass to the template |
Mutation tools
All nine tools below require MCP_ENABLE_MUTATIONS=true. They write files, regenerate code, or alter the database. Review their output as you would the corresponding CLI command.
run_generator
Run a code generator. Available generators: resource (single-table full pipeline), schema, crud, create_bread (single-content synthetic non-DB BREAD resource - store.ts stub), create_localized_bread (same, but the store is expected to hold content per locale), bulk (many tables), nested (child tables under --parent), sync_translations, install_locale (install an archived locale from locales-archive/, no AI), add_locale, remove_locale, sync_locale_tables (reconcile per-locale clone tables), user, validation.
| Property | Type | Required | Description |
|---|---|---|---|
name | string | yes | Generator name (e.g. resource, crud, sync_translations) |
args | string[] | no | CLI arguments to pass to the generator |
synthetic_schema | object | no | Required for create_bread/create_localized_bread. Synthetic table schema with columns and exactly one primary-key id column. |
refresh_crud
Regenerate CRUD files for a table that already has a schema folder. Use refresh_fields to update only .ree field sections (preserves layout customizations); otherwise a full force-overwrite of generated files.
| Property | Type | Required | Description |
|---|---|---|---|
table | string | yes | Table name to refresh CRUD for |
prefix | string | no | Route prefix/module folder |
parent | string | no | Parent table (for nested child routes) |
route_name | string | no | Route name when it differs from the table name |
refresh_fields | boolean | no | Only refresh .ree field sections instead of a full overwrite (default false) |
translate | boolean | no | Translate missing keys via AI (default false) |
spreadsheet_to_sql
Convert every non-empty sheet, or one named sheet, from an XLS or XLSX workbook into separate tables with paired MySQL/SQLite SQL files. Table names use the supplied base name plus a sheet-name suffix. The MCP counterpart of the reeman DATA to SQL flow.
| Property | Type | Required | Description |
|---|---|---|---|
path | string | yes | Path to an .xls or .xlsx workbook |
table | string | yes | Destination snake_case table name |
slug | string | no | SQL filename slug |
sheet | string | no | Exact worksheet name; omit to convert all non-empty sheets |
reload_translations
Trigger translation reload on the running dev/prod server. Call this after generators that modify translations. No arguments.
add_translations
Add translation entries directly to locale files. Skips entries that already exist and reports incomplete locale-specific groups. Call reload_translations after to activate them.
| Property | Type | Required | Description |
|---|---|---|---|
entries | array | yes | Translation entries to insert (see item schema below) |
require_complete_groups | boolean | no | Reject the entire batch before writing when a populated translation group would be incomplete or contain empty values |
Each entries item:
| Property | Type | Required | Description |
|---|---|---|---|
locale | string | yes | Locale code (e.g. en-us, sl-si) |
namespace | string | yes | Namespace (e.g. brands, system/users) |
key_path | string | yes | Dot-separated key path (e.g. labels.name) |
translation | string | yes | Translated text |
prune_translations
Scan .ree templates and find file-backed translation keys no longer referenced. Set apply_changes to delete them from locale files.
| Property | Type | Required | Description |
|---|---|---|---|
apply_changes | boolean | no | Delete orphaned keys from locale files (default false) |
insert_translations
Scan .ree templates for translation keys missing from locale files. Set apply_changes to add them.
| Property | Type | Required | Description |
|---|---|---|---|
apply_changes | boolean | no | Add missing keys to locale files (default false) |
sync_translations
Sync translation data across all namespace files. Set translate to true to translate missing values with the configured AI provider.
| Property | Type | Required | Description |
|---|---|---|---|
translate | boolean | no | Translate missing values using the configured AI provider (default false) |
run_sql_dev
Execute SQL against the app's dev database via bun:sql unsafe(), returning { meta, records }. Read-only by default (single SELECT per statement, records capped); pass allow_changes=true to permit writes/DDL. Only exposed with MCP_ENABLE_MUTATIONS=true. Use run_sql for read-only inspection.
| Property | Type | Required | Description |
|---|---|---|---|
sql | string | yes | SQL to execute |
allow_changes | boolean | no | Permit write statements and DDL (default false - read-only) |
limit | number | no | Cap on returned records (default 100, max 1000) |
Notes
- Schema-reading generator tools (
run_generatorwithschema,crud,resource,bulk,nested,sync_locale_tables; andrefresh_crud) automatically take a fresh in-memory schema snapshot before generating. There is norescan_ddl_cachetool or persisted DDL cache to manage. - Counts drift with the source. The 34/23/2/9 split reflects the server at the time of writing; the MCP server page carries the same numbers. If tools are added or removed upstream, both pages need a refresh.