Skip to main content
Glama
Ownership verified

Server Details

Build financial models as code. Cloud execution, GSheets MCP, version control, collaboration.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

75 tools
accept_model_share_request
Destructive
Inspect

Accept a pending model share request. Caller must have Owner or Editor access to the target project in the current tenant. Writes the source model to the target repo with a provenance header. If the target path already exists, expected_sha (the current Gitea blob SHA) is required to confirm an explicit overwrite; omitting it returns a conflict error with the current SHA and a recovery hint.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesUUID of the model share request.
expected_shaNoCurrent Gitea blob SHA of the target file. Required when the target path already exists — omitting it returns a conflict error with the current SHA and a recovery hint. Ignored for first-time writes to a new path.
target_model_nameNoName to use for the imported model file in the target project.
target_project_nameYesName of the local project to import the shared model into.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
request_idYes
accepted_atYes
target_pathYes
target_modelYes
target_projectYes
source_commit_shaYes
target_commit_shaYes
archive_commentary
Destructive
Inspect

Soft-delete a commentary row by stamping archived_at / archived_by. Idempotent: archiving an already-archived row is a no-op that returns the existing row unchanged. Archived rows are hidden from list_commentary by default; pass include_archived=true to that tool to surface them. Archiving does NOT bump the version or append a version row (the trail tracks text edits, not lifecycle).

ParametersJSON Schema
NameRequiredDescriptionDefault
commentary_idYesUUID of the commentary entry.

Output Schema

ParametersJSON Schema
NameRequiredDescription
commentaryYes
batch_read_gsheet_ranges
Read-onlyIdempotent
Inspect

Read multiple ranges from a connected Google Sheet in a single API call. Returns the values for each requested A1-notation range. Target the sheet by source_name (from list_data_sources) OR spreadsheet_id. Requires at least Viewer role on the project. Returns: spreadsheet_id, ranges (list of {range, values}), sheet_url. On error: error, message, hint.

ParametersJSON Schema
NameRequiredDescriptionDefault
rangesYesList of A1-notation ranges to read (e.g. ['Sheet1!A1:D10', 'Summary!B2:F20']).
source_nameNoLogical name for this Google Sheet data source, used in SQL queries.
project_nameYesName of the Bridge Town project.
spreadsheet_idNoGoogle Spreadsheet ID from the sheet URL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
errorNo
rangesNo
messageNo
sheet_urlNo
spreadsheet_idNo
cancel_project_inviteInspect

Cancel a pending project invite before the invitee signs up. Requires Owner role on the project. invite_id: the grant_id returned by invite_project_collaborator. Returns: project, invite_id, cancelled (bool).

ParametersJSON Schema
NameRequiredDescriptionDefault
invite_idYesUUID of the pending invite to cancel.
project_nameYesName of the Bridge Town project. Caller must have Owner role.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

cancel_run
Destructive
Inspect

Cancel a pending or running model execution. Returns: run_id (str) — cancelled run UUID; status (str) — always 'cancelled'; project_name (str) — project name; message (str) — confirmation message.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesFull UUID of the run to cancel. Must be in pending or running state.
project_nameYesName of the project the run belongs to.

Output Schema

ParametersJSON Schema
NameRequiredDescription
run_idYes
statusYes
messageYes
project_nameYes
change_collaborator_roleInspect

Change the project role for an active collaborator. Requires Owner role on the project. target_user_id: UUID of the collaborator to update. role: one of 'viewer', 'editor', 'owner'. Cannot demote the only project owner. Returns: grant_id, project, user_id, new_role.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesProject role to grant. One of: 'owner', 'editor', 'viewer'.
project_nameYesName of the Bridge Town project. Caller must have Owner role.
target_user_idYesUUID of the collaborator whose role or access to change.

Output Schema

ParametersJSON Schema
NameRequiredDescription
projectYes
user_idYes
grant_idYes
new_roleYes
commit_filesInspect

Use commit_files for atomic multi-file changes, especially model plus run.py edits

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesList of file operations to commit atomically. Each item must have: path (str, project-relative), content (str), encoding ('text' or 'base64'), and operation ('create', 'update', or 'delete'). For delete operations, content may be omitted.
branchNoBranch to operate on. Defaults to the project's default branch when omitted or null.
project_nameYesName of the Bridge Town project.
commit_messageYesGit commit message. If omitted, the server generates a default message.

Output Schema

ParametersJSON Schema
NameRequiredDescription
branchYes
projectYes
commit_shaYes
files_changedYes
compare_branchesInspect

Run a project on two branches concurrently and compare the resulting outputs side-by-side. Returns a structured project-output diff with absolute and percentage deltas for every changed metric. Changes of 10% or more are flagged as significant. Both branches run against the same data snapshot for an apples-to-apples comparison.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_nameNoModel entry point to run for comparison (without .py extension). Defaults to 'run'.
base_branchNoBase branch to compare against (typically 'main').main
output_nameNoNamed output from the model run to compare. Omit to compare all outputs.
project_nameYesName of the Bridge Town project.
scenario_branchYesName of the scenario branch to compare against the base.

Output Schema

ParametersJSON Schema
NameRequiredDescription
diffYes
errorsNo
projectYes
summaryYes
model_nameNo
base_branchYes
base_statusYes
output_nameNo
base_commit_shaYes
finance_summaryNo
scenario_branchYes
scenario_statusYes
data_snapshot_refYes
scenario_commit_shaYes
compare_runs
Read-onlyIdempotent
Inspect

Compare two persisted model-run outputs side-by-side. Resolves run IDs using full UUID or UUID prefix. Both runs must be successful and belong to the same accessible project. Uses base_run_id as the anchor and comparison_run_id as the changed side in returned labels and deltas. Reuses the same diffing engine as compare_branches so result semantics stay aligned.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_run_idYesUUID of the baseline model run to compare from.
output_nameNoNamed output to compare between the two runs.
comparison_run_idYesUUID of the comparison model run to compare to.

Output Schema

ParametersJSON Schema
NameRequiredDescription
diffYes
errorsNo
summaryYes
base_branchNo
base_run_idYes
base_statusYes
output_nameNo
project_nameYes
base_commit_shaNo
base_parametersNo
base_run_numberNo
base_started_atNo
finance_summaryNo
base_finished_atNo
comparison_branchNo
comparison_run_idYes
comparison_statusYes
comparison_commit_shaNo
comparison_parametersNo
comparison_run_numberNo
comparison_started_atNo
base_data_snapshot_refNo
comparison_finished_atNo
comparison_data_snapshot_refNo
create_branchInspect

Create a new git branch in a project. Use this to start a scenario branch for testing alternative assumptions. Scenario workflow: (1) create_branch to start the scenario, (2) patch_file for small edits or update_file for larger changeson the scenario branch, (3) compare_branches to run both branches and diff the outputs, (4) merge_branch (Owner only) to adopt the winning scenario into main, or create_pull_request for team review before merging.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_branchNoBranch to create from. Defaults to 'main'.main
branch_nameYesName for the new branch. Must be a valid git ref name (no spaces, no special chars except hyphens and underscores).
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
shaYes
branchYes
projectYes
base_branchYes
create_commentaryInspect

Attach narrative analysis to a model run, or to one named output of the run. Use this after compare_runs / get_run_output to save the agent's interpretation alongside the data it explains. If output_name is omitted, the commentary is run-level. If output_name is provided and the run has output data available, the name is validated against the same resolver as get_run_output.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesCommentary text content.
run_idYesUUID of the model run to attach commentary to.
change_noteNoOptional brief note describing what changed in this version of the commentary.
output_nameNoNamed output within the run that this commentary describes.

Output Schema

ParametersJSON Schema
NameRequiredDescription
commentaryYes
create_dashboard
Destructive
Inspect

Create or update a saved dashboard for a Bridge Town project. Generates chart HTML from a completed model run output, stores it in S3, and persists a Dashboard record. Requires Editor or Owner access to the project. output_key selects a key from the run's outputs dict — the same dict your model writes to /outputs/. When a model writes a JSON file such as /outputs/chart_data.json, the run's outputs dict stores it under the full filename including the extension (e.g.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoOptional ISO 4217 currency code for formatting values (e.g. 'USD', 'EUR'). For data_grid dashboards, applies to columns explicitly typed as 'currency'; plain 'number' columns are not currency-formatted.USD
subtitleNoOptional subtitle displayed below the dashboard title.
chart_typeYesType of chart to render. Use list_chart_types to see all available types.
output_keyYesKey in the model run's outputs dict to visualize (e.g. 'revenue_forecast').
descriptionNoOptional description displayed below the dashboard title.
model_run_idYesUUID of the successful model run whose output to render.
project_nameYesName of the Bridge Town project.
dashboard_nameYesUnique name for this dashboard within the project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
createdYes
projectYes
has_htmlYes
chart_typeYes
created_atYes
updated_atYes
dashboard_idYes
model_run_idYes
dashboard_nameYes
create_fileInspect

Create a new file in a Bridge Town project and commit it. The path is project-relative (e.g. 'README.md', 'model/revenue.py', 'data/seed.csv', 'assets/logo.png'). Specify branch to commit to a non-default branch (e.g. a scenario branch). Omitting branch, passing an empty string, or passing null all resolve to the project's default branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative path for the new file (e.g. 'model/revenue.py', 'data/seed.csv'). Must not contain '..' or absolute path components.
branchNoBranch to operate on. Defaults to the project's default branch when omitted or null.
contentYesFile content as a UTF-8 string (when encoding='text') or base64-encoded bytes (when encoding='base64').
encodingNoEncoding of the content field: 'text' for UTF-8 source (default); 'base64' for binary files. 'auto' is not allowed on writes.text
project_nameYesName of the Bridge Town project.
commit_messageNoGit commit message. If omitted, the server generates a default message.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
projectYes
commit_shaYes
create_projectInspect

Use create_project to start a new model workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
scaffoldNoWhen true (default), seeds the project with an auto-discovery run.py and a starter financial model. When false, creates a minimal empty project.
descriptionNoOptional human-readable description for the project.
project_nameYesName for the new project. Must be unique within the workspace, URL-safe, and contain only alphanumeric characters, hyphens, and underscores.

Output Schema

ParametersJSON Schema
NameRequiredDescription
orgYes
run_pyYes
projectYes
gitea_idYes
model_pyYes
clone_urlYes
descriptionYes
create_project_from_templateInspect

Create a new project using an internal workspace template as its starting point. Any workspace member may call this tool. The new project starts with a full copy of the template's code and version history. Data-source credentials and prior run outputs are NOT copied. Provenance is recorded so the new project's origin is traceable.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNoBranch in the template project to copy from. Defaults to the template's default branch.
descriptionNoOptional description for the new project.
new_project_nameYesName for the newly created project. Must be unique within the workspace.
template_project_nameYesName of the existing project to use as a template source.

Output Schema

ParametersJSON Schema
NameRequiredDescription
orgYes
projectYes
gitea_idYes
clone_urlYes
descriptionYes
template_sourceYes
create_pull_requestInspect

Open a merge request (pull request) from head_branch into base_branch. Use this to start a team review workflow before merging a scenario branch. Requires at least Editor role. Returns: id (int) — PR number; title (str) — PR title; state (str) — always 'open' on creation; head_branch (str) — source branch; base_branch (str) — target branch; author (str) — creator login; created_at (str) — ISO timestamp; merged (bool) — always false on creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoOptional description or context for the pull request.
titleYesTitle for the pull request.
base_branchNoTarget branch to merge into (typically 'main').main
head_branchYesBranch containing the changes to merge.
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
stateYes
titleYes
authorYes
mergedYes
created_atYes
updated_atYes
base_branchYes
head_branchYes
create_scheduled_runInspect

Create a new scheduled recurring model run for a project. cadence is required: a 5-field UTC cron expression (minute hour day_of_month month day_of_week). Examples: '0 8 * * 1' (every Monday 08:00 UTC), '0 0 1 * *' (monthly). Minimum interval: 15 minutes. All times are UTC. Runs appear in list_runs, get_run, and compare_runs once triggered.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNoBranch to execute the scheduled run from. Defaults to the project's default branch.
cadenceYesCron expression or interval string defining when the run executes (e.g. '0 9 * * 1' for Mondays at 9am UTC).
model_nameNoModel file to execute on the schedule (without .py extension). Defaults to 'run'.
project_nameYesName of the Bridge Town project.
idempotency_keyNoOptional idempotency key to prevent duplicate schedules. Re-sending the same key returns the existing schedule instead of creating a duplicate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYes
scheduleYes
delete_branch
Destructive
Inspect

Delete a branch from a project. The default branch (main) cannot be deleted. Typically used to clean up scenario branches after merge_branch or merge_pull_request. Requires Owner role. DESTRUCTIVE — defaults to dry_run=True and returns a confirmation_token. To execute: call again with dry_run=False and echo the token.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoPreview the deletion without mutating anything.
branch_nameYesName for the new branch. Must be a valid git ref name (no spaces, no special chars except hyphens and underscores.
project_nameYesName of the Bridge Town project.
confirmation_tokenNoToken required to confirm deletion (returned by a dry run).

Output Schema

ParametersJSON Schema
NameRequiredDescription
branchYes
deletedYes
dry_runYes
messageYes
projectYes
audit_idYes
confirmation_tokenYes
delete_file
Destructive
Inspect

Delete a file from a Bridge Town project. The path is project-relative (e.g. 'README.md', 'model/revenue.py', 'data/seed.csv', 'assets/logo.png'). Specify branch to delete from a non-default branch (e.g. a scenario branch). Defaults to the project's default branch when branch is omitted. Pass expected_sha (the sha returned by read_file) to enable optimistic concurrency control: if another session modified the file since you last read it the tool raises a ToolError with the current SHA.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative path of the file to delete.
branchNoBranch to operate on. Defaults to the project's default branch when omitted or null.
expected_shaNoExpected blob SHA-1 (40 hex chars) for optimistic concurrency control. If the file has been modified since you last read it, the call fails with a conflict error. Read the file first to get its current sha.
project_nameYesName of the Bridge Town project.
commit_messageNoGit commit message. If omitted, the server generates a default message.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
deletedYes
projectYes
delete_project
Destructive
Inspect

Delete a Bridge Town project. Requires Owner role on the project. This permanently removes the project and all its git history, files, and collaborator grants. The action cannot be undone. Safety: defaults to dry_run=True to confirm you are targeting the right project. The dry-run response lists what will be deleted without mutating anything and returns a confirmation_token.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoWhen true, simulate the deletion and return what would be removed without mutating anything. Defaults to true.
project_nameYesName of the project to delete. Requires Owner role. This action is permanent and cannot be undone.
confirmation_tokenNoToken required to confirm deletion (returned by a dry run).

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedYes
dry_runYes
messageYes
projectYes
audit_idYes
confirmation_tokenYes
delete_scheduled_run
Destructive
Inspect

Delete a scheduled model run. DESTRUCTIVE — defaults to dry_run=True: previews what would be deleted and returns a confirmation_token valid for 5 minutes. To execute: call again with dry_run=False and echo the confirmation_token. schedule_id is required (from list_scheduled_runs).

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoWhen true, validate and preview the deletion without removing the schedule.
schedule_idYesUUID of the scheduled run to manage.
confirmation_tokenNoToken required to confirm deletion (returned by a dry run).

Output Schema

ParametersJSON Schema
NameRequiredDescription
auditYes
dry_runYes
messageYes
schedule_deletedYes
confirmation_tokenYes
schedule_to_deleteYes
delete_snapshot
Destructive
Inspect

Delete an unreferenced snapshot batch from S3. The snapshot prefix must match exactly the 'prefix' field returned by 'list_snapshots'. Snapshots referenced by a model run cannot be deleted and will return an error. This operation is irreversible. Returns: project_name (str) — project name; snapshot_prefix (str) — prefix of the deleted batch; deleted_count (int) — number of S3 objects removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project.
snapshot_prefixYesPrefix of the snapshot to delete (returned by list_snapshots as the snapshot identifier).

Output Schema

ParametersJSON Schema
NameRequiredDescription
project_nameYes
deleted_countYes
snapshot_prefixYes
describe_model
Read-onlyIdempotent
Inspect

Use describe_model for static model metadata without executing code

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative path of the Python model file to describe (e.g. 'model/revenue.py').
branchNoBranch to read the model from. Defaults to the project's default branch.
project_nameYesName of the Bridge Town project containing the model.

Output Schema

ParametersJSON Schema
NameRequiredDescription
shaYes
pathYes
inputsYes
outputsYes
projectYes
warningsYes
confidenceYes
dependenciesYes
diff
Read-onlyIdempotent
Inspect

Show a unified diff between two refs (commit SHAs or branch names) of a Bridge Town project. Refs are detected automatically: a ref consisting of 7–40 hexadecimal characters is treated as a commit SHA; anything else is treated as a branch name. Use list_versions to find commit SHAs. The diff shows exactly what changed between ref_a and ref_b across all files, or only the specified file when path (e.g.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoProject-relative file path (e.g. 'model/revenue.py'). Omit to operate on the whole project.
ref_aYesFirst git ref to diff from (commit SHA, branch name, or tag).
ref_bYesSecond git ref to diff to (commit SHA, branch name, or tag). Defaults to HEAD if omitted.
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
diffYes
pathYes
ref_aYes
ref_bYes
projectYes
has_changesYes
export_projectInspect

Queue a portable .btx archive export for a Bridge Town project. Poll get_export(job_id) for completion and the pre-signed download URL. Returns: job_id (str) — export job UUID; status (str) — queued/pending status; project_id (str) — project slug; message (str) — next action; warning (str|null) — optional clamping or staging warning.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesUUID or name of the project to export.
include_runsNoWhen true, include model run history in the export archive.
include_dashboardsNoWhen true, include dashboard configurations in the export archive.

Output Schema

ParametersJSON Schema
NameRequiredDescription
job_idYes
statusYes
messageYes
warningYes
project_idYes
export_run_outputInspect

Export completed model run outputs to a downloadable XLSX workbook or PDF table pack. Returns a time-limited pre-signed S3 download URL. Only successful runs can be exported. Supports list-of-dict (tabular) outputs; non-tabular outputs are skipped when output_name is omitted, or produce an error when named explicitly. Returns: run_id, project_name, format, output_names (list), skipped_output_names (list), file_size_bytes, download_url, download_url_expires_at (ISO-8601 UTC).

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesOutput format: 'csv', 'xlsx', or 'json'.
run_idYesUUID of the completed model run to export output from.
output_nameNoNamed output within the run to export.

Output Schema

ParametersJSON Schema
NameRequiredDescription
formatYes
run_idYes
download_urlYes
output_namesYes
project_nameYes
file_size_bytesYes
skipped_output_namesYes
download_url_expires_atYes
format_gsheet
Destructive
Inspect

Unified Google Sheets formatting tool using discriminated spec.kind. Supported kinds: range_format, borders, freeze_panes, protect_range, validation, conditional_format, preset, list_presets. Examples: 1) Apply direct range styling: {"kind":"range_format","sheet_id":0,"start_row":0,"end_row":1,"start_col":0,"end_col":5,"bold":true}.

ParametersJSON Schema
NameRequiredDescriptionDefault
specNoSpecification object describing the formatting/write/structure operation. See tool description for the schema.
presetNoNamed formatting preset to apply (e.g. 'finance_table', 'summary').
tab_nameNoName of the sheet tab to format.Sheet1
source_nameNoName of the data source or model output to format.
project_nameYesName of the Bridge Town project.
preset_paramsNoOptional JSON object with parameters to pass to the preset.
spreadsheet_idNoGoogle Spreadsheet ID to format.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
get_commentary
Read-onlyIdempotent
Inspect

Fetch one commentary row by id, optionally with its full version history. Use this when the caller already has a commentary_id (e.g. from list_commentary) and wants the current text or the complete edit trail. Pass include_versions=true to receive the append-only history ordered oldest-first; the trail is exactly the rows persisted by prior create/update_commentary calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentary_idYesUUID of the commentary entry.
include_versionsNoWhen true, include the full version history of the commentary.

Output Schema

ParametersJSON Schema
NameRequiredDescription
versionsNo
commentaryYes
get_export
Read-onlyIdempotent
Inspect

Poll a .btx export job by job_id. When the job has completed successfully the response includes a pre-signed download_url and download_url_expires_at (UTC, ISO-8601). Issuing the URL emits a synchronous SOC2 audit event; if the audit subsystem is unavailable the tool refuses to surface the URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesUUID of the export job to check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
job_idYes
statusYes
created_atYes
project_idYes
started_atYes
finished_atYes
download_urlYes
error_messageYes
archive_size_bytesYes
download_url_expires_atYes
get_import
Read-onlyIdempotent
Inspect

Poll an import job by job_id. Returns: job_id (str) — import job UUID; status (str) — current job state; target_workspace_id (str|null) — destination workspace; target_repo_name (str|null) — destination project; message (str) — status summary; error (str|null) — failure detail when present.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesUUID of the import job to check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
job_idYes
statusYes
messageYes
target_repo_nameYes
target_workspace_idYes
get_pull_request
Read-onlyIdempotent
Inspect

Get full detail for a pull request, including the unified diff. Requires at least Viewer role. Returns: id (int) — PR number; title (str); body (str) — PR description; state (str) — open or closed; head_branch / base_branch (str) — source and target branches; author (str) — creator login; created_at / updated_at (str) — ISO timestamps; merged (bool); merged_at (str | null) — merge timestamp when merged; diff (str) — unified diff of all changes in the PR.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project.
pull_request_idYesNumeric ID of the pull request within the project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
bodyYes
diffYes
stateYes
titleYes
authorYes
mergedYes
approvalsYes
merged_atNo
created_atYes
updated_atYes
base_branchYes
head_branchYes
get_run
Read-onlyIdempotent
Inspect

Use get_run to poll or inspect one run by run_id

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesUUID of the run to look up, or a UUID prefix (hex digits and dashes only). Use list_runs to discover run IDs for a project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
outputYes
run_idYes
statusYes
truncatedYes
commit_shaYes
parametersYes
run_numberYes
started_atYes
finished_atYes
project_nameYes
error_messageYes
output_total_bytesYes
get_run_output
Read-onlyIdempotent
Inspect

Retrieve a single named output from a completed model run. Use this instead of get_run when you only need one output and want to avoid the 1 MiB truncation cliff for large multi-tab runs. Resolves run_id using full UUID or UUID prefix. Requires a successful run status.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesUUID of a completed model run, or a short UUID prefix. Use list_runs to discover run IDs.
encodingNoHow to encode the returned content: 'auto' (default) sniffs content type; 'json' returns raw JSON; 'text' returns text; 'base64' returns base64-encoded bytes.auto
output_nameYesKey in the run's outputs dict to retrieve (e.g. 'forecast.json' or 'revenue').

Output Schema

ParametersJSON Schema
NameRequiredDescription
run_idYes
contentYes
encodingYes
truncatedYes
size_bytesYes
output_nameYes
project_nameYes
resolution_pathYes
resolved_output_nameYes
get_skill
Read-onlyIdempotent
Inspect

Look up a Bridge Town skill by exact name or natural-language query. Use when you know a skill name or need to find one from a description. Set include_template=true to get the full prompt template.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoExact skill name or slug (e.g. 'gsheet-finance-styles'). Hyphen/underscore variants are treated as equivalent.
limitNoMaximum number of alternate matches to return for query lookups. Ignored for exact name lookups.
queryNoNatural-language description of the skill you need (e.g. 'format the P&L sheet with financial statement layouts'). Use when the exact skill name is unknown.
include_templateNoReturn the full Jinja2 prompt template body. Omit or set false for compact metadata only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
nameNo
errorNo
titleNo
matchedNo
messageNo
categoryNo
templateNo
alternatesNo
confidenceNo
descriptionNo
resource_uriNo
related_toolsNo
available_namesNo
required_contextNo
get_spreadsheet_metadata
Read-onlyIdempotent
Inspect

Return metadata for a connected Google Sheet: the spreadsheet title, and for each tab the sheet ID, title, index, type, row count, and column count. Use this before write-back tools (write_gsheet) to discover available tabs and their dimensions. Target the sheet by source_name (from list_data_sources) OR spreadsheet_id — source_name is preferred for linked sheets.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_nameNoLogical name for this Google Sheet data source, used in SQL queries.
project_nameYesName of the Bridge Town project.
spreadsheet_idNoGoogle Spreadsheet ID from the sheet URL.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
errorNo
titleNo
sheetsNo
messageNo
sheet_urlNo
spreadsheet_idNo
get_subscription
Read-onlyIdempotent
Inspect

Return subscription status for the authenticated tenant: plan name, Stripe subscription status, current billing period end, and whether the subscription is set to cancel at period end. Use this when the user asks about their plan, billing, or renewal state. Returns: plan (str), stripe_subscription_status (str|null), current_period_end_iso (str ISO-8601|null), cancel_at_period_end (bool).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
planYes
cancel_at_period_endYes
current_period_end_isoYes
stripe_subscription_statusYes
get_tool
Read-onlyIdempotent
Inspect

Use get_tool after search_tools or when a prompt names a tool and you need the exact schema, annotations, usage guidance, and related tools

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the MCP tool to look up (e.g. 'run', 'create_file', 'query_data').
detailNoDetail level to return: schema, usage, or full.schema

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
get_usage
Read-onlyIdempotent
Inspect

Return current-period usage counters for the authenticated tenant: project count vs quota, API token count vs quota, and model-run minutes consumed in the current UTC calendar month. Use this to answer 'am I close to a limit?' without a separate REST round-trip. Returns: projects_used (int), projects_quota (int), tokens_used (int), tokens_quota (int), run_minutes_used_this_month (float), run_minutes_quota (int|null), reset_date_iso (str ISO-8601).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokens_usedYes
tokens_quotaYes
projects_usedYes
projects_quotaYes
reset_date_isoYes
run_minutes_quotaYes
run_minutes_used_this_monthYes
import_projectInspect

Import a Bridge Town project from a .btx archive file. Pass the staged_import_id UUID returned by POST /api/projects/imports/stage after uploading the archive. Returns: job_id (str) — import job UUID for polling via get_import; status (str) — queued/pending state; target_workspace_id (str) — destination workspace; target_repo_name (str|null) — destination project; message (str) — next action; duplicate_of (str|null) — idempotent prior job.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNoOptional JSON object with import configuration (e.g. conflict resolution strategy, target branch).
archive_sourceYesOpaque staged archive UUID returned by POST /api/projects/imports/stage. Must be a UUID string; filesystem paths, URLs, and basenames are not accepted.
target_workspace_idNoUUID of the target workspace to import into. Defaults to the current workspace.

Output Schema

ParametersJSON Schema
NameRequiredDescription
job_idYes
statusYes
messageYes
duplicate_ofYes
target_repo_nameYes
target_workspace_idYes
ingest_data_sourceInspect

Make a data source queryable in Bridge Town. Handles file uploads and connected Google Sheet snapshots through one discriminated schema. Uses a discriminated spec.kind schema. kind='file_upload': encode a CSV or Excel file as base64 in spec.file_content. kind='google_sheet_snapshot': reference a connected sheet by spec.source_name or spec.data_source_id — the sheet must be connected via the Bridge Town web app.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesIngestion specification. Set kind='file_upload' to ingest a CSV or Excel file. Set kind='google_sheet_snapshot' to snapshot a connected Google Sheet.
project_nameYesName of the Bridge Town project to ingest data into.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
errorNo
schemaNo
tablesNo
messageNo
row_countNo
sheet_urlNo
source_nameNo
source_typeNo
project_nameNo
data_source_idNo
spreadsheet_idNo
snapshot_taken_atNo
invite_project_collaboratorInspect

Invite a user to a project by email. Requires Owner role on the project. If the email belongs to an active workspace member, access is granted immediately and they receive a project-access email. Otherwise a pending project grant and workspace invitation are created together — the invitee receives a workspace invite email and both grants are resolved when they sign up.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoProject role to grant. One of: 'owner', 'editor', 'viewer'.viewer
emailYesEmail address of the user to invite.
project_nameYesName of the Bridge Town project. Caller must have Owner role.

Output Schema

ParametersJSON Schema
NameRequiredDescription
roleYes
emailYes
pendingYes
projectYes
grant_idYes
workspace_inviteYes
list_branches
Read-onlyIdempotent
Inspect

List branches in a project. Requires at least Viewer role. Use max_results to bound the response size (default 100, max 1000). When the result is truncated, the response includes truncated=true and total_count so you know how many branches exist in total.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_resultsNoMaximum number of branches to return. Defaults to 100.
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
projectYes
branchesYes
truncatedYes
total_countYes
list_chart_types
Read-onlyIdempotent
Inspect

List all available dashboard chart types and their required data schemas. Call this before create_dashboard to discover which chart types are supported and what keys your model output must contain for each type. No project access required — returns static metadata only. Note: MCP transport authentication is still required (POST /mcp requires a valid JWT).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
truncatedYes
chart_typesYes
total_countYes
list_commentary
Read-onlyIdempotent
Inspect

Discover run commentary across runs and projects accessible to the caller. All filters are AND-composed. When project_name and run_id are both omitted, the result is constrained to the caller's accessible projects so commentary from foreign projects is never leaked. Pass include_archived=true to surface soft-deleted rows for audit/recovery flows. Returns: commentary (list) — each entry mirrors the create response; total_returned (int) — the count of rows returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoUUID of the model run to attach commentary to.
output_nameNoNamed output within the run that this commentary describes.
project_nameNoName of the Bridge Town project to list commentary for.
include_archivedNoWhen true, include archived commentary in the results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
truncatedYes
commentaryYes
total_countYes
total_returnedYes
list_dashboards
Read-onlyIdempotent
Inspect

List saved dashboards for a Bridge Town project. Requires at least Viewer access to the project. Returns: project (str) — project name; dashboards (list[{name, description, is_shared, share_expires_at, has_html, created_at, updated_at}]) — one entry per dashboard; is_shared reflects only currently-active shares (false when expired); share_expires_at is the ISO-8601 UTC expiry timestamp, or null for no-expiry shares; count (int) — number of dashboards.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project whose dashboards to list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
projectYes
truncatedYes
dashboardsYes
total_countYes
list_data_sources
Read-onlyIdempotent
Inspect

Use list_data_sources before query_data so table and column names are grounded in the live project catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project whose data sources to list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
sourcesYes
truncatedYes
total_countYes
project_nameYes
list_files
Read-onlyIdempotent
Inspect

Use list_files before editing when you need the current project tree or a path prefix

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoOptional subtree path to list within (e.g. 'model/' to list only model files). Omit to list all files.
branchNoBranch to operate on. Defaults to the project's default branch when omitted or null.
patternNoOptional glob pattern to filter filenames (e.g. '*.py', 'model/**/*.py'). Applied after path filtering.
max_resultsNoMaximum number of files to return. Defaults to 1000. Results are truncated when the total exceeds this.
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
countYes
filesYes
itemsYes
branchYes
projectYes
truncatedYes
total_countYes
list_model_share_requests
Read-onlyIdempotent
Inspect

List model share requests for the current tenant. direction='incoming' shows requests targeting this tenant; direction='outgoing' shows requests this tenant initiated; direction='all' (default) shows both. Filter by status: 'pending', 'accepted', 'rejected', 'revoked', or 'all' (default). Returns: requests (list with full status, commit SHAs, and timestamps).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by request status: 'pending', 'accepted', 'rejected', 'revoked', or 'all'.all
directionNoFilter by share direction: 'incoming' (requests to this workspace), 'outgoing' (requests from this workspace), or 'all'.all

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
requestsYes
truncatedYes
total_countYes
list_project_collaborators
Read-onlyIdempotent
Inspect

List all active and pending collaborators for a project. Requires at least Viewer role on the project. Returns: project (str); collaborators (list[{grant_id, user_id, email, display_name, role, pending}]); count (int). Pending entries have user_id=null and pending=true — the invitee has not yet joined the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project. Caller must have Owner role.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
projectYes
truncatedYes
total_countYes
collaboratorsYes
list_projects
Read-onlyIdempotent
Inspect

Use list_projects first when the user refers to a project by memory or asks what they can access

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
projectsYes
truncatedYes
total_countYes
list_pull_requests
Read-onlyIdempotent
Inspect

List pull requests (merge requests) in a project. Requires at least Viewer role. state filter: 'open' (default), 'closed', or 'all'. Returns: project (str) — project name; pull_requests (list) — PR summaries with id, title, state, head_branch, base_branch, author, created_at, merged; count (int) — number of PRs returned; state_filter (str) — the state filter applied.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoFilter by state: 'open' (default), 'closed', or 'all'.open
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
projectYes
truncatedYes
total_countYes
state_filterYes
pull_requestsYes
list_runs
Read-onlyIdempotent
Inspect

Use list_runs to find recent execution history before selecting a run_id

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of runs to return. Clamped to 1–50; defaults to 10.
statusNoOptional status filter. One of: pending, running, success, failed, timed_out, cancelled. Omit or pass empty string for no filter.
project_nameYesName of the project whose run history to list.

Output Schema

ParametersJSON Schema
NameRequiredDescription
runsYes
itemsYes
truncatedYes
total_countYes
project_nameYes
total_returnedYes
list_scheduled_runs
Read-onlyIdempotent
Inspect

List all scheduled recurring model runs for a project. Use create_scheduled_run to add a new schedule, update_scheduled_run to change an existing one, or delete_scheduled_run to remove one. Cadence: 5-field UTC cron expression. Minimum interval: 15 minutes. Returns: schedules (list) — each schedule's ID, cadence, enabled flag, next/last run times, and consecutive failure count; count (int) — number returned; message (str) — summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYes
itemsYes
messageYes
schedulesYes
truncatedYes
total_countYes
list_snapshots
Read-onlyIdempotent
Inspect

List available data snapshots for a project with their creation dates and sizes. Snapshots are grouped by upload batch. A snapshot is marked 'referenced' if it is used by a model run and cannot be deleted. Use 'delete_snapshot' to remove unreferenced snapshots. Returns: project_name (str) — project name; snapshots (list[{timestamp, prefix, file_count, total_size_bytes, referenced}]) — one entry per batch; total_count (int) — number of snapshot batches.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
snapshotsYes
truncatedYes
total_countYes
project_nameYes
list_versions
Read-onlyIdempotent
Inspect

List the version history (git commits) for a Bridge Town project. When path is provided (e.g. model/revenue.py, README.md, data/seed.csv), only commits that touched that file are shown; omit path to list project-wide history. Each version includes the commit SHA, human-readable commit message (derived from the natural-language prompt used to create or update the file), author name, and date.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoProject-relative file path (e.g. 'model/revenue.py'). Omit to operate on the whole project.
limitNoMaximum number of commits to return. Defaults to 20.
branchNoBranch to inspect. Defaults to the project's default branch.main
cursorNoPagination cursor from a previous list_versions response to fetch the next page.
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
countYes
itemsYes
branchYes
projectYes
versionsYes
truncatedYes
next_cursorYes
total_countYes
merge_branchInspect

Merge a head branch into a base branch (direct merge, no review required). If the merge would cause conflicts, returns a human-readable diff showing the conflicting changes so you can resolve them manually. Requires Owner role — only Owners can directly merge branches into main, protecting the base model from unreviewed assumption changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoWhen true, validate the merge without committing. Returns conflict status without modifying any branch.
base_branchNoTarget branch to merge into. Defaults to 'main'.main
head_branchYesName of the branch to merge into base_branch.
project_nameYesName of the Bridge Town project.
commit_messageNoCustom commit message for the merge. If omitted, a default is generated.
expected_head_shaNoOptional expected SHA of head_branch tip for optimistic concurrency. Fails if the branch has moved since you last read it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
diffNo
mergedYes
dry_runNo
messageYes
projectYes
audit_idYes
conflictYes
head_shaNo
up_to_dateYes
base_branchYes
head_branchYes
merge_pull_requestInspect

Merge an approved pull request into its base branch. Requires Owner role. style options: 'merge' (merge commit, default), 'squash' (squash into one commit), 'rebase' (rebase onto base branch). Safety: pass expected_head_sha (the PR head commit SHA from get_pull_request) to guard against new commits pushed to the PR branch since you last checked. Returns: project (str); pull_request_id (int); merged (bool); message (str); audit_id (str) — correlation ID present in the audit log for this merge.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoMerge style: 'merge' (merge commit), 'rebase' (rebase and merge), or 'squash' (squash and merge).merge
commit_titleNoOptional title for the merge commit.
project_nameYesName of the Bridge Town project.
pull_request_idYesNumeric ID of the pull request within the project.
expected_head_shaNoOptional SHA of the PR head commit for optimistic concurrency control.

Output Schema

ParametersJSON Schema
NameRequiredDescription
mergedYes
messageYes
projectYes
audit_idYes
pull_request_idYes
modify_gsheet_structure
Destructive
Inspect

Consolidated Google Sheets structure tool. Use spec.action as a discriminator: ensure_tab, insert_rows, or delete_rows. Examples: 1) Ensure a tab exists: {"action":"ensure_tab","tab_title":"Forecast"}. 2) Insert rows: {"action":"insert_rows","sheet_id":0,"start_row":1,"num_rows":3}. 3) Delete rows: {"action":"delete_rows","sheet_id":0,"start_row":20,"num_rows":5}.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesSpecification object describing the formatting/write/structure operation. See tool description for the schema.
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
errorNo
detailNo
messageNo
operationNo
sheet_urlNo
spreadsheet_idNo
patch_fileInspect

Use patch_file for a small known text replacement in one file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative path of the UTF-8 text file to patch.
branchNoBranch to operate on. Defaults to the project's default branch when omitted or null.
find_textYesExact substring to find in the file. Must appear exactly as many times as expected_occurrences (default 1).
expected_shaNoExpected blob SHA-1 (40 hex chars) for optimistic concurrency control. If the file has been modified since you last read it, the call fails with a conflict error. Read the file first to get its current sha.
project_nameYesName of the Bridge Town project.
replace_textYesText to replace each occurrence of find_text with.
commit_messageNoGit commit message. If omitted, the server generates a default message.
expected_occurrencesNoExpected number of times find_text appears. Defaults to 1. Use to guard against partial matches in files with repeated content.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
projectYes
commit_shaYes
replacements_appliedYes
query_data
Read-onlyIdempotent
Inspect

Use query_data for read-only DuckDB analysis against project data sources

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesSQL SELECT statement to execute against the project's registered data sources using DuckDB syntax.
row_limitNoMaximum number of rows to return. Defaults to 1000. Use to avoid overwhelming the context window with large result sets.
project_nameYesName of the Bridge Town project whose data sources to query.

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsYes
columnsYes
sourcesYes
warningsNo
row_countYes
truncatedYes
read_file
Read-only
Inspect

Use read_file to inspect an existing model, run.py, README, or data seed before making changes

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative file path to read (e.g. 'run.py', 'model/revenue.py').
branchNoBranch to operate on. Defaults to the project's default branch when omitted or null.
encodingNoHow to decode the file: 'auto' (default) sniffs binary vs text; 'text' returns UTF-8 string; 'base64' returns base64-encoded bytes.auto
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
shaYes
pathYes
contentYes
projectYes
encodingYes
size_bytesYes
reject_model_share_requestInspect

Reject a pending model share request. Caller must have Owner or Editor access to the suggested target project in the target tenant. If the target project does not yet exist, workspace Owner role is also accepted. Returns: request_id, status='rejected', updated_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesUUID of the model share request.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
request_idYes
updated_atYes
remove_project_collaborator
Destructive
Inspect

Remove an active collaborator from a project using their target_user_id. Requires Owner role on the project. To cancel a pending invite instead, use cancel_project_invite with the invite_id (grant_id) returned by invite_project_collaborator. Cannot remove the only project owner. Returns: project, user_id, removed (bool).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project. Caller must have Owner role.
target_user_idYesUUID of the collaborator whose role or access to change.

Output Schema

ParametersJSON Schema
NameRequiredDescription
projectYes
removedYes
user_idYes
request_model_shareInspect

Request to share a Bridge Town model with another tenant. Creates a pending share request that the target tenant must explicitly accept. No model code is written to the target repo until acceptance. Requires at least Viewer access to the source project. Requires Pro plan. Returns: request_id, status='pending', source_project, source_model, target_tenant, suggested_target_project, suggested_target_model, created_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_nameYesName of the model file to share (without .py extension).
target_tenant_slugYesSlug identifier of the target workspace to share the model with.
source_project_nameYesName of the source Bridge Town project.
suggested_target_modelNoSuggested name for the model in the target workspace.
suggested_target_projectYesSuggested project name in the target workspace where the model should be placed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
created_atYes
request_idYes
source_modelYes
target_tenantYes
source_projectYes
suggested_target_modelYes
suggested_target_projectYes
review_pull_requestInspect

Submit a review decision on a pull request. Requires at least Editor role. event options: 'comment' (neutral feedback), 'approve' (signal ready to merge), 'request_changes' (block merge until addressed). Returns: project (str); pull_request_id (int); event (str); message (str).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoReview comment text. Required when event is 'COMMENT' or 'REQUEST_CHANGES'.
eventYesReview decision: 'comment' (leave a comment), 'approve' (approve the PR), or 'request_changes' (request changes).
project_nameYesName of the Bridge Town project.
pull_request_idYesNumeric ID of the pull request within the project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
eventYes
messageYes
projectYes
pull_request_idYes
revoke_model_shareInspect

Revoke an accepted model share. Source tenant members with Owner or Editor access to the source project may revoke. Target tenant members with Owner or Editor access to the accepted target project may revoke. Records the revocation in the audit trail; does NOT delete the file from the target repo — the target tenant retains their copy. Returns: request_id, status='revoked', updated_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesUUID of the model share request.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
request_idYes
updated_atYes
rollback_version
Destructive
Inspect

Restore a project file to the bytes it had at a previous version (commit SHA). Pass path as a project-relative file path (e.g. model/revenue.py, README.md, data/seed.csv, assets/logo.png). This creates a new commit — it does NOT rewrite history. Use list_versions to find the commit SHA you want to restore. Optionally specify a branch to restore on a scenario branch instead of the default branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative file path (e.g. 'model/revenue.py'). Omit to operate on the whole project.
branchNoBranch to inspect. Defaults to the project's default branch.
dry_runNoPreview the rollback without creating a commit.
target_shaYesGit commit SHA to roll back to.
project_nameYesName of the Bridge Town project.
commit_messageNoGit commit message for the rollback commit. If omitted, a default is generated.
confirmation_tokenNoToken required to confirm rollback (returned by a dry run).
expected_current_shaNoExpected SHA of the current HEAD for optimistic concurrency. Fails if the branch has changed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
dry_runYes
messageYes
projectYes
current_shaYes
commit_messageYes
new_commit_shaYes
restored_to_shaYes
confirmation_tokenYes
runInspect

Use run to execute a project via run.py or one model file

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesExecution mode. 'sync' blocks until the run completes and returns results inline; 'async' queues the run immediately and returns a run_id to poll with get_run.
scopeYesExecution scope. 'project' runs run.py as the top-level entry point (omit model_name); 'model' runs a single model file named model_name.
branchNoBranch to execute from. Defaults to the project's default branch when omitted or null.
commit_shaNoExact git commit SHA to execute. When omitted, the latest commit on branch is used.
model_nameNoName of the model file to run (without .py extension). Required when scope='model'; ignored when scope='project'.
parametersNoOptional JSON object delivered as /inputs/parameters.json inside the sandbox container. Use for sensitivity analysis without branching. Must be JSON-serializable and under 64 KB.
project_nameYesName of the Bridge Town project to execute.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

search_tools
Read-onlyIdempotent
Inspect

Use search_tools when the task is clear but the tool name is unknown

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of tools to return. Defaults to 5.
queryYesNatural-language description of what you want to accomplish (e.g. 'run a financial model', 'list branches').
domainNoOptional domain to restrict the search to (e.g. 'execution', 'models', 'data').

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
reasonNo
recoveryNo
truncatedYes
total_countYes
skill_matchesNo
share_dashboardInspect

Mark a saved dashboard as shared with the project team and return an authenticated app URL. The URL can only be opened by users who already have Bridge Town access to the project — no anonymous or public access is granted. Requires at least Editor access to the project. expires_hours: enforced sharing duration in hours (1–168, default 24).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameYesName of the Bridge Town project.
expires_hoursNoSharing policy duration in hours (1–168, default: 24). Values outside this range raise a validation error.
dashboard_nameYesName of the dashboard to share.

Output Schema

ParametersJSON Schema
NameRequiredDescription
projectYes
access_noteYes
dashboard_idYes
dashboard_urlYes
expires_hoursYes
dashboard_nameYes
share_expires_atYes
sync_shared_model
Destructive
Inspect

Re-sync an accepted model share with the latest source content. Caller must have Owner or Editor access to the target project in the current tenant. If the target file already exists, expected_sha (the current Gitea blob SHA) is required to confirm the overwrite; omitting it returns a conflict error with the current SHA and a recovery hint. Returns: request_id, target_project, target_model, target_path, source_commit_sha, target_commit_sha, synced_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesUUID of the model share request.
expected_shaNoCurrent Gitea blob SHA of the target file. Required when the target already exists — omitting it returns a conflict error with the current SHA and a recovery hint.

Output Schema

ParametersJSON Schema
NameRequiredDescription
synced_atYes
request_idYes
target_pathYes
target_modelYes
target_projectYes
source_commit_shaYes
target_commit_shaYes
update_commentaryInspect

Edit commentary text under optimistic concurrency. Pass the version you observed last (typically the value returned by create_commentary or get_commentary) as expected_version; if it no longer matches the stored row, the tool returns a commentary-stale-version error carrying expected_version and actual_version so the caller can re-fetch and merge.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesCommentary text content.
change_noteNoOptional brief note describing what changed in this version of the commentary.
commentary_idYesUUID of the commentary entry.
expected_versionYesExpected version number for optimistic concurrency control.

Output Schema

ParametersJSON Schema
NameRequiredDescription
commentaryYes
update_fileInspect

Overwrite an existing file in a Bridge Town project and commit the change. The path is project-relative (e.g. 'README.md', 'model/revenue.py', 'data/seed.csv', 'assets/logo.png'). This tool is strict update-only: if the file does not exist it returns a not-found error instructing you to use create_file instead. Specify branch to commit to a non-default branch (e.g.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesProject-relative path of the existing file to overwrite.
branchNoBranch to operate on. Defaults to the project's default branch when omitted or null.
contentYesNew file content as a UTF-8 string (when encoding='text') or base64-encoded bytes (when encoding='base64').
encodingNoEncoding of the content field: 'text' for UTF-8 source (default); 'base64' for binary files. 'auto' is not allowed on writes.text
expected_shaNoExpected blob SHA-1 (40 hex chars) for optimistic concurrency control. If the file has been modified since you last read it, the call fails with a conflict error. Read the file first to get its current sha.
project_nameYesName of the Bridge Town project.
commit_messageNoGit commit message. If omitted, the server generates a default message.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathYes
projectYes
commit_shaYes
update_scheduled_runInspect

Update an existing scheduled model run. schedule_id is required (from list_scheduled_runs). Pass only the fields you want to change: cadence (new cron expression), enabled (pause or resume), branch (switch target branch), model_name (switch target model). Cadence validation: 5-field UTC cron, minimum 15-minute interval. Returns: schedule (dict) — updated schedule summary; message (str) — update summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNoBranch to execute the scheduled run from. Defaults to the project's default branch.
cadenceNoCron expression or interval string defining when the run executes (e.g. '0 9 * * 1' for Mondays at 9am UTC).
enabledNoWhether the scheduled run is active.
model_nameNoModel file to execute on the schedule (without .py extension). Defaults to 'run'.
schedule_idYesUUID of the scheduled run to manage.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYes
scheduleYes
write_gsheet
Destructive
Inspect

Consolidated Google Sheets write tool. Provide spec.mode to choose one operation: replace, append, clear, batch, or new_spreadsheet. Examples: 1) Replace model output in a target range: {"mode":"replace","run_id":"...","output_name":"forecast.json","cell_range":"Forecast!A1"}. 2) Append model output to a tab: {"mode":"append","run_id":"...","output_name":"forecast.json","sheet_name":"History"}.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesSpecification object describing the formatting/write/structure operation. See tool description for the schema.
project_nameYesName of the Bridge Town project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources