MCP server suite for Intercom workspace and Fin AI configuration, audit, and migration.
Project description
forge (sabel-forge-mcp)
A CLI and MCP server suite for Intercom workspace management and automation:
migrations, workspace configuration, routing, Fin AI content, and workflow
authoring. Ships two MCP servers — forge-workspace (workspace config:
articles, teams, tickets, macros, attributes, …) and forge-fin (Fin AI
agent, Voice, knowledge sources, workflows) — plus the forge CLI for
machine setup.
Requirements
- Python 3.11+
- Google Chrome — UI-automation tools drive your own Chrome over the DevTools Protocol. No bundled browser is downloaded, ever.
- An Intercom access token per workspace you manage (Developer Hub → your app → Authentication).
- A forge license key.
Install
uv tool install sabel-forge-mcp # recommended
# or: pipx install sabel-forge-mcp
# or: pip install sabel-forge-mcp
Everything is included — REST tools and UI-automation tools work out of
the box. There are no extras to opt into and no playwright install
browser download (Playwright ships as a plain dependency and is only used
as the connection library to your own Chrome).
Verify:
forge --version # → forge (sabel-forge-mcp) x.y.z
Then activate your license:
forge auth login
Upgrading from ≤ 0.1.63?
forge install ui-depsand the[ui-automation]extra are gone — a plain install/upgrade now carries everything:uv tool upgrade sabel-forge-mcp.
Configure a workspace
Each Intercom workspace is a folder under ~/.forge/workspaces/ holding a
forge.json. The file names the environment variable that holds the
workspace's token — never the token itself (inline tokens are rejected):
// ~/.forge/workspaces/Client_Acme/forge.json
{
"name": "Client_Acme",
"industry": "fintech", // optional; matches a playbook name
"region": "eu", // us | eu | au — the Intercom datacenter
"intercom_token_env": "CLIENT_ACME_TOKEN"
}
Put the token in ~/.secrets (chmod 600, sourced from your shell rc):
export CLIENT_ACME_TOKEN="tok:..."
region matters: REST reads work from anywhere, but REST writes
and all admin-UI automation are datacenter-specific. If omitted, forge
auto-detects it on first use and writes it back into forge.json.
You can also let your agent do all of this — the add_workspace MCP tool
walks through the same steps and validates the token and region.
Wire up the MCP servers
For Claude Code:
claude mcp add forge-workspace -- forge-workspace
claude mcp add forge-fin -- forge-fin
Launch your agent once at any directory; every tool takes a workspace
argument, so one server process serves all configured workspaces. After
adding a new token to ~/.secrets, restart the agent so the servers
inherit the new environment.
UI automation and the Chrome host
Tools ending in _via_ui drive the Intercom admin UI (for resources with
no write REST API). They run exclusively as tabs in one long-lived
Google Chrome bound to a local DevTools port:
-
The first
*_via_uirun auto-starts the host — a Chrome window opens, you log into Intercom once, and the login persists on disk. -
Manage it explicitly if you prefer:
forge ui serve --workspace <name> # start manually; log in once forge ui status # endpoint, workspace, region forge ui stop # shut it down
-
The browser survives tool failures — a failed run leaves the page open for inspection, and re-running a tool resumes idempotently.
-
One browser can hold logins for several Intercom datacenters; a tool targeting a different region opens a fresh login tab and tells you.
Upgrading
uv tool upgrade sabel-forge-mcp # or: pipx upgrade sabel-forge-mcp
The MCP servers check PyPI in the background and mention when a newer release is available.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sabel_forge_mcp-0.1.69.tar.gz.
File metadata
- Download URL: sabel_forge_mcp-0.1.69.tar.gz
- Upload date:
- Size: 352.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2f932a6809527913f26be921151f42cb3f0bb1b888fefaffbf3ec454793cf82
|
|
| MD5 |
5450f1f66107feaf50304b0ef49b3390
|
|
| BLAKE2b-256 |
db3c05c999af0456d9a053ba133609567f8737eafaa15d09cdb9cc8dc24a5324
|
File details
Details for the file sabel_forge_mcp-0.1.69-py3-none-any.whl.
File metadata
- Download URL: sabel_forge_mcp-0.1.69-py3-none-any.whl
- Upload date:
- Size: 424.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82d402652cafa99304ddec15121de639de3120ff59e987c70720580bce67ebec
|
|
| MD5 |
8c220827bd706f556743cf016e104bd4
|
|
| BLAKE2b-256 |
cf0a5ae4f9c10a6b0d6ca29b596dc816f4b3f9f1f6e74ddd80b7f1c1e76592df
|