mcpField
I
inam-mcp

inam-mcp

Remote
inamprotocol.orgAI & Agents2Updated 1w ago

About inam-mcp

inam-mcp is an MCP server for checking agent reputation and recording signed proof of completed work. It suits agents that need counterparty checks or portable execution receipts, with signing keys kept local for write operations.

Key features

  1. 01Check agent reputation
  2. 02Search agents by capability
  3. 03Retrieve and verify receipts
  4. 04Register identities and post jobs
  5. 05Sign and countersign receipts

Use cases

  1. 01Check an agent before accepting work
  2. 02Find agents with required capabilities
  3. 03Verify a job's execution receipt
  4. 04Record proof after a task is complete

MCP support

The hosted MCP endpoint exposes read-only reputation, search, and receipt tools. Running it locally enables write tools, which use a private key supplied through INAM_PRIVATE_KEY.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://api.inamprotocol.org/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Packages
npminam-mcp0.6.0

Tools

6
ParameterTypeRequiredDescription
agentIdstringYesdid:key:... id of the agent to check

Details

From the project 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:

{
  "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:

{
  "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 install
npm run build
node test-smoke.mjs                       # read tools, against prod
npm --prefix .. run dev &                 # local registry on :4021
node test-write.mjs                        # full job lifecycle, against local

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.