mcpField
T
Tenpace Review Router

Tenpace Review Router

Remote
github.com/tenpace-appVersion Control0Updated 11w ago
Repository

About Tenpace Review Router

Tenpace Review Router connects GitHub pull requests to a Slack destination through a human-authenticated setup flow. Its GitHub Action creates a short-lived link, while a signed-in Tenpace user claims the route and verifies delivery.

Key features

  1. 01Creates a short-lived setup link
  2. 02Routes pull requests to a Slack channel
  3. 03Supports YAML configuration and Action inputs
  4. 04Sets routing presets and reviewer mentions
  5. 05Verifies the route with a Slack delivery

Use cases

  1. 01Set up PR notifications from a GitHub workflow
  2. 02Choose a Slack destination for a repository
  3. 03Configure reviewer mention rules
  4. 04Verify a newly configured notification route

MCP support

The project publishes a remote MCP server for Review Router setup and is listed in the official MCP Registry. The README also identifies MCP as a machine-readable surface for coding agents.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://api.tenpace.com/v1/review-router/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

5
ParameterTypeRequiredDescription
presetenumNofull_coverage | team_activity | repo_watch
repositorystringYesGitHub repository in owner/repository format
slackChannelstringYesSlack channel name, with or without #
idempotencyKeystringNo
slackWorkspacestringNoOptional exact workspace name, Slack team ID, or Tenpace workspace ID
reviewerMentionsenumNoall | connected_only | none

Details

From the project README

Review Router Setup

Test

Create a GitHub-to-Slack Review Router connection from a workflow or AI coding session. The Action produces one short-lived browser link. Open it and sign in to Tenpace to claim and lock the exact repository, Slack destination, routing preset, and reviewer mention policy.

The Action never receives GitHub App credentials, Slack OAuth tokens, provider authorization codes, or the human's Tenpace session.

Use the Action

Create .github/workflows/review-router-setup.yml:

name: Set up Review Router

on:
  workflow_dispatch:

permissions:
  contents: read
  id-token: write

jobs:
  setup:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: tenpace-app/review-router-setup@v1
        with:
          slack-channel: pull-requests
          preset: repo-watch
          reviewer-mentions: all

Run the workflow. The same GitHub user who started it opens the Continue Review Router setup link in the job summary, signs in to Tenpace, completes the GitHub and Slack steps, and lets the page reconcile and verify the route with a real Slack delivery.

Config as code

Instead of inputs, commit .tenpace/review-router.yml:

version: 1
route:
  slack-channel: pull-requests
  preset: repo-watch
  reviewer-mentions: all

You can also set slack-workspace when the Tenpace team has more than one connected workspace. Explicit Action inputs override the file.

Inputs

  • slack-channel: Slack channel name, with or without #. Required unless present in the config file.
  • slack-workspace: Optional exact workspace name, Slack team ID, or Tenpace workspace ID.
  • preset: repo-watch, full-coverage, or team-activity. Default: repo-watch.
  • reviewer-mentions: all, connected-only, or none. Default: all.
  • config: Config path. Default: .tenpace/review-router.yml.

Outputs

  • setup-id: Public setup-session ID.
  • setup-url: Short-lived human authorization URL.
  • status: Initial status, normally awaiting_human.

The machine setup token is masked and deliberately not exposed as an Action output. The displayed URL contains no claim secret: it is bound to the GitHub actor in the signed OIDC token, and that same GitHub user must open it. The browser flow can finish setup without putting a secret into another workflow step.

Security model

GitHub Actions OIDC proves the repository and actor for the workflow run. It does not grant provider authority. Tenpace verifies the OIDC issuer, signature, audience, time window, repository and owner IDs, actor ID, subject, and repository binding. Action URLs contain no claim secret and can only be claimed by that GitHub actor.

The server creates an inert intent. A Tenpace user signs in and claims the setup URL, which atomically locks that exact intent version. The machine token cannot edit after claim; the person who claimed the setup can edit it, and saving creates and locks the new version in the same action. Provider OAuth stays in the browser and encrypted credentials stay on Tenpace.

Setup creation and application are idempotent. The final check sends one message through the same Slack delivery path used for pull request notifications.

See SECURITY.md for reporting and operational details.

For coding agents

Read AGENTS.md before automating setup. Canonical machine-readable surfaces:

No AI-discovery convention is universal, so the same workflow is described in the Action metadata, README, AGENTS.md, linked HTML/Markdown docs, OpenAPI, MCP, and well-known descriptor.

The remote MCP server is also published to the official MCP Registry as

io.github.tenpace-app/review-router

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.