Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REPO_BRIDGE_AUTHNoAuthentication mode: 'oauth', 'path-token', or 'none'. Defaults to 'none' for loopback-only access.none
REPO_BRIDGE_TOKENNoAuthorization passphrase or shared secret. Required when REPO_BRIDGE_AUTH is 'oauth' or 'path-token'.
REPO_BRIDGE_PERMISSIONNoPermission level: 'read_only', 'edit', 'develop', or 'full'. Defaults to 'develop'.develop
REPO_BRIDGE_WORKSPACESNoList of workspace paths in the format 'name=/path/to/repo', separated by spaces or commas. Determines which directories the server can access.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
workspace_listA

List repositories the bridge can open and which one is currently active. Call this first when you do not know what is available.

workspace_openA

Open a local repository and return a full project brief: languages, build system, detected build/test/lint commands, module layout, git state, and the repo's AGENTS.md / CLAUDE.md instructions. Accepts an alias from workspace_list or an absolute path inside a configured root. Makes the workspace active for subsequent tool calls.

workspace_infoA

Current state of a workspace without re-reading the repository: branch, working-tree changes, recent commits, detected commands, and everything this bridge session has already changed. Use this to resume work ("continue on quantix").

repo_open_remoteA

Clone (or refresh) a remote Git repository into an isolated managed workspace and check out a branch. Use for work on a repository that is not already on this machine. Returns the same project brief as workspace_open. Each task gets its own workspace so parallel tasks cannot interfere.

workspace_closeA

Stop tracking a workspace. For managed (cloned) workspaces you can also delete the directory to reclaim disk. Never deletes a local workspace's files.

list_dirA

List files and directories. Use for orientation in an unfamiliar area of the repo. Build outputs, node_modules and .git are skipped automatically. Prefer search_code when you are looking for something specific.

read_fileA

Read a file as text. Returns exact file content (no line numbers by default) so it can be copied verbatim into edit_file anchors. For large files pass start_line/end_line, or use search_code first to find the region worth reading. Credential files (.env, keys, cloud config) are never returned.

search_codeA

Search file contents across the repository and return matching lines with file:line locations. This is the primary way to find code — far cheaper than reading files. Supports literal or regex patterns, glob filters, and surrounding context lines. Respects .gitignore.

find_filesA

Find files by name or glob pattern (e.g. "**/Service.java", "**/test_.py"). Use when you know roughly what a file is called but not where it lives.

write_fileA

Create a new file, or replace / append to an existing one. Use this for NEW files. To change part of an existing file use edit_file instead — it is safer and much cheaper than resending the whole file.

edit_fileA

Make targeted edits to an existing file by replacing exact text. Each edit's old_string must appear exactly once (include surrounding lines to disambiguate) unless replace_all is set. All edits are applied atomically — if any anchor fails to match, the file is left untouched and you are told why. This is the preferred way to modify code.

move_pathC

Move or rename a file or directory inside the workspace.

delete_pathA

Delete a file, or a directory tree with recursive=true. Deleting the workspace root is refused. Prefer deleting specific files over directories.

create_dirA

Create a directory (including parents). write_file already creates parent directories, so this is only needed for empty directories.

file_infoA

Check whether a path exists and get its size and modification time, without reading it.

run_commandA

Run a development command in the workspace (build tools, package managers, test runners, git, language toolchains). Commands run WITHOUT a shell: pipes, redirects, && and ; are rejected — issue separate calls instead. Only allowlisted executables are permitted; destructive commands require confirm=true. Prefer run_build / run_tests / run_lint, which pick the right command for this project automatically.

run_buildA

Build the project using the build command detected from the repository (Maven, Gradle, npm/pnpm/yarn script, cargo, go, dotnet, make…). Returns exit code and output with error lines preserved even when the log is long.

run_testsA

Run the project test suite using the command detected from the repository. Failing output is summarised with the failure lines pulled out, so you can go straight from "tests failed" to the responsible code. This is the tool to use in an implement → test → fix loop.

run_lintA

Run the project linter / static checks using the command detected from the repository (eslint, ruff, clippy, go vet, spotless…).

git_statusA

Current branch, upstream tracking, ahead/behind counts, and every staged / unstaged / untracked file. Check this before committing, and to notice user changes you did not make.

git_diffA

Show changes as a unified diff. against="worktree" (default, unstaged changes), "staged", "head" (staged + unstaged), or a branch/commit name to compare the current branch against it (uses the merge base). Use stat_only=true first on a large change to see which files moved before pulling in the full diff.

git_logA

Recent commits, newest first. Useful for matching the project's commit-message conventions before committing.

git_branchA

List branches, or create / switch to one. Creating a feature branch is the normal first step before making changes, since commits to protected branches are refused.

git_commitA

Stage and commit changes. By default every modified and untracked file is staged; pass paths to commit a subset. Refuses to commit on a protected branch — create a feature branch first. Write the message in the style of the repository's recent commits (check git_log).

git_restoreA

Discard changes to specific files, or unstage them. This destroys uncommitted work, so it requires confirm=true and specific paths — it will never discard everything at once.

bridge_statusA

What this bridge is allowed to do: permission level, which capabilities are enabled, which executables may run, timeouts and output limits, protected branches, and whether GitHub/GitLab tokens are configured. Check this when a tool is refused, or before planning work that needs to push.

report_changesA

Summarise everything done in this workspace: files changed (with per-file line counts from git), commands run and whether they passed, git operations, current branch and commit state. Use this to write an accurate final report instead of relying on memory — and to see what is still uncommitted.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zcrossoverz/repo-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server