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.

TierOpt-inCount
Defaultnone23
Template executionMCP_ENABLE_TEMPLATE_RENDER=true2
Project mutationsMCP_ENABLE_MUTATIONS=true9

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.

PropertyTypeRequiredDescription
templatestringyesThe .ree template content to validate

compile_template

Compile a .ree template and show the generated JavaScript source code.

PropertyTypeRequiredDescription
templatestringyesThe .ree template content to compile

analyze_template

Analyze a .ree template and extract its structure - layout, includes, components, variables, conditionals, loops.

PropertyTypeRequiredDescription
templatestringyesThe .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.

PropertyTypeRequiredDescription
namestringyesComponent name (without .ree extension)

read_template_file

Read a .ree template file under the main app, platform/, or components/.

PropertyTypeRequiredDescription
pathstringyesProject-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.

PropertyTypeRequiredDescription
localestringyesLocale code (e.g. en-us, sl-si)
namespacestringnoNamespace 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.

PropertyTypeRequiredDescription
patternstringyesSearch pattern (supports regex)
globstringnoFile glob filter (e.g. *.ts, *.ree, *.json)
max_resultsnumbernoMax 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.).

PropertyTypeRequiredDescription
urlstringyesRoute 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.

PropertyTypeRequiredDescription
tablestringyesTable 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.

PropertyTypeRequiredDescription
querystringyesSQL query to execute (read-only)
limitnumbernoMax 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.

PropertyTypeRequiredDescription
filterstringnoTest name filter (e.g. rate_limit, template)
timeoutnumbernoTimeout 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.

PropertyTypeRequiredDescription
pathstringyesPath 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.

PropertyTypeRequiredDescription
templatestringyesThe .ree template content to render
dataobjectnoData 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/.

PropertyTypeRequiredDescription
pathstringyesProject-relative path under the main app, platform/, or components/ (e.g. apps/main/home/index.ree)
dataobjectnoData 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.

PropertyTypeRequiredDescription
namestringyesGenerator name (e.g. resource, crud, sync_translations)
argsstring[]noCLI arguments to pass to the generator
synthetic_schemaobjectnoRequired 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.

PropertyTypeRequiredDescription
tablestringyesTable name to refresh CRUD for
prefixstringnoRoute prefix/module folder
parentstringnoParent table (for nested child routes)
route_namestringnoRoute name when it differs from the table name
refresh_fieldsbooleannoOnly refresh .ree field sections instead of a full overwrite (default false)
translatebooleannoTranslate 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.

PropertyTypeRequiredDescription
pathstringyesPath to an .xls or .xlsx workbook
tablestringyesDestination snake_case table name
slugstringnoSQL filename slug
sheetstringnoExact 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.

PropertyTypeRequiredDescription
entriesarrayyesTranslation entries to insert (see item schema below)
require_complete_groupsbooleannoReject the entire batch before writing when a populated translation group would be incomplete or contain empty values

Each entries item:

PropertyTypeRequiredDescription
localestringyesLocale code (e.g. en-us, sl-si)
namespacestringyesNamespace (e.g. brands, system/users)
key_pathstringyesDot-separated key path (e.g. labels.name)
translationstringyesTranslated text

prune_translations

Scan .ree templates and find file-backed translation keys no longer referenced. Set apply_changes to delete them from locale files.

PropertyTypeRequiredDescription
apply_changesbooleannoDelete 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.

PropertyTypeRequiredDescription
apply_changesbooleannoAdd 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.

PropertyTypeRequiredDescription
translatebooleannoTranslate 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.

PropertyTypeRequiredDescription
sqlstringyesSQL to execute
allow_changesbooleannoPermit write statements and DDL (default false - read-only)
limitnumbernoCap on returned records (default 100, max 1000)

Notes

  • Schema-reading generator tools (run_generator with schema, crud, resource, bulk, nested, sync_locale_tables; and refresh_crud) automatically take a fresh in-memory schema snapshot before generating. There is no rescan_ddl_cache tool 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.