# Mnemom — Trust Ratings for AI Agents

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

- name: io.github.mnemom/mnemom
- version: 1.0.2
- connection class: R0 (autonomous)
- trust: 90/100
- quality: 72/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.mnemom%2Fmnemom
- tools: https://api.protogrid.dev/v1/servers/io.github.mnemom%2Fmnemom/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "mnemom": {
      "type": "http",
      "url": "https://api.mnemom.ai/mcp?profile=directory"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 65
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-130d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 72/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 15 of 15 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 9,960 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 9 tool changes in 30 days
- fail `stability.rug_pull`: 6 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 15, about 9,960 tokens to load them all
- tool set hash: 7da50d478fce0e21bc22beeb472fb608
- tools last changed: 2026-10-01T01:07:41.965Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.mnemom/mnemom.svg)](https://protogrid.dev/servers/io.github.mnemom/mnemom)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-01 `put_protection_by_agent` changed (description, inputSchema)
  - before: Publish or replace an agent's protection card (screening mode, thresholds, trusted sources, protected assets). When connected by OAuth sign-in (e.g. ChatGPT), each publish first needs a one-time grant from the same signed-in account: open https://www.mnemom.ai/authorize-protection?agent_id=<agent_id>, approve, then publish within 15 minutes (each grant covers one publish). Only agent_id, card_version and mode are required; mode `enforce` also needs Safe House on the organization. Use preview_compose_protection_by_agent to dry-run without a grant.
  - after: Publish or replace an agent's protection card (screening mode, thresholds, trusted sources, protected assets). When connected by OAuth sign-in (e.g. ChatGPT), each publish first needs a one-time grant from the same signed-in account: open https://www.mnemom.ai/authorize-protection?agent_id=<agent_id>, approve, then publish within 15 minutes (each grant covers one publish). Required: agent_id, card_version, mode, thresholds, screen_surfaces and trusted_sources (protected_surface is optional); mode `enforce` also needs Safe House on the organization. Use preview_compose_protection_by_agent to dry-run without a grant.
- 2026-10-01 `put_alignment_by_agent` changed (description) **meaning changed**
  - before: Publish or replace the alignment manifest — Accepts YAML (`text/yaml`, `application/yaml`) or JSON. Body is the full `UnifiedAlignmentCard`; server-side composition merges it across the platform → org → team → agent cascade and writes the canonical composed card. Requires `Idempotency-Key`. Honor...
  - after: Publish or replace an agent's alignment card: its governance modes, the principal it acts for, its declared values, the actions it may take on its own, and its audit policy. The server merges the card with the platform, organization and team policies above it and stores the result. Use preview_compose_alignment_by_agent to dry-run first.
- 2026-10-01 `preview_compose_protection_by_agent` changed (description, inputSchema) **meaning changed**
  - before: Preview composed protection (dry run) — Composes the cascade against a hypothetical body at the agent layer and returns conflicts + the composed view. No DB writes. Used by the dashboard editor for live conflict markers.
  - after: Dry-run a protection card: shows the card that would result after merging with the platform, organization and team policies above it, plus any conflicts. Nothing is saved, and no publish grant is needed.
- 2026-10-01 `preview_compose_alignment_by_agent` changed (description) **meaning changed**
  - before: Preview composed alignment (dry run) — Composes the cascade against a hypothetical body at the agent layer and returns conflicts + the composed view. No DB writes. Used by the dashboard editor for live conflict markers.
  - after: Dry-run an alignment card: shows the card that would result after merging with the platform, organization and team policies above it, plus any conflicts. Nothing is saved.
- 2026-10-01 `list_agents` changed (description) **meaning changed**
  - before: List your agents — List all agents owned by the authenticated user. Supports pagination.
  - after: List the agents your account owns, with pagination (`limit`, `offset`). Read-only.
- 2026-10-01 `get_started` changed (description)
  - before: Zero-auth, no-args orientation: who Mnemom is, the surface map, how to authenticate and what it unlocks, and the value tools to try right now (headlining scan_trust + the reputation reads).
  - after: Zero-auth, no-args orientation: who Mnemom is, the surface map, how to authenticate and what it unlocks, and the tools to try right now (scan_trust and the reputation lookups).
- 2026-10-01 `get_reputation` changed (description)
  - before: Look up an AI agent's published Trust Rating — Mnemom's portable reliability signal for autonomous software, computed from the agent's own verified activity record. Returns the rating plus the technical factors behind it. Free, public, read-only: every registered agent's rating is published by standard (the `visibility` field is the reputation-publication axis, distinct from identity-record visibility).
  - after: Look up an AI agent's published Trust Rating — Mnemom's portable reliability signal for autonomous software, computed from the agent's own verified activity record. Returns the rating plus the technical factors behind it. Free, public, read-only: ratings are public by default, unless the agent's owner has opted out.
- 2026-10-01 `claim_agent` changed (description, annotations) **meaning changed**
  - before: Claim a verifiable identity — bind an agent to your organization so its trust and accountability record is provably yours. No human in the loop.
  - after: Claim a verifiable identity — bind an agent to your organization so its trust and accountability record is provably yours. Requires the agent's possession proof (`hash_proof`). Re-claiming an agent you already own keeps its original claim date but files it under the organization you pass (`org_id`; if omitted, your personal organization), which can change the organization that owns and bills it.
- 2026-09-30 `put_protection_by_agent` changed (description) **meaning changed**
  - before: Publish or replace the protection manifest — Accepts YAML (`text/yaml`, `application/yaml`) or JSON. Body is the full `UnifiedProtectionCard`; server-side composition merges it across the platform → org → team → agent cascade and writes the canonical composed card. Requires `Idempotency-Key`. Hon...
  - after: Publish or replace an agent's protection card (screening mode, thresholds, trusted sources, protected assets). When connected by OAuth sign-in (e.g. ChatGPT), each publish first needs a one-time grant from the same signed-in account: open https://www.mnemom.ai/authorize-protection?agent_id=<agent_id>, approve, then publish within 15 minutes (each grant covers one publish). Only agent_id, card_version and mode are required; mode `enforce` also needs Safe House on the organization. Use preview_compose_protection_by_agent to dry-run without a grant.

Full history: https://api.protogrid.dev/v1/servers/io.github.mnemom%2Fmnemom/changes

## Remotes

- https://api.mnemom.ai/mcp?profile=directory (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (15)

- `claim_agent`: Claim a verifiable identity — bind an agent to your organization so its trust and accountability record is provably yours. Requires the agent's possession proof (`hash_proof`). Re-claiming an agent you already own keeps its original claim date but files it under the organization you pass (`org_id`; if omitted, your personal organization), which can change the organization that owns and bills it.
- `get_agent`: Look up an agent's public identity and trust state by ID — the accountable record other agents and humans can rely on.
- `get_reputation`: Look up an AI agent's published Trust Rating — Mnemom's portable reliability signal for autonomous software, computed from the agent's own verified activity record. Returns the rating plus the technical factors behind it. Free, public, read-only: ratings are public by default, unless the agent's owner has opted out.
- `get_reputation_badge`: Get an embeddable Trust Rating badge for an agent — returns the badge image URL plus ready-to-paste Markdown and HTML snippets for a README or agent card.
- `get_started`: Zero-auth, no-args orientation: who Mnemom is, the surface map, how to authenticate and what it unlocks, and the tools to try right now (scan_trust and the reputation lookups).
- `list_agents`: List the agents your account owns, with pagination (`limit`, `offset`). Read-only.
- `preview_compose_alignment_by_agent`: Dry-run an alignment card: shows the card that would result after merging with the platform, organization and team policies above it, plus any conflicts. Nothing is saved.
- `preview_compose_protection_by_agent`: Dry-run a protection card: shows the card that would result after merging with the platform, organization and team policies above it, plus any conflicts. Nothing is saved, and no publish grant is needed.
- `put_alignment_by_agent`: Publish or replace an agent's alignment card: its governance modes, the principal it acts for, its declared values, the actions it may take on its own, and its audit policy. The server merges the card with the platform, organization and team policies above it and stores the result. Use preview_compose_alignment_by_agent to dry-run first.
- `put_protection_by_agent`: Publish or replace an agent's protection card (screening mode, thresholds, trusted sources, protected assets). When connected by OAuth sign-in (e.g. ChatGPT), each publish first needs a one-time grant from the same signed-in account: open https://www.mnemom.ai/authorize-protection?agent_id=<agent_id>, approve, then publish within 15 minutes (each grant covers one publish). Required: agent_id, card_version, mode, thresholds, screen_surfaces and trusted_sources (protected_surface is optional); mode `enforce` also needs Safe House on the organization. Use preview_compose_protection_by_agent to dry-run without a grant.
- `report_recipe_fn_fp`: Submit a false-positive / false-negative correction for one of Mnemom's automated detection rules (a 'recipe') — technical feedback that improves detection accuracy, like filing a bug report against a spam filter.
- `scan_trust`: Scan a website's agent-trust-readiness and return a signed scorecard (Trust, plus an Access axis on newer rubrics). Zero-auth. Results are CACHED for up to 24h — check `cached` and `scannedAt` on the result; pass `fresh: true` to force a re-scan (rate-limited). Proxies to the SSRF-locked isittrustready scanner; the Ed25519 signature + permalink are preserved verbatim. Rubric + docs: https://www.isittrustready.ai/rubric and https://docs.mnemom.ai/.
- `search_reputation_directory`: Resolve an agent name or id-prefix to a real agent_id over the PUBLIC reputation directory (only agents whose reputation visibility is public). Zero-auth. The arriving-agent entry point: discover a concrete agent_id, then call get_reputation / verify_reputation on it.
- `verify_reputation`: Attest an agent's Trust Rating — returns a Merkle-root + hash-chain attestation (hash_chain_valid) proving the rating derives from an unbroken, append-only checkpoint chain, plus a pointer to the signed integrity certificate. This is a chain-integrity attestation, NOT an in-band Ed25519 signature check (that parity is verify_scan, for website scorecards).
- `verify_scan`: Verify a website scan scorecard's Ed25519 signature IN-BAND (verify, don't trust). Pass a `scan` (a scorecard from scan_trust) or a `url` to re-scan; returns {verified, key_id, canonicalization} checked against the public key at mnemom://iitr/jwks. Zero-auth. Spec + rubric: https://www.isittrustready.ai/rubric and https://docs.mnemom.ai/.
