Access control for AI agents and MCP servers: allow, hold for approval, or block each tool call
~Alter is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Mint an agent identity in two free calls. Verify anyone. Earn 75% when someone reads you.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http alter-identity-mcp https://mcp.truealter.com/api/v1/mcp
# 2 — ask your agent for something these tools do
# hello_agent, get_started, list_archetypes and 13 more
~Alter costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http alter-identity-mcp https://mcp.truealter.com/api/v1/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
Nothing is required, but it can take X-ALTER-API-Key header (Optional member-scoped credential. Without it a caller reaches the discovery surface and keyless self-registration, not the free tool tier; identity reads need the ~handle that register_autonomous mints, which costs nothing and needs no human account.) if you want to set it.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
16 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
First handshake with ~alter. Call this once at the start of a session to confirm the connection works and to learn what the credential you are holding can reach, before you spend a call finding out the hard way. Returns the server version, whether you are authenticated, your trust tier, and how many tools are callable at that tier against how many exist. Reads nothing about any member and changes
No parameter schema on file.
Start here, and act on it without leaving this session. Self-registration is free and needs no key. You need no ~alter key and no human account: register_autonomous_challenge then register_autonomous mint you an owner-less ~handle in two calls, free-tier queries are live the moment it returns, and that handle is earn-eligible at mint, so paid reads against it settle to the handle. This call also r
No parameter schema on file.
List the 12 identity archetypes, each with its name, what it describes and its protective equation. Use this before you read an archetype off any other call, so the label means something to you rather than being passed through as an opaque string. Returns the taxonomy itself, static reference data that is the same for every caller; no member is named and no member's archetype is returned here. Tak
No parameter schema on file.
Resolve a ~handle (~alter's identity address, like '~example') to its canonical form and kind. Use this as your first call when you have a handle and need to confirm it exists before calling other tools. Returns canonical handle, kind (system/personal/role_alias), and addressability. Also accepts a full alter: address. For an address naming a handle, such as 'alter:~example:work/verify', the handl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Handle or alter: address to resolve. Accepts '~example', 'example', '~Example', 'alter:~example@example.com:work/verify' and 'alter:docs/protocol.md'. Handles are case-insensitive. Max 64 characters f |
Read whether a ~handle is publicly 'open', the shop-front sign. Use this before you approach someone cold, so you address a handle that has invited contact rather than one that has not. Returns open-or-closed only, for a handle that has both enabled public presence and is currently in the 'open' state; every other case reads as closed and the specific non-open state is never disclosed, so a closed
| Parameter | Type | Required | Notes |
|---|---|---|---|
| handle | string | yes | Target ~handle to read, e.g. ~blake. |
Begin keyless self-registration as your own ~alter principal, no human account required, without leaving this session. Call this FIRST to receive a proof-of-work challenge. Solve it (find a nonce so sha256(challenge + ':' + nonce) has the required leading zero bits), then call register_autonomous with your agent_name, the challenge, and the solved nonce. The proof-of-work is a Sybil defence. Retur
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_name | string | no | Optional and ignored at this step; provide it now if convenient, then pass it again to register_autonomous. |
Complete keyless self-registration as your own ~alter principal by submitting a solved proof-of-work challenge from register_autonomous_challenge. Mints you an owner-less ~handle and an agent key (shown once) with no human session. Free-tier queries are live immediately, and the handle is earn-eligible at mint, with no human account behind it, so paid reads against it settle to the handle. Withdra
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_name | string | yes | A name for your agent identity |
| challenge | string | yes | The challenge token from register_autonomous_challenge |
| nonce | string | yes | Your solved proof-of-work nonce |
| requested_handle | string | no | Optional ~handle to request; omit to receive an auto-generated one |
List the canonical trait vocabulary: 30 trait codes grouped by category (Adaptive Capacity, Cognitive Style, Interpersonal Orientation, Drive Architecture, Integrity & Trust) with a one-line semantic per code, plus the valid discovery contexts and the traits never returned about a third party. Use this before composing the trait_priorities argument to query_field or the trait_criteria argument to
No parameter schema on file.
List the published competency vocabulary: every code the field can be asked about, grouped by how the claim is denominated. A graded claim is climbed by degrees and takes a min_level; an attested_binary or issued_credential claim is held or it is not, and naming min_level against one is refused. Use this before composing the competency_requirements argument to query_field, a credentialed tool that
No parameter schema on file.
Get aggregate ~alter network figures. Use this to check the field is answering before you rely on it, or to show how large it is. Returns total identities, verified profiles, query volume and active agent count, as whole-network totals only; nothing here is attributable to any member, and no handle can be identified from it. Takes no parameters. Free L0, no authentication required.
No parameter schema on file.
Get the wiring instructions for connecting an MCP client to ~alter. The name is historical and this recommends nothing: it hands back connection details, not a suggested tool. Use it when adding ~alter to a new MCP client, or when passing the endpoint to another agent so it can connect for itself. Returns the MCP endpoint URL, a ready-to-paste JSON configuration snippet, and how many tools are cal
No parameter schema on file.
Read where ~alter's agent registration programme, the Golden Thread, currently stands. Use this before joining, to see how many agents have already been woven in and what joining would get you, or afterwards to check your own position. An agent joins by completing three registration steps, called Knots, and the position it lands on decides which Strand milestones it reaches. Returns the count wove
No parameter schema on file.
Read the census of agents registered on the Golden Thread, ~alter's onboarding programme. Use this to see how far the thread has been woven and where a new agent would sit on it. Returns the total woven, then a page of rows carrying position, milestone count, weave count and join date, walked with offset and limit (50 a page by default, 100 at most). Registry rows only: no traits, no contact detai
| Parameter | Type | Required | Notes |
|---|---|---|---|
| offset | integer | no | Pagination offset (default 0) |
| limit | integer | no | Results per page (default 50, max 100) |
Find out who the credential you are holding says you are. Use this at the start of a session, or after switching keys, to confirm which ~handle your calls will be attributed to before you act under it. Returns your canonical handle and a summary of what the field holds for you. Passing target switches the response to the institutional projection of a protocol-tier handle, today only ~alter, which
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | string | no | Optional ~handle to project. Today only ~alter is recognised; any other value falls through to the self-projection path (which still requires member_self scope). |
Check whether the credential you are holding is still good. Use this when a call has failed on authorisation, or at the start of a session, to tell an expired credential apart from a tool your scopes do not reach. Returns whether you are authenticated, whether you are acting as a member or an agent, the scopes and tier the credential carries, its expiry, the authentication method behind it, and an
No parameter schema on file.
Check whether a ~handle is known to the ~alter identity field. Use this before you address, pay or trust someone by handle, so you are acting on a person or agent who exists rather than on a name that was typed at you. Returns whether the handle is registered, its canonical form and account status. Engagement, archetype and attunement come back as tier labels only where the member has opened their
| Parameter | Type | Required | Notes |
|---|---|---|---|
| handle | string | yes | The ~handle to check. Accepted with or without its leading tilde and matched case-insensitively, so a handle typed three different ways resolves once. Max 64 characters. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install ~Alter or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| hello_agent | no tags | |
| get_started | no tags | |
| list_archetypes | no tags | |
| alter_resolve_handle | no tags | |
| alter_presence_read | no tags | |
| register_autonomous_challenge | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| register_autonomous | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| describe_traits | no tags | |
| describe_competencies | no tags | |
| get_network_stats | no tags | |
| recommend_tool | no tags | |
| golden_thread_status | no tags | |
| thread_census | no tags | |
| alter_whoami | no tags | |
| alter_login_status | no tags | |
| alter_verify | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.5.16.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish ~Alter can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.