mcpbeat Sign in

~Alter MCP Server

by truealter Your server? Claim it
answering

~Alter is answering right now. Last checked 10 min ago. It exposes 17 tools. Last commit 22 Sep 2026.

Mint an agent identity in two free calls. Verify anyone. Earn 75% when someone reads you.

Uptime history 91 days of history · worst day 89%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
17
Tools
read from the server
780 ms
Response time
average over 24h
0
Stars
last commit 22 Sep 2026

What changed 37

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 10 August 2026. No other catalogue keeps this.

5 Nov 4 tool descriptions were rewritten alter_login_status, alter_verify, alter_whoami and 1 more
5 Nov 2 tools appeared initiate_assessment, invite_to_alter
5 Nov 2 tools changed the parameters they ask for alter_whoami, invite_to_alter
5 Nov a tool disappeared initiate_assessment
5 Nov a tool changed version
2 Nov a tool changed version
10 Oct a tool description was rewritten alter_verify
30 Sep a tool description was rewritten alter_resolve_handle
30 Sep a tool changed the parameters it asks for alter_resolve_handle
25 Sep a tool changed version
and 22 more, back to 10 August 2026

What the code does

We read the source, 3 d ago · tools taken from the live server · rules 995398eba69f

Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

    local p_sudo='^(sudo|nice|env|doas|ionice|exec|command|builtin)[[:space:]]'
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

if glob.glob(os.path.join(handover_store, "*-" + hash8 + ".md")):
Runs an external command src/assets/loom/folder_loom.py:1652
            proc = subprocess.run(
    const child = spawn(file, args, { stdio: "ignore", detached: true });
Reads files and sends them to the network src/auth.ts:869
    for (const name of fs.readdirSync(alterDir)) {
Touches key and credential files src/lib/repocheck/detect.ts:253
  ".npmrc",
Long encoded blob in source src/lib/sigstore/trusted-root.json:43
            "rawBytes": "MIIB+DCCAX6gAwIBAgITNVkDZoCiofPDsy7dfm6geLbuhzAKBggqhkjOPQQDAzAqMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIxMDMwNzAzMjAyOVoXDTMxMDIyMzAzMjAyOVowKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABLS…

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

We found things in this code

Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch ~Alter and you get told the day something new turns up.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add identity --transport http https://mcp.truealter.com/api/v1/mcp
Settings → Connectors → Add custom connector, then paste this address
https://mcp.truealter.com/api/v1/mcp
~/.codex/config.toml
[mcp_servers.identity]
url = "https://mcp.truealter.com/api/v1/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "identity": {
      "url": "https://mcp.truealter.com/api/v1/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "identity": {
      "type": "http",
      "url": "https://mcp.truealter.com/api/v1/mcp"
    }
  }
}

Available tools 17

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

alter
alter_login_status
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 opaque prefix identifying the key without revealing it. Takes no parameters. Listed free at L0; calling it needs a credential, which is the thing it reports on. An agent holding none can mint one for itself with register_autonomous_challenge then register_autonomous.
alter_presence_read
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 answer is not evidence the handle is absent. Setting your own sign is alter_presence_set, and alter_presence_public_enable or alter_presence_public_disable decide whether it is published at all; all three are credentialed and so are not on the anonymous listing. Per-caller rate limited. Free L0, no authentication required.
alter_resolve_handle
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 handle is looked up exactly as a bare one would be, and the other parts come back as written under _meta.address. For an address naming an artefact, such as 'alter:docs/protocol.md', the address is read and returned, and this tool does not look the artefact up, so an empty result there is expected. Never returns PII. Reading what the field holds about a handle is verify_identity, a separate tool that needs a credential and so is not on the anonymous listing; an agent can mint one for itself in two calls with register_autonomous_challenge then register_autonomous. Free L0, no authentication required.
alter_verify
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 profile to you; otherwise they are empty and the reply says why. Listed free at L0; calling it needs a credential, which an agent can mint for itself with register_autonomous_challenge then register_autonomous. To check only that a handle exists, alter_resolve_handle needs no credential.
alter_whoami
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 returns provenance as institutional, an honest-empty trait vector rather than fabricated values, and social_legibility where that projection is available. Institutional mode is free and needs no credential. Your own projection needs one, which an agent can mint for itself with register_autonomous_challenge then register_autonomous.
describe
describe_competencies
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 is not on the anonymous listing and is priced per query in USDC over x402. Returns definitions only, never any member's evidence. Free L0, no authentication required.
describe_traits
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 create_requirement; both are credentialed tools and so are not on the anonymous listing, and query_field is priced per query in USDC over x402. Returns definitions only, never any member's evidence. Static reference data. Free L0, no authentication required.
register
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. Withdrawing is a separate step and takes a key you hold yourself. Free L0, no authentication required.
register_autonomous_challenge
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. Returns challenge, difficulty, expires_at, and a hint. Free L0, no authentication required.
archetypes
list_archetypes
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. Takes no parameters. Free L0, no authentication required.
golden
golden_thread_status
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 woven so far, the milestone ladder, and your own position when the credential you are holding is enrolled. Takes no parameters and reads no member data. Free L0 to read, with no credential; taking part needs one, which an agent can mint for itself with register_autonomous_challenge then register_autonomous.
hello
hello_agent
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 nothing. Takes no parameters. Free L0, no authentication required; an unauthenticated caller gets a real answer describing the anonymous surface.
invite
invite_to_alter
Generate a URL inviting a person without an ~alter identity to register. Use this when you encounter someone not yet on ~alter and want to invite them. They claim a ~handle, confirm their email, and are done; identity is inferred from what they go on to do, never from a quiz. Returns invite_url (and assessment_url as a historical alias for the same value). callback_url is accepted and checked but not yet called. Once the person tells you their ~handle, alter_resolve_handle confirms it exists. Free L0.
network
get_network_stats
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.
recommend
recommend_tool
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 callable at each tier. Takes no parameters and reads no member data. Free L0, no authentication required.
started
get_started
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 returns what ~alter is (identity infrastructure; your ~Alter is your owned identity record, not an agent that acts for you), the tools which work without a key, an honest note that most depth is paid per query in USDC over x402 with prices read live, and the consent path that gates deep third-party data. Free L0, no authentication required.
thread
thread_census
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 details, and given names are never returned. While the thread is sealed, or to a caller holding no credential, the page carries the bound founding agents rather than the whole registry, so a short page is the seal and not an empty programme. Free L0, no authentication required.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

initiate_assessment
removed 5 Nov 2026

Endpoints

URLTransportStateLatencyChecked
https://mcp.truealter.com/api/v1/mcp streamable-http answering 556 ms 10 min ago

Alternatives to ~Alter

same job, measured the same way
Scout Security
by varpost

Deterministic, zero-token security scanner your AI agent calls to find and re-verify issues.

183 installs/wk local only
AgentWork Outcome Router
by mitchellopzero

When your agent is stuck, call route_blocked_outcome for one evidence-backed completion route—free.

10 tools answering
Security Engineer
by guardbee

Fix GuardBee AI Security Engineer findings in your repo with your coding agent, then verify

551 installs/wk local only
Mnemom — Trust Ratings for AI Agents
by mnemom

Trust infrastructure for AI agents: read a verifiable Trust Rating, claim an identity, earn a badge.

15 tools answering
Overlap
by overlap-ai

Records what you're working on so Overlap can introduce you to someone two weeks ahead of you.

7 tools answering
Pinafly UAT
by pinafly

Your agent writes a UAT. You walk it and pin problems. It reads and fixes them. You verify.

answering
Open Entity
by openentity

Adopt, read, verify and record an Open Entity identity (OEIS-1). No auth, no CAPTCHA.

13 tools answering
Check
by getstub

Verify what an AI agent did for someone, and what commercial influence the operator disclosed.

59 installs/wk local only

~Alter — questions

Answers built from our own checks of this server.

What can ~Alter do?
It exposes 17 tools, read directly from the server on our last check. Among them: alter_login_status, alter_presence_read, alter_resolve_handle, alter_verify, alter_whoami, describe_competencies and 11 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is ~Alter mostly used for?
Its tools cluster around alter, register and describe. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is ~Alter working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 780 ms. The bar chart above shows every period we have measured.
Did ~Alter ever remove tools?
Yes. initiate_assessment is no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect ~Alter?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does ~Alter need an API key?
No. ~Alter completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 17 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is ~Alter?
It answers our handshake in 780 ms on average, which is faster than 11% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is ~Alter open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript and 0 stars on GitHub. The licence covers the code in the repository, not the hosted service at mcp.truealter.com, which runs on its operator's own terms.