{"name":"io.github.AlterAIDev/alter-onboarding","slug":"alteraidev-alter-onboarding","title":"Alter Onboarding","description":"Guide developers from setup through a verified, policy-aware, audited Alter API call.","url":"https://mcp.market/server/alteraidev-alter-onboarding","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":0,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/AlterAIDev/Alter-Vault","website":"https://docs.alterauth.com/mcp","version":"0.2.5","remotes":[{"type":"streamable-http","url":"https://mcp.alterauth.com/mcp"}],"packages":[],"tools":[{"name":"fetch_doc","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"description":"Doc slug, e.g. \"guides/call-apis-on-behalf-of-users\".","type":"string","maxLength":200}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_operation_schema","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"provider_id":{"type":"string","minLength":1,"maxLength":200,"description":"Provider id, e.g. \"google\" or \"github\"."},"operation_id":{"type":"string","minLength":1,"maxLength":500,"description":"Operation id from list_operations, e.g. \"gmail.users.messages.list\"."},"kind":{"description":"Provider family: oauth (user-authorized) or managed (API-key).","type":"string","enum":["oauth","managed"]}},"required":["provider_id","operation_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_started","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"phase":{"description":"setup (integrate from scratch) or modify (change an existing integration).","type":"string","enum":["setup","modify"]},"use_case":{"description":"Plain-English description of what the developer wants.","type":"string","maxLength":2000},"goal":{"description":"The flow id YOU classified. Returns that flow's full plan.","type":"string","enum":["user-data","backend-secret","agent","add-provider","add-secret","add-agent","rotate-key","manage-grant","set-policy"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_operations","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"provider_id":{"type":"string","minLength":1,"maxLength":200,"description":"Provider id, e.g. \"google\" or \"github\"."},"kind":{"description":"Provider family: oauth (user-authorized) or managed (API-key).","type":"string","enum":["oauth","managed"]},"search":{"description":"Case-insensitive filter over operation ids/paths/summaries.","type":"string","maxLength":200},"limit":{"description":"Max operations to return (backend default 100, max 500).","type":"integer","minimum":1,"maximum":500},"offset":{"description":"Zero-based offset for paging through large operation lists.","type":"integer","minimum":0,"maximum":9007199254740991}},"required":["provider_id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_phases","description":"List the lifecycle phases this server serves (setup, modify) and what each is for.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_providers","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"kind":{"description":"Provider family: oauth (user-authorized) or managed (API-key).","type":"string","enum":["oauth","managed"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_skills","description":"List the guidance Skills available on this server, with the phase each serves. Read a skill via its resource (skill://alter/<name>).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"next_step","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"goal":{"type":"string","enum":["user-data","backend-secret","agent","add-provider","add-secret","add-agent","rotate-key","manage-grant","set-policy"],"description":"The flow id (setup goal or modify operation)."},"after":{"description":"Id of the last completed step (e.g. \"2\", \"3a\").","type":"string","maxLength":10}},"required":["goal"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"policy_language","description":"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 \"Human in the loop (HITL)\" type is the `require_approval` rule type (its grant-editor block is the grant-level baseline of the same gate). 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\"), and fetch_doc(\"reference/cli/commands/policy\").","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"rule_type":{"description":"One rule type's full grammar, e.g. \"content_match\" or \"quota\".","type":"string","minLength":1,"maxLength":50}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sdk_integration","description":"Return the Alter SDK wiring (install + client init + request) to write into the developer's codebase, for a language and setup goal.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"language":{"type":"string","enum":["python","typescript"],"description":"Target language."},"goal":{"type":"string","enum":["user-data","backend-secret","agent"],"description":"The setup goal (user-data | backend-secret | agent)."}},"required":["language","goal"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sdk_pattern","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"language":{"type":"string","enum":["python","typescript"],"description":"Target language."},"pattern":{"type":"string","enum":["proxy-call","resolve-grant-by-user","delegate-managed-secret","resolve-ambiguous-grant"],"description":"proxy-call | resolve-grant-by-user | delegate-managed-secret | resolve-ambiguous-grant."}},"required":["language","pattern"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_docs","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"Keywords or a short phrase, e.g. \"connect widget popup\" or \"PAT scopes login\"."},"limit":{"description":"Maximum results (default 8, at most 20).","type":"integer","minimum":1,"maximum":20}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"troubleshoot","description":"Map a @alter-ai/cli exit code or error message to a remediation.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"exit_code":{"description":"The CLI process exit code.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error":{"description":"The stderr / error message.","type":"string","maxLength":10000}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"verify_integration","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"scenario":{"type":"string","enum":["first-call","per-user-isolation"],"description":"first-call | per-user-isolation."}},"required":["scenario"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-18T04:51:03.396Z","report":{"scannerVersion":"0.1.2","scannedAt":"2026-09-18T04:51:03.330Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 487ms"]},"poisoning":{"score":15,"max":15,"notes":["14 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.alterauth.com/mcp","reachable":true,"authRequired":false,"latencyMs":487,"serverInfo":{"name":"alter-onboarding","version":"0.2.5"}}],"packages":[],"repo":{"found":false,"owner":"AlterAIDev","repo":"Alter-Vault","error":"repo not found"}}}},"grade_history":[],"reviews":[]}