Skip to content

Get Started

Alter Docs MCP Server

Connect the Alter Docs MCP server so your coding agent can read Alter's documentation and set up an integration for you — endpoint, setup for Claude Code and Cursor, and the tools it exposes.

The Alter Docs MCP server is a hosted MCP server that serves Alter’s documentation and setup guidance to your coding agent. Connect it once, then say “set up Alter” — the agent reads the docs itself, classifies what you are building, walks the setup steps, writes the SDK into your codebase, and checks the verification gates.

https://mcp.alterauth.com/mcp

It is public, unauthenticated, and read-only. It holds no account credentials, never touches the vault, and cannot change anything in your account. Account actions stay with the alter CLI, which the agent runs in your own shell under your own login.

Terminal window
claude mcp add --transport http alter-onboarding https://mcp.alterauth.com/mcp

Add to .cursor/mcp.json in the project (keep any servers already there):

{
"mcpServers": {
"alter-onboarding": {
"type": "http",
"url": "https://mcp.alterauth.com/mcp"
}
}
}

The server speaks streamable HTTP at https://mcp.alterauth.com/mcp. Most clients take the same JSON shape:

{
"mcpServers": {
"alter-onboarding": {
"type": "http",
"url": "https://mcp.alterauth.com/mcp"
}
}
}

alter init writes the entry for you, merging into an existing config rather than overwriting it. A .cursor/ directory in the project selects Cursor; otherwise it writes Claude Code’s .mcp.json. Pass --client claude|cursor to choose explicitly.

Terminal window
npx @alter-ai/cli init

Already have the CLI installed? alter init does the same thing. See alter init for the flags.

Restart the MCP client so it picks the server up. Every route above registers the server under the same name, alter-onboarding, so they refer to the same thing — though claude mcp add records it in Claude Code’s own configuration while alter init writes the project’s config file.

The same setup — CLI install and sign-in, the MCP connection for the chosen client, and a first prompt — is shown in the developer portal itself: on the dashboard as Build with your coding agent, and behind the CLI & MCP button in the header (inside an application it adds the alter link step pinned to that application). The portal’s copy of the sign-in command carries the flags the current environment needs, so it can be pasted as-is.

Ask the agent for what you are building, in your own words:

Set up Alter so a user can connect their Slack workspace and my app bot can post in a channel they approve.

The agent calls get_started, classifies the use case, and walks the flow — creating the app, minting a scoped key, configuring the provider, wiring the SDK, setting the runtime policy (including a human-in-the-loop gate when the use case needs one), and confirming a real call produced audit events. OAuth consent and other browser steps are handed back to you explicitly.

An integration that already works has its own phase. Ask for the change in your own words:

Require a human to approve every payment this agent makes through Stripe.

The agent picks the matching modification flow — add a provider or secret, add an agent, rotate a key, manage a grant, or set a runtime policy — and, for a policy, dry-runs the rule with alter policy simulate before it is saved. The Runtime policies section of the developer portal, the Wallet’s Runtime Policy tab, the alter policy CLI, and the policy_language tool below all author the same rules; the portal’s Human in the loop (HITL) type is the require_approval rule type everywhere else.

Your MCP client discovers the live tool set through tools/list; that runtime response is authoritative. This reference is checked against a real MCP tools/list round trip so a newly registered tool cannot remain undocumented here.

ToolWhat it does
get_startedReturn phase-scoped flows and a non-authoritative routing hint; the calling agent classifies the use case.
next_stepAdvance to the next step of a flow. At the design step it repeats that flow’s starter ALTER_INTEGRATION.md.
sdk_integrationReturn the SDK wiring to write into the codebase.
sdk_patternA runnable call pattern for a language.
verify_integrationA copy-pasteable recipe to prove the integration works.
troubleshootMap a CLI exit code or error to a remediation.
list_providers / list_operations / get_operation_schemaBrowse the live provider-spec catalog and an operation’s exact contract.
policy_languageThe authoritative policy-language grammar, live from the backend.
fetch_docFetch any page of these docs by slug — the server bundles the entire published documentation, including the skill pages, so nothing has to be looked up elsewhere. A page reference is accepted in any spelling these docs use: a bare slug, a leading slash, a #section anchor, a full documentation URL, or an older path that now redirects. A mistyped slug is answered with the closest pages. Omit the slug to list every page.
search_docsKeyword search across every bundled page (docs and skills): the best-matching pages with the section and snippet that matched. Use it to find the right page before fetch_doc, instead of guessing slugs or listing every page.
list_phases / list_skillsDiscover what the server covers.

The full agent instructions this server serves are published as skills: Onboarding (first integration), Modification (change one that already works), and Server Integration (multi-user services).

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.