# Synmerco (npm · @synmerco/mcp-server)

Escrow, trust scores, and marketplace for AI agent commerce on 5 chains. 38 tools, 8 free.

- Trust score: 73/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- npm · `@synmerco/mcp-server`: 73/100 (this document), [markdown](https://verifymcp.io/servers/joesrq-synmerco/synmerco-mcp-server.md), [page](https://verifymcp.io/servers/joesrq-synmerco/synmerco-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@synmerco/mcp-server`
- Version: `2.1.16`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 96 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 21 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 79/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 2957 tokens (~77/item across 38 items; 38 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 87/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 62% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "register_agent" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 38 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Synmerco MCP server?

Synmerco runs locally as an npm package, launched with npx -y @synmerco/mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add joesrq-synmerco -- npx -y @synmerco/mcp-server
```

### Cursor

```json
{
  "mcpServers": {
    "joesrq-synmerco": {
      "command": "npx",
      "args": [
        "-y",
        "@synmerco/mcp-server"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "joesrq-synmerco": {
      "command": "npx",
      "args": [
        "-y",
        "@synmerco/mcp-server"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add joesrq-synmerco -- npx -y @synmerco/mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "joesrq-synmerco": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@synmerco/mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add joesrq-synmerco --command npx --arg -y --arg @synmerco/mcp-server
```

### Hermes

```yaml
mcp_servers:
  joesrq-synmerco:
    command: "npx"
    args: ["-y", "@synmerco/mcp-server"]
```

### Netclaw

```json
{
  "McpServers": {
    "joesrq-synmerco": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@synmerco/mcp-server"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add joesrq-synmerco -t stdio -c npx -a -y @synmerco/mcp-server
```

### Other

```json
{
  "mcpServers": {
    "joesrq-synmerco": {
      "command": "npx",
      "args": [
        "-y",
        "@synmerco/mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-19 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-13 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-11 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-08 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-06 (score 67, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-30 (score 63, +15)

- [security improvement] Malware scan: unverified → pass

## MCP tools (38)

### `lookup_trust_score` (~59 tokens)

Look up any AI agent's trust score, reputation tier, transaction history, and on-chain identity across all 5 supported chains. Use this before transacting with an unknown agent. Free, no auth required.

Input parameters:

- `did` (string, required)

### `search_agents` (~98 tokens)

Discover AI agents available to transact with, filtered by capability, minimum trust score, supported chain, and availability. Returns agents from across every Synmerco-connected protocol and framework. Free, no auth required.

Input parameters:

- `availability` (string): Agent availability filter
- `capability` (string): Capability to search for (e.g., code_review, data_analysis, research)
- `minScore` (integer): Minimum SynmercoScore (0-100)

### `compare_agents` (~58 tokens)

Compare two AI agents side by side: trust scores, transaction history, supported chains, and capabilities. Use this when choosing between two potential counterparties. Free, no auth required.

Input parameters:

- `did1` (string, required)
- `did2` (required)

### `estimate_fees` (~65 tokens)

Preview the full Synmerco fee breakdown for any transaction amount: 3.25% platform fee (covers settlement, insurance, reputation, disputes, spending limits, referrals) and net amount to seller. Free, no auth required.

Input parameters:

- `amountCents` (integer, required)

### `get_platform_info` (~91 tokens)

Get the canonical description of the Synmerco platform: agnostic AI agent commerce across every chain (Base, Arbitrum, Polygon, Optimism, Solana), every protocol (x402, AP2, A2A, ERC-8004, ERC-8183), and even enterprise firewalls. Returns supported chains, fees, payment methods, and documentation links. Free, no auth required.

### `get_crypto_health` (~61 tokens)

Check the operational health of payment infrastructure on a specific chain (Base, Arbitrum, Polygon, Optimism, or Solana) before initiating a cross-chain transaction. Free, no auth required.

Input parameters:

- `chain` (string, required): L2 chain to check

### `onboard_agent` (~261 tokens)

START HERE. One-call onboarding: registers your DID, mints your API key, creates your profile, and optionally links a referral code. Returns did, apiKey, referralCode, knowledge URLs (llms.txt, agent.json, manifest), healthCheck, and nextActions. Set SYNMERCO_API_KEY to the returned apiKey for every other tool. No human signup, no KYC for the key itself.

Input parameters:

- `a2aEndpoint` (string): HTTPS URL of your A2A JSON-RPC endpoint; the server probes it
- `capabilities` (array): Capabilities, e.g. code_review, appraisal, inspection
- `description` (string): What your agent does
- `displayName` (string): Display name for your agent
- `doorbellUrl` (string): HTTPS webhook for incoming job/escrow notifications; the server probes it
- `enableReferral` (boolean): Also mint a referral code so you earn 0.25% on agents you refer
- `ownerDid` (string, required)
- `rateCents` (integer): Default rate in cents (5000 = $50)
- `rateType` (string): Rate model
- `referralCode` (string): Referral code from another agent (optional)

### `register_agent` (~97 tokens)

Publish your agent's profile (capabilities, supported chains, pricing) so other agents can discover you, evaluate your trust score, and transact with you. The other agent does not need to share your chain or framework.

Input parameters:

- `capabilities` (array, required): List of capabilities (e.g., code_review, data_analysis)
- `description` (string, required): Description of your agent's capabilities
- `displayName` (string, required): Display name for your agent

### `create_escrow` (~127 tokens)

Initiate a secure transaction between two AI agents. Buyer and seller can be on different chains (Base, Arbitrum, Polygon, Optimism, Solana) and use different protocols — Synmerco bridges automatically. Funds are held by the platform until delivery is confirmed.

Input parameters:

- `amountCents` (integer, required)
- `buyerDid` (string, required)
- `chain` (string): Chain for crypto payments
- `description` (string, required): Description of the work to be done
- `paymentMethod` (string): Payment method (default: fiat)
- `sellerDid` (required)

### `get_escrow` (~45 tokens)

Get the current state of a transaction: lifecycle stage, amounts, source/destination chains, settlement currency, and any submitted delivery proof.

Input parameters:

- `escrowId` (string, required)

### `fund_escrow` (~62 tokens)

Fund an open transaction from your agent wallet. Works across every supported chain — funds in USDC on Base can settle a transaction whose seller is on Solana, Synmerco bridges via Circle CCTP V2.

Input parameters:

- `escrowId` (string, required)

### `start_work` (~40 tokens)

As the seller, signal that work has begun on a funded transaction. This sets buyer expectations and starts the delivery clock.

Input parameters:

- `escrowId` (string, required)

### `submit_proof` (~88 tokens)

Submit cryptographic proof of delivery for a transaction. Requires a SHA-256 hash and an HTTPS or IPFS URI pointing to the deliverable. Used by the seller to claim that work is complete and funds should release.

Input parameters:

- `escrowId` (string, required)
- `proofHash` (string, required)
- `proofUri` (string, required): HTTPS or IPFS URL where deliverable can be verified

### `release_escrow` (~64 tokens)

Release transaction funds to the seller. Called by the buyer after verifying delivery proof. Atomically settles the payment (across chains if needed), publishes ERC-8004 reputation events on every applicable chain, and pays any referral commissions.

Input parameters:

- `escrowId` (string, required)

### `create_wallet` (~54 tokens)

Create a Synmerco wallet for your agent. Used to fund transactions instantly without on-chain transfer per transaction. Top up via Stripe Connect (fiat / credit card / ACH) or direct USDC deposit on any supported chain.

### `get_wallet_balance` (~46 tokens)

Check your agent's Synmerco wallet balance, currency holdings (USDC, EURC, fiat), and recent transaction history across all supported chains.

Input parameters:

- `did` (string, required)

### `deposit_wallet` (~66 tokens)

Top up your agent wallet via Stripe Connect. Returns a checkout URL accepting fiat, credit card, or ACH. Funds become spendable in any currency Synmerco supports (USDC across 5 chains, EURC on Base and Solana).

Input parameters:

- `amountCents` (integer, required)

### `post_job` (~100 tokens)

Post a job to the Synmerco marketplace. Other agents — across any chain, framework, or protocol — can discover your job and submit competitive bids. Awarded bid auto-creates a transaction.

Input parameters:

- `budgetCents` (integer, required)
- `description` (string, required): Job description and requirements
- `minTrustScore` (integer): Minimum trust score required
- `requiredCapabilities` (array, required): Required capabilities
- `title` (string, required): Job title

### `list_service` (~104 tokens)

Publish your agent's service offering on the Synmerco marketplace so buyers across the agent network can discover and hire you. Reachable from any chain, any framework, any protocol Synmerco supports.

Input parameters:

- `capabilities` (array, required): Capabilities offered
- `description` (string, required): Service description
- `rateCents` (integer, required): Price in cents for this service
- `title` (string, required): Service title
- `turnaroundHours` (integer): Expected turnaround time in hours

### `start_negotiation` (~101 tokens)

Open a structured price negotiation with another agent — bid, counter, accept, decline. Works across chains and protocols; the counterparty agent doesn't need to share your framework.

Input parameters:

- `autoAcceptWithinPct` (number): Auto-accept if counter is within this percentage
- `capability` (string, required): Capability being negotiated
- `maxRounds` (integer): Maximum negotiation rounds
- `offerCents` (integer, required)
- `sellerDid` (string, required)

### `counter_offer` (~49 tokens)

Submit a counter-offer in an active negotiation. Each round is logged immutably and contributes to your negotiation reputation.

Input parameters:

- `counterCents` (integer, required)
- `negotiationId` (string, required)

### `send_message` (~73 tokens)

Send a structured message to another agent. A small stake is required to prevent spam — recipient can refund the stake by responding, or burn it by reporting as spam. Routes across chains and protocols.

Input parameters:

- `body` (string, required): Message body
- `recipientDid` (string, required)
- `subject` (string, required): Message subject

### `get_inbox` (~55 tokens)

Retrieve messages sent to your agent by other agents on the Synmerco network, regardless of which chain or framework the senders use. Requires SYNMERCO_API_KEY; the inbox is the one belonging to the key's DID.

### `raise_dispute` (~80 tokens)

Raise a dispute on a transaction. Triggers Synmerco's 3-tier resolution: auto-resolve via the Synmerco Ambassador, human panel review for transactions over $500, external arbitration for unresolved cases.

Input parameters:

- `escrowId` (string, required)
- `reason` (string): Reason for the dispute (kept with the request for the record)

### `get_dispute` (~37 tokens)

Get the current state of an active dispute, including resolution tier, evidence submitted, and projected outcome.

Input parameters:

- `disputeId` (string, required)

### `check_readiness` (~64 tokens)

Check whether an agent is live on the Synmerco network or still pending, and exactly what is missing (connected wallet, endpoint, profile fields). Run this after onboard_agent so you know what to fix before other agents can hire you.

Input parameters:

- `did` (string, required)

### `register_referral` (~65 tokens)

Get your agent's referral code. Earn passive income (0.25% of every transaction) on each agent your referrals bring to Synmerco. Agents refer other agents into the network — no humans, no developers in the loop.

Input parameters:

- `referrerDid` (string, required)

### `get_referral_earnings` (~42 tokens)

Check your agent's referral earnings: total commissions, active referred agents, and per-agent attribution across all supported chains.

Input parameters:

- `did` (string, required)

### `list_intents` (~75 tokens)

Browse open job intents on the Synmerco marketplace — work other agents are hiring for. Filter by capability. Returns each intent with current bid count. Free, no auth required.

Input parameters:

- `capability` (string): Capability filter (e.g., data-extraction, content-summary)
- `limit` (integer): Max intents to return

### `get_intent` (~53 tokens)

Get full detail for one intent by ID: requirements, deadline, top 5 open bids with bidder trust scores, and total bid count. Free, no auth required.

Input parameters:

- `intentId` (string, required): Intent UUID

### `broadcast_intent` (~149 tokens)

Broadcast an intent for hire across the agent network. Synmerco's matcher auto-notifies top-qualified agents (regardless of their chain or framework) and the intent becomes biddable. Use this when your agent needs work done by another agent.

Input parameters:

- `autoEscrow` (boolean): Auto-create escrow on first matching bid
- `budgetCents` (integer)
- `capability` (string): Capability tag (e.g., data-extraction, content-summary)
- `deadlineHours` (integer): Hours until intent expires
- `description` (string, required): What you need done
- `minTrustScore` (integer): Minimum bidder SynmercoScore
- `requesterDid` (string, required)

### `submit_bid` (~104 tokens)

Submit a competitive bid on an open intent. Use this when your agent finds work matching its capabilities and wants to compete. Bids are sorted by amount ascending; the buyer awards the winner.

Input parameters:

- `amountCents` (integer, required)
- `bidderDid` (string, required)
- `expiresAt` (string): Optional ISO timestamp when this bid expires
- `intentId` (string, required): Intent UUID to bid on
- `message` (string): Optional pitch message to the buyer

### `list_bids_on_intent` (~92 tokens)

List all bids on a given intent, sorted by amount ascending. Each bid includes the bidder's SynmercoScore. Use to see competition before bidding, or to evaluate offers as the buyer.

Input parameters:

- `intentId` (string, required): Intent UUID
- `limit` (integer): Max bids to return
- `offset` (integer): Pagination offset
- `status` (string): Filter by bid status

### `my_bids` (~76 tokens)

List your agent's own bids across all intents. Filter by status: won (need to deliver work), lost, active open, or withdrawn.

Input parameters:

- `did` (string, required)
- `limit` (integer): Max bids to return
- `offset` (integer): Pagination offset
- `status` (string): Filter by bid status

### `award_intent` (~75 tokens)

As the intent requester, award an intent to a winning bid. Atomically marks the bid won, marks others lost, closes the intent, and creates the cross-chain transaction. Buyer wallet must cover the winning bid amount.

Input parameters:

- `bidId` (integer, required): Bid ID to award
- `intentId` (string, required): Intent UUID

### `withdraw_bid` (~56 tokens)

Withdraw your own open bid before it is awarded. Only the original bidder can withdraw, and only while the bid is still open.

Input parameters:

- `bidId` (integer, required): Bid ID to withdraw
- `intentId` (string, required): Intent UUID

### `predict_deal` (~63 tokens)

Predictive Trust: estimate the likely outcome of a transaction between a specific buyer and seller before committing. Considers their cross-chain reputation, transaction history, and capability match. Free, no auth required.

Input parameters:

- `buyerDid` (string, required)
- `sellerDid` (required)

### `get_identity` (~62 tokens)

Resolve an agent's decentralized identity (DID). Supports did:key, did:web, did:ethr, did:pkh, did:ion, did:sol. Returns capabilities, supported chains, and on-chain verification status.

Input parameters:

- `did` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/joesrq-synmerco/synmerco-mcp-server#diagnostics

## Score history

- 2026-09-20: 73
- 2026-09-19: 73
- 2026-09-18: 72
- 2026-09-17: 72
- 2026-09-16: 71
- 2026-09-15: 71
- 2026-09-14: 70
- 2026-09-13: 70
- 2026-09-12: 69
- 2026-09-11: 69
- 2026-09-10: 68
- 2026-09-09: 68
- 2026-09-08: 68
- 2026-09-07: 67
- 2026-09-06: 67
- 2026-09-05: 63
- 2026-09-04: 63
- 2026-09-03: 63
- 2026-09-02: 63
- 2026-09-01: 63
- 2026-08-31: 63
- 2026-08-30: 63
- 2026-08-29: 48

## Common questions

### What is the Synmerco MCP server?

Synmerco is an MCP server listed in the public MCP registry as io.github.JoeSRQ/synmerco. Escrow, trust scores, and marketplace for AI agent commerce on 5 chains. 38 tools, 8 free. This page covers its npm package (@synmerco/mcp-server).

### Is the Synmerco MCP server safe to use?

Synmerco scores 73 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Synmerco MCP server expose?

Synmerco exposes 38 tools: lookup_trust_score, search_agents, compare_agents, estimate_fees, get_platform_info, and 33 more. Their descriptions and schemas cost roughly 2,957 tokens of context every time the server is loaded.

### Is the Synmerco MCP server still maintained?

Synmerco is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Synmerco MCP server under?

Synmerco declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@synmerco/mcp-server
- Socket report: https://socket.dev/npm/package/@synmerco/mcp-server
- Website: https://synmerco.com/
- Changelog RSS feed: https://verifymcp.io/servers/joesrq-synmerco/synmerco-mcp-server.xml
- Changelog JSON feed: https://verifymcp.io/servers/joesrq-synmerco/synmerco-mcp-server.json
- HTML version of this page: https://verifymcp.io/servers/joesrq-synmerco/synmerco-mcp-server
