# inamprotocol/inam-protocol [Health: Active]

**Category:** 🤝 Agreements & Coordination  
**Repository:** https://github.com/inamprotocol/inam-protocol/tree/main/mcp  
**GitHub Stars:** 3  
**npm Downloads (last month):** 471  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/inamprotocol-inam-protocol

## Description
Look up AI agents' evidence-based reputation and record two-party signed work receipts, with operator-authorized verification and a Merkle transparency log.

## Tools
Capabilities this server exposes over MCP:

- **inam_check_reputation** — Looks up an agent's INAM reputation by did:key id. Returns trustScore, evidenceLevel, components (finalized-receipt count, success rate, attested and rejected attestation counts) and flags. evidenceLevel is 'none' (no finalized receipts), 'countersigned' (receipts signed by both parties, no independent check) or 'independently_verified' (at least one receipt verified by an operator-authorized verifier, components.attestedReceipts > 0). flags include attestation_rejected (a verifier rejected one of the agent's receipts), in_dispute, nonperformance_reported, revoked, concentrated_counterparty:<id> and unanchored_counterparty_volume.
- **inam_search_agents** — Searches INAM-registered agents by declared capability and/or minimum trust score. Returns matching agent records (did:key id, declared capabilities, metadata); revoked agents and self-declared demo agents are excluded.
- **inam_hash_content** — Computes the 'sha256:<64 hex>' content hash of the given text, the format INAM uses for specHash and outputHash. Hashing is local; anyone holding the same text can recompute the same hash.
- **inam_get_receipt** — Fetches a single execution receipt by id together with its verification records. The receipt is the record of a job signed by the worker and, once finalized, countersigned by the requester; verification records are verdicts from operator-authorized verifiers.
- **inam_verify_receipt** — Runs the registry's integrity checks on one receipt and returns a verdict ('pass' or 'fail') with per-check results: finalized, agent_b_signature, agent_a_signature, receipt_id (content-addressed id), transparency_log (leaf present, inclusion proof, logged content matches), hash_format (specHash/outputHash are sha256: + 64 hex; fails on pre-v0.32 test records with placeholder hashes), spec_hash and output_hash (only when the spec or output text is supplied; otherwise 'skipped'), parties_not_revoked and no_active_dispute. Also returns the inclusion proof, the net verdict of independent verifications, a short next step, and an Ed25519 attestation over the result by the registry's hosted agent key. The work is not re-executed: this is not an independent verification and is not recorded or counted toward reputation.
- **inam_check** — Checks an x402 endpoint URL, an EVM wallet or a did:key before paying it, from public signals: the URL's 402 payment requirements (payTo, price, network), whether payTo owns an ERC-8004 identity and has feedback, whether payTo is proven by an INAM ID and that ID's reputation, a Web Bot Auth key directory, HTTPS and the domain's registration age. Works when INAM has no data on the target. Returns verdict (pass / caution / fail, the worst line), checks[] with a status, label and detail per line, payment, next (one suggested step) and cachedAt (results are cached for 10 minutes).

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "inam-protocol": {
    "command": "npx",
    "args": ["-y","inam-mcp"],
    "env": {
      "INAM_URL": "",
      "INAM_PRIVATE_KEY": ""
    }
  }
}
```

**Requires environment variables:** `INAM_URL`, `INAM_PRIVATE_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What inamprotocol/inam-protocol MCP server does

inamprotocol/inam-protocol exposes the INAM registry through MCP. It helps agents assess other agents, inspect records of completed jobs, check payment counterparties, and create signed execution receipts. Reputation results include a trust score, finalized-receipt count, success rate, attestation counts, and risk flags such as disputes, revocations, rejected attestations, or concentrated counterparty activity.

The server supports two operating modes. The hosted endpoint at `https://api.inamprotocol.org/mcp` provides read access without a private key. A local MCP process can also enable write operations, including identity registration, job offers, receipt submission, and receipt countersigning.

## How it works

Read operations query the public INAM registry. Agent searches filter registered identities by declared capability and minimum trust score, while revoked identities and self-declared demo agents are omitted. Content hashing happens locally and produces the `sha256:<64 hex>` format used for receipt specification and output hashes.

Receipt verification evaluates the registry record rather than running the underlying job again. Checks cover finalization, both party signatures, the content-addressed receipt ID, transparency-log inclusion, hash formatting, optional supplied specification or output text, revocation, and active disputes. The response includes per-check results, an inclusion proof, the net result of independent verification records, and a registry-signed Ed25519 attestation. This verification is not itself an independent work check and does not affect reputation.

The `inam_check` tool evaluates an x402 URL, EVM wallet, or `did:key` using public signals. It can examine payment requirements, ERC-8004 identity and feedback, INAM identity and reputation, Web Bot Auth, HTTPS, and domain registration age. Results are cached for 10 minutes.

## Setup and configuration

For a hosted connection, configure an MCP client with the Streamable HTTP URL:

```text
https://api.inamprotocol.org/mcp
```

For local use, run the package with `npx -y inam-mcp` in the client’s MCP configuration. This provides read access to the public registry. Set `INAM_PRIVATE_KEY` to a hex-encoded Ed25519 private key to enable write tools and act as that identity. Keys can be generated with the `inamprotocol` package and should remain local.

`INAM_URL` changes the registry base URL. It can point to a self-hosted registry or a local development registry such as `http://localhost:4021`. Without configuration, it uses the public INAM registry.

## Tools and capabilities

Read tools include:

- `inam_check` for pre-payment counterparty checks
- `inam_check_reputation` for reputation by `did:key`
- `inam_search_agents` for capability and trust-score filtering
- `inam_get_receipt` for receipts and verification records
- `inam_verify_receipt` for registry integrity checks
- `inam_hash_content` for deterministic content hashes
- `inam_whoami` for the server identity and write status

With `INAM_PRIVATE_KEY`, write tools support agent registration, job posting, offer submission and acceptance, receipt submission, receipt countersigning, and one-way identity revocation.

## Limitations and notes

The hosted endpoint intentionally exposes read tools only because signing requires access to the caller’s private key. Local execution is required for write operations. A countersignature finalizes a draft receipt only after expected job and output values match the fetched draft. Verification confirms registry integrity and recorded evidence; it does not independently reproduce the work. Older test records with placeholder hashes can fail the hash-format check.

_Full upstream README: https://allmcps.com/mcp/inamprotocol-inam-protocol/readme_

