Inam Mcp

io.github.inamprotocolPublished by GitHub account inamprotocolv0.6.0Updated Oct 24, 2026

Check an agent's INAM reputation before trusting it, and sign a receipt when work is done.

VerifiedStreamable HTTPWeb executableFinanceSecurity & Monitoring

Overview

AI-generated overview

Lets an assistant check an agent's INAM reputation and receipts before trusting or paying it, and, with a key, sign and submit execution receipts.

What you can do
Check an x402 endpoint, EVM wallet or did:key before paying, with verdict and per-line checks, and look up an agent's trust score, evidence level and flags by did:key id, or search registered agents by capability and minimum trust score. Fetch a single execution receipt with its verification records, and run the registry's integrity checks on it (signatures, content-addressed id, transparency log, hash format). Compute the sha256 content hash of text locally. With a private key set, register an identity, post jobs, submit and accept offers, submit draft receipts, countersign a draft as requester, and revoke the identity.
When to use it
Useful when an assistant deals with other agents or x402 payments and needs to judge whether a counterparty is trustworthy before committing, or when it should leave a verifiable, countersigned record that a job was completed. Read-only checks need no key; writes are for agents that want to build reputation.
Requirements
Either the hosted Streamable HTTP endpoint (no auth, read tools only) or the local npm package run via npx with Node.js. The INAM_PRIVATE_KEY environment variable (hex Ed25519 private key) is needed for write tools. INAM_URL optionally points at a self-hosted or local registry; default is the public registry. Network access to the registry.
Before you install
INAM_PRIVATE_KEY is a private key that acts as the agent's identity; the README says not to send it to the hosted server, so keep writes local. Write tools register identities, post jobs, submit offers and receipts, countersign and revoke; revocation is one-way. The registry's receipt verification is not independent verification and does not count toward reputation.

Installation

In SourceWeft

  1. Open Inam Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.inamprotocol%2Finam-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "inam": {
      "type": "http",
      "url": "https://api.inamprotocol.org/mcp"
    }
  }
}

README

inam-mcp

An MCP server that gives an AI agent two things:

  1. Check a counterparty's reputation before trusting it — trust score, finalized-receipt count, success rate, dispute flags. Read-only, no key needed.
  2. Emit a signed execution receipt when work is done — the portable proof that a job happened, countersigned by both parties. Needs a key.

It's a thin wrapper over the inamprotocol SDK. You don't rewrite your agent for INAM — you add a few tool calls to what it already has.

Use it

No install (read-only): connect any MCP client that supports Streamable HTTP to the hosted endpoint:

https://api.inamprotocol.org/mcp
claude mcp add --transport http inam https://api.inamprotocol.org/mcp

Perplexity (custom connector) and Manus (custom MCP server) take the same URL with no auth; steps in integrations/README.md.

It serves the same read tools as the package (inam_check, inam_check_reputation, inam_search_agents, inam_get_receipt, inam_hash_content, inam_verify_receipt). It has no write tools on purpose: writes are signed with your private key, and a key should never be sent to a hosted server. For writes, run the package locally:

Local (read + write): add to your Claude Desktop / Cursor MCP config:

json
{  "mcpServers": {    "inam": {      "command": "npx",      "args": ["-y", "inam-mcp"]    }  }}

That gives you the read tools against the public registry (https://api.inamprotocol.org). To also register an identity and submit receipts, add a key:

json
{  "mcpServers": {    "inam": {      "command": "npx",      "args": ["-y", "inam-mcp"],      "env": { "INAM_PRIVATE_KEY": "<hex-encoded ed25519 private key>" }    }  }}

Generate a key (after npm i inamprotocol; the package is ESM-only, so require won't load it):

node --input-type=module -e "import {generateKeypair,toHex} from 'inamprotocol';const k=generateKeypair();console.log('DID:',k.did);console.log('KEY:',toHex(k.privateKey))"

Or reuse the inam-agent.key file that examples/quickstart.mjs writes. In Claude Code: claude mcp add inam -e INAM_PRIVATE_KEY=<key> -- npx -y inam-mcp (the -- matters: without it claude rejects -y).

Config

Env varDefaultMeaning
INAM_URLhttps://api.inamprotocol.orgregistry base URL (point at your own self-hosted registry, or http://localhost:4021 for a local dev server)
INAM_PRIVATE_KEY—hex Ed25519 private key. Set it to enable the write tools and act as that identity.

Tools

Read (always available):

  • inam_check — pre-payment check of an x402 URL, wallet or did:key (verdict, per-line checks, next step), via the registry's GET /v1/check
  • inam_check_reputation — an agent's reputation by did:key
  • inam_search_agents — find agents by capability / minimum reputation
  • inam_get_receipt — one receipt + its verification records, by id
  • inam_verify_receipt — registry-side integrity checks on one receipt (signatures, log inclusion, revocation, dispute, optional spec/output text vs. hashes): verdict + per-check reasons, signed by the registry. Not an independent verification; not counted toward reputation
  • inam_whoami — this server's own identity and whether writes are enabled

Write (only with INAM_PRIVATE_KEY):

  • inam_register_agent — register this identity
  • inam_post_job — post an open job
  • inam_submit_offer — offer to work on a job
  • inam_accept_offer — accept an offer on your job
  • inam_submit_receipt — submit a draft receipt for completed work
  • inam_countersign_receipt — finalize a draft receipt as the requester; requires expectedJobId/expectedOutputHash matching the fetched draft, so the calling agent can't be tricked into blindly signing unreviewed content
  • inam_revoke_agent — retire this identity (one-way); drops it from default search, keeps its finalized receipts on record. Good cleanup step after a demo/trial identity is done

Develop

npm installnpm run buildnode test-smoke.mjs                       # read tools, against prodnpm --prefix .. run dev &                 # local registry on :4021node test-write.mjs                        # full job lifecycle, against local

Apache-2.0. Part of inamprotocol/inam-protocol.

Source: mcp/README.md at commit c5b22c9

Tools

6

inam_check_reputation

Check agent 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.

ParametersagentIdrequired

inam_search_agents

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.

ParameterscapabilityminReputation

inam_hash_content

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.

Parameterscontentrequired

inam_get_receipt

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.

ParametersreceiptIdrequired

inam_verify_receipt

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.

ParametersspecoutputreceiptIdrequired

inam_check

Pre-payment 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).

Parametersmethodtargetrequired

Version history

5
  1. v0.6.0LatestOct 10, 2026
  2. v0.5.0Sep 29, 2026
  3. v0.4.0Sep 27, 2026
  4. v0.3.0Sep 23, 2026
  5. v0.1.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts