Skip to content

Alter Onboarding

by AlterAIDev · remote · no sign-in to list tools · v0.4.0 · published by GitHub user AlterAIDev

Guide developers from setup through a verified, policy-aware, audited Alter API call.

Changes · 2

14 tools: 2 change things and 12 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

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

Findings

Matches of fixed checks, with the text they matched.

1 info

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Changes things 2Claude Code: ask
  • policy_languageThe authoritative grammar of Alter's runtime-policy language, live from the deployed backend: every authorable rule type with its JSON body schema, caps, authorable levels, worked …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    The authoritative grammar of Alter's runtime-policy language, live from the deployed backend: every authorable rule type with its JSON body schema, caps, authorable levels, worked examples, and fail-closed semantics. Call with no arguments for the overview; pass `rule_type` (e.g. "content_match") for one type's full grammar. Use it before authoring rules with `alter policy rules create` — never guess a body shape. Vocabulary: the dashboard's "Runtime policies" surface, the docs' "policy", and `alter policy` are one feature, and the dashboard's "Require human approval" type is the `require_approval` rule type (its grant-editor block is the grant-level baseline of the same gate). The same grammar is what policy files carry: `alter policy validate|test|plan|apply` review rules in Git and CI, and a rule with a `code_owner` is changed through its file, never with `rules update`. Workflow prose: the `set-policy` modify flow (`get_started` with phase=modify), fetch_doc("guides/set-policies"), fetch_doc("guides/add-human-in-the-loop-approvals"), fetch_doc("guides/policy-as-code"), and fetch_doc("reference/cli/commands/policy").
  • troubleshootMap a @alter-ai/cli exit code or error message to a remediation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Map a @alter-ai/cli exit code or error message to a remediation.
Only reads 12Claude Code: allow
  • fetch_docFetch any page of the Alter documentation by slug (e.g.No findings

    Why it is in this group

    • The name "fetch_doc" says "fetch": a word for reading.
    Description, as the server wrote it
    Fetch any page of the Alter documentation by slug (e.g. "quickstart"). The whole published docs site is bundled here, skill pages included, so every page a doc, a skill or a flow step links to can be read in-band. Accepts any spelling the docs use: a bare slug, a leading slash, a #section anchor, a full docs.alterauth.com URL, or an older path that now redirects. Omit the slug to list every page.
  • get_operation_schemaFetch one provider API operation's full contract — method, path, parameters, request/response schemas — live from Alter's provider-spec catalog, plus the spec's source and freshnes…No findings

    Why it is in this group

    • The name "get_operation_schema" says "get": a word for reading.
    Description, as the server wrote it
    Fetch one provider API operation's full contract — method, path, parameters, request/response schemas — live from Alter's provider-spec catalog, plus the spec's source and freshness. Get operation ids from list_operations first.
  • get_startedBegin or change an Alter integration.No findings

    Why it is in this group

    • The name "get_started" says "get": a word for reading.
    Description, as the server wrote it
    Begin or change an Alter integration. Without args: lists the phases. With `phase`: returns that phase's flows + a heuristic hint — classify the use case YOURSELF and call again with `goal` for the plan. If the use case spans multiple flows, run them sequentially.
  • list_operationsList the API operations a provider exposes, live from Alter's provider-spec catalog (e.g.No findings

    Why it is in this group

    • The name "list_operations" says "list": a word for reading.
    Description, as the server wrote it
    List the API operations a provider exposes, live from Alter's provider-spec catalog (e.g. "what can I call on google?"). Returns operation ids + methods/paths, plus the spec's source and freshness. Omit `kind` to auto-detect the provider family; when the id exists in both oauth and managed you'll be asked to pass `kind`. Machine-readable rows ride in `structuredContent` (see this tool's outputSchema) — read those rather than parsing the prose.
  • list_phasesList the lifecycle phases this server serves (setup, modify) and what each is for.No findings

    Why it is in this group

    • The name "list_phases" says "list": a word for reading.
    Description, as the server wrote it
    List the lifecycle phases this server serves (setup, modify) and what each is for.
  • list_providersList every provider with an ingested API spec in Alter's provider-spec catalog, with each spec's source and freshness.No findings

    Why it is in this group

    • The name "list_providers" says "list": a word for reading.
    Description, as the server wrote it
    List every provider with an ingested API spec in Alter's provider-spec catalog, with each spec's source and freshness. Optionally filter by `kind`. Start here, then call list_operations for a provider's operations.
  • list_skillsList the guidance Skills available on this server, with the phase each serves.No findings

    Why it is in this group

    • The name "list_skills" says "list": a word for reading.
    Description, as the server wrote it
    List the guidance Skills available on this server, with the phase each serves. Read a skill via its resource (skill://alter/<name>).
  • next_stepReturn the next step for a flow.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return the next step for a flow. Pass the goal (flow id) and the id of the last completed step (omit `after` for the first step). Run each step's detect command FIRST and skip the run command when detection passes. The design step also returns that flow's complete starter ALTER_INTEGRATION.md.
  • sdk_integrationReturn the Alter SDK wiring (install + client init + request) to write into the developer's codebase, for a language and setup goal.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return the Alter SDK wiring (install + client init + request) to write into the developer's codebase, for a language and setup goal.
  • sdk_patternReturn a runnable Alter SDK call pattern for a language: `proxy-call` (zero-egress proxy_request + HITL), `resolve-grant-by-user` (call as an end user via their delegated grant), `…No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return a runnable Alter SDK call pattern for a language: `proxy-call` (zero-egress proxy_request + HITL), `resolve-grant-by-user` (call as an end user via their delegated grant), `delegate-managed-secret` (the operator-side delegation step), or `resolve-ambiguous-grant` (an identity-mode call matched several of one user's grants: choose deliberately, never the first, and persist it; ask the developer at design time whether users can hold several accounts per provider). Use AFTER `sdk_integration` has wired the client.
  • search_docsSearch every bundled page of the Alter documentation (docs and skill pages) by keywords: returns the best-matching pages with the section and a snippet that matched.No findings

    Why it is in this group

    • The name "search_docs" says "search": a word for reading.
    Description, as the server wrote it
    Search every bundled page of the Alter documentation (docs and skill pages) by keywords: returns the best-matching pages with the section and a snippet that matched. Use it when a flow step or doc did not point you at the page you need, instead of guessing slugs or listing every page; then read one with fetch_doc and its slug.
  • verify_integrationReturn a copy-pasteable recipe to VERIFY an integration works: `first-call` (code↔design, an audit row, correct attribution) or `per-user-isolation` (a multi-user/broker server run…1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...r server runs two users under different credentials and rejects cross-user access). Guidanc..."

      What this check looks for
    Description, as the server wrote it
    Return a copy-pasteable recipe to VERIFY an integration works: `first-call` (code↔design, an audit row, correct attribution) or `per-user-isolation` (a multi-user/broker server runs two users under different credentials and rejects cross-user access). Guidance only — you run the commands.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.4.0. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__alter-onboarding__list_phases",
      "mcp__alter-onboarding__list_skills",
      "mcp__alter-onboarding__get_started",
      "mcp__alter-onboarding__next_step",
      "mcp__alter-onboarding__sdk_integration",
      "mcp__alter-onboarding__sdk_pattern",
      "mcp__alter-onboarding__verify_integration",
      "mcp__alter-onboarding__fetch_doc",
      "mcp__alter-onboarding__search_docs",
      "mcp__alter-onboarding__list_providers",
      "mcp__alter-onboarding__list_operations",
      "mcp__alter-onboarding__get_operation_schema"
    ],
    "ask": [
      "mcp__alter-onboarding__troubleshoot",
      "mcp__alter-onboarding__policy_language"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as alter-onboarding. Review it before you use it.