PR Orchestrator MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level (optional, default: INFO) | INFO |
| E2B_API_KEY | Yes | E2B API key for sandbox | |
| E2B_TEMPLATE | No | E2B template (optional, default: base) | base |
| GITHUB_TOKEN | Yes | GitHub personal access token | |
| ALLOWED_REPOS | Yes | Comma-separated list of allowed repositories (e.g., owner/repo1,owner/repo2) | |
| GITHUB_USERNAME | Yes | Your GitHub username | |
| E2B_ALLOW_LOCAL_FALLBACK | No | Allow local fallback for testing (optional, default: false) | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| workspace_createB | Create a new workspace and return its identifier. |
| workspace_destroyC | Destroy a workspace by ID. |
| run_commandA | Execute a command inside a workspace. |
| ensure_forkA | Ensure a fork exists for the given |
| repo_cloneA | Clone a repository into the workspace. |
| repo_setup_remotesA | Clone the user's fork and add the upstream remote. |
| repo_add_remoteC | Add a new remote to the repository. |
| repo_fetchC | Fetch updates from a remote. |
| repo_checkoutB | Checkout a branch, tag or commit. |
| repo_create_branchB | Create a new branch from a given reference. |
| repo_diffA | Get the unified diff of all changes in the working directory. |
| repo_commitB | Commit staged changes with a commit message. |
| repo_pushA | Push the current HEAD to the specified remote/branch. |
| repo_list_branchesC | List branches in the repository. |
| repo_find_existing_branchesC | Find branches matching any of the provided patterns. |
| repo_read_pr_templateB | Read the repository's pull request template. |
| read_fileA | Read a file within the checked-out repository. The path is relative to the repository root. Content is read from the E2B sandbox and secrets are redacted. |
| search_repoA | Search for |
| apply_patchB | Apply a unified diff patch and enforce patch limits. |
| write_fileC | Write content to a file in the repository. The path is relative to the repository root. |
| detect_projectD | – |
| install_depsD | – |
| run_testsD | – |
| run_lintD | – |
| run_typecheckD | – |
| run_formatD | – |
| run_precommitD | – |
| github_ensure_forkA | Ensure a fork exists for the given upstream repository. Creates a fork under the authenticated user's account if it does not already exist. Returns the fork slug, clone URL, upstream clone URL, and whether the fork was newly created. The upstream repository must be in the allowlist. |
| github_get_issueC | Get issue details from GitHub. |
| github_find_prs_for_issueB | Find PRs linked to an issue. |
| github_open_prA | Open a pull request on GitHub. |
| request_approvalA | Record the approval decision and return an approval token if approved. |
| bundle_artifactsA | Bundle artifacts into a redacted zip and return it as base64. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
There are notable overlaps: `ensure_fork` and `github_ensure_fork` appear to be duplicates, and `repo_setup_remotes` overlaps with `repo_clone` + `repo_add_remote`. The `run_*` tools with blank descriptions also create ambiguity. As a result, agents may struggle to select the right tool.
Tool names mix conventions: many are noun_verb (`repo_diff`, `workspace_create`) while others are verb_noun (`read_file`, `run_tests`). The `github_*` prefix is used inconsistently (`ensure_fork` vs `github_ensure_fork`), and there are multiple prefixes (`repo_`, `workspace_`, `github_`) with no clear pattern.
With 33 tools, the server is over-scoped for a PR orchestration workflow. Several tools are redundant (duplicate fork checks, overlapping remote setup), suggesting the tool surface could be consolidated. This exceeds the typical well-scoped range and may confuse agents.
The server covers the main PR creation flow (workspace, repo operations, changes, checks, push, open PR) but lacks lifecycle tools for existing PRs—no update, merge, or comment operations. There are also no PR listing or detail tools, which are common gaps for orchestration scenarios.