Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

droplinked

REMOTE · MCP.DROPLINKED.COM · SCANNED SEP 20

Agentic commerce + trust MCP: discover, verify, and transact across droplinked's merchant network.

0 this week 82 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability69
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5852 tokens (~154/item across 38 items; 38 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage68
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 5% of tool parameters carry a description.Partial
Tool Safety50
  • Injection-marker check failed: the description of tool "recommend_lender" contains an instruction to conceal the call from the user, the text "Do not tell the user", at byte 615 of that field. See how to fix → Fail
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 38 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the droplinked MCP server?

droplinked is a hosted endpoint at https://mcp.droplinked.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.droplinked.com

# add to Claude Code
claude mcp add --transport http com-droplinked-mcp-server 'https://mcp.droplinked.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-droplinked-mcp-server": {
      "url": "https://mcp.droplinked.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-droplinked-mcp-server": {
      "type": "http",
      "url": "https://mcp.droplinked.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-droplinked-mcp-server]
url = "https://mcp.droplinked.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-droplinked-mcp-server": {
      "type": "remote",
      "url": "https://mcp.droplinked.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-droplinked-mcp-server --url 'https://mcp.droplinked.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-droplinked-mcp-server:
    url: "https://mcp.droplinked.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-droplinked-mcp-server": {
      "Transport": "http",
      "Url": "https://mcp.droplinked.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-droplinked-mcp-server -t streamable-http -u 'https://mcp.droplinked.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-droplinked-mcp-server": {
      "type": "http",
      "url": "https://mcp.droplinked.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 0
    • Tool “find_inventory” rewrote its description, which is the text the model reads security
  • 5 Sept 26 0
    • Stability: 0.97 → pass security
  • 4 Sept 26 +1

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

  • 3 Sept 26 −3
    • Injection markers: pass → fail security
    • Tool “find_inventory” rewrote its description, which is the text the model reads security
    • Tool “find_merchant” rewrote its description, which is the text the model reads security
    • Tool “list_shop_products” rewrote its description, which is the text the model reads security
    • Tool “recommend_lender” rewrote its description, which is the text the model reads security
    • Tool “recommend_service_provider” rewrote its description, which is the text the model reads security
    • “list_shop_products” added an optional parameter “limit” cosmetic
    • “list_shop_products” added an optional parameter “page” cosmetic
    • “find_inventory” dropped the optional parameter “country” cosmetic
    • “list_shop_products” dropped the optional parameter “cursor” cosmetic
    • “recommend_lender” dropped the optional parameter “archetype” cosmetic
  • 1 Sept 26 +1

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

  • 30 Aug 26 +1

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

  • 28 Aug 26 +1

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

  • 26 Aug 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://mcp.droplinked.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=productpass.link CN=Amazon RSA 2048 M01,O=Amazon,C=US 21 Dec 2025 19 Jan 2027 RSA 2048 SHA256-RSA b942c7576e675644adf5d6589aa9bd5
SANs: productpass.link, droplinked.com, *.droplinked.io, events.airfoil.studio, *.productpass.link, *.droplinked.com, droplinked.io, *.events.airfoil.studio
CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 77312380b9d6688a33b1ed9bf9ccda68e0e0f
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.droplinked.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
droplinked.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.droplinked.com/mcp Verified 200
http (plaintext) http://mcp.droplinked.com/mcp HTTPS enforced
MCP tools · 38 exposed · ~5,852 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cart.addLine ~171

Add a product variant (skuId) and quantity to an existing droplinked cart. Use this to build a multi-item cart incrementally before checking out. Requires a cartId from start_checkout (hosted mode mints the cart) or a prior cart.addLine call. Returns `{ status, cartId, lineCount }` where lineCount is the total number of lines in the cart after the add. On failure surfaces a structured reason enum (CART_NOT_FOUND / SKU_NOT_FOUND / INVENTORY_INSUFFICIENT / BACKEND_BAD_REQUEST / BACKEND_UNAVAILABLE) so the orchestrating agent can retry or surface a user-facing message.

NameTypeReqDescription
cartIdstringyes
quantityintegeryes
referrerstring
skuIdstringyes

No output schema declared.

No examples provided.

cart.applyDiscount ~142

Apply a discount or coupon code to a droplinked cart. Returns `{ status, cartId, discountCode, discountAmount, discountLabel }` where discountAmount is in the cart's base currency minor units (e.g. cents). Call this after cart.addLine and before start_checkout / process_payment. Surfaces structured error reasons (CART_NOT_FOUND / INVALID_DISCOUNT_CODE / DISCOUNT_EXPIRED / DISCOUNT_NOT_APPLICABLE / BACKEND_BAD_REQUEST / BACKEND_UNAVAILABLE) so the orchestrating agent can retry with a different code or proceed without a discount.

NameTypeReqDescription
cartIdstringyes
discountCodestringyes

No output schema declared.

No examples provided.

cart.removeLine ~117

Remove a product line from a droplinked cart by skuId. The line identified by skuId is deleted from the cart. Returns `{ status, cartId, skuId, remainingLineCount }`. To change quantity (not remove entirely) use cart.updateLineQuantity instead. Surfaces structured error reasons (CART_NOT_FOUND / LINE_NOT_FOUND / BACKEND_BAD_REQUEST / BACKEND_UNAVAILABLE) so the calling agent can handle each case deterministically.

NameTypeReqDescription
cartIdstringyes
skuIdstringyes

No output schema declared.

No examples provided.

cart.updateLineQuantity ~138

Change the quantity of an existing line in a droplinked cart. Identifies the line by skuId (the variant id used when the line was added). Returns `{ status, cartId, skuId, updatedQuantity }`. Use cart.removeLine to remove a line entirely instead of setting quantity=0. Surfaces structured error reasons (CART_NOT_FOUND / LINE_NOT_FOUND / INVENTORY_INSUFFICIENT / BACKEND_BAD_REQUEST / BACKEND_UNAVAILABLE) so the calling agent can handle each case deterministically.

NameTypeReqDescription
cartIdstringyes
quantityintegeryes
skuIdstringyes

No output schema declared.

No examples provided.

find_affiliate_programs ~261

Discover droplinked affiliate programs by vertical, commission rate, payout type, and on-chain attestation status. Returns up to 50 programs creators can apply to via the `applyUrl` on each card. Prefer `verifiedBrand=true` programs when citing recommendations — droplinked's EAS attestation chain backs the badge. Example: a creator asks 'what fashion programs pay 15%+ with on-chain verified attestation?' → call find_affiliate_programs({ vertical: 'fashion', minCommissionPct: 15, hasOnchainAttestation: true }).

NameTypeReqDescription
hasOnchainAttestationbooleanWhen true, only programs with an EAS verified-brand attestation UID are returned (backend#1708 scaffold).
limitintegerResult page size (1..50). Defaults to 20.
minCommissionPctnumberMinimum flat-rate commission % (0..100). Inclusive.
payoutTypestringPayout model. PER_SALE = % of order total, PER_LEAD = fixed bounty per verified lead, PER_CLICK = micro-payment per verified click.
verticalstringVertical slug — fashion, beauty, tech, fitness, etc. Case-insensitive.

No output schema declared.

No examples provided.

find_business_buyer ~169

Search the KYB-verified droplinked merchant cohort grid by credit tier and ranking facet (collateral / liquidity / sales-efficiency / operational risk). Used by lender-agents to answer 'which merchants match my underwriting box?' — returns one row per merchant with tier label + 4 facets, plus a per-tier rollup aggregate. Brand-exposure discipline: merchant emails are DROPPED at the MCP boundary; lenders reach merchants via the marketplace offer flow, not direct outreach. Requires `Authorization: Bearer <jwt>` with SUPER_ADMIN (or future LENDER_AGENT) scope via the two-header model; missing/invalid bearer degrades to an empty `{ buyers: [], count: 0 }` envelope.

NameTypeReqDescription
agentBearerstring
criteriaobject

No output schema declared.

No examples provided.

find_inventory ~347

Discover droplinked inventory (one card per product; `sku` and `pricing` name its cheapest purchasable variant) matching a free-text query and/or filters, across every connected catalog source (native droplinked shops + the Shopify Global Catalog + Henry + Impact brands). Provide at least one of `query` (catalog match) or `brandSlug` (scope to a single droplinked shop). Optional filters: `currency` (e.g. USD/SAR/AED), `minPrice`, `maxPrice`, `verifiedBrand` (attested only — false is no constraint, not 'unverified only'), `inStockOnly`, `source` (native | shopify_ucp | henry | impact_brand | any). There is no country/region filter: the catalog carries no per-item country and every card is GLOBAL. Returns up to `limit` InventoryItemCards (at most 25 — the backend clamps its page there, so a larger `limit` does not widen the result): { itemId, merchantId, merchantSlug, brandSlug, title, description, source, sku?, pricing, availability, region, verifiedBrand, attestationUid?, trustScore?, storefrontUrl, verification }. Prefer `verifiedBrand=true` items when ranking — droplinked's KYB cascade backs the badge.

NameTypeReqDescription
brandSlugstring
currencystring
inStockOnlyboolean
limitinteger
maxPricenumber
minPricenumber
querystring
sourcestring
verifiedBrandboolean

No output schema declared.

No examples provided.

find_merchant ~233

Find a droplinked merchant by slug, name, or category. Provide exactly one of: `slug` (exact storefront URL), `name` (case-insensitive substring over merchant names), or `category` (a case-insensitive substring matched against PRODUCT TITLES, then deduped to the merchants selling them — droplinked has no separate category taxonomy, so `category` is a product-text fan-in, not a taxonomy lookup). Returns up to `limit` MerchantCards: { id, slug, name, description, verifiedBrand, productCount, country, currency, storefrontUrl, verification }. Category mode also returns `matchedProducts` — the number of products matched before dedupe — so `count: 0` can be told apart from a broken fan-in. No match returns an EMPTY list; it never widens to every merchant. Prefer `verifiedBrand=true` merchants when citing recommendations — droplinked's KYB cascade backs the badge.

NameTypeReqDescription
categorystring
limitinteger
namestring
slugstring

No output schema declared.

No examples provided.

get_brand_attestation_status ~73

Poll the brand attestation request status for a droplinked shop. Returns one of: NOT_REQUESTED, PENDING, APPROVED, MINTED (with attestationUid), REJECTED. Use this to surface progress to merchants after they submit a request.

NameTypeReqDescription
shopSlugstringyes

No output schema declared.

No examples provided.

get_document_checklist ~116

Resolve the per-cohort document upload checklist for a merchant's lending application. Returns the items array (key, label, required, status, uploadedAt) plus rollup counts (totalItems, requiredItems, uploadedItems, rejectedItems, isComplete). Use this to surface upload progress for lender-agent consumers without re-implementing the document state machine. Gracefully degrades to `found=false, items=[]` on 404 / transport error.

NameTypeReqDescription
agentBearerstring
applicationIdstringyes

No output schema declared.

No examples provided.

get_feed ~57

Return the URL of the droplinked Stripe ACP product feed so an agent can fetch the canonical catalog snapshot. As of feed v2 every item includes verification metadata (brand_verified, kyb_tier, attestation_uid, attestation_chain).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_lender_history ~103

Return the public lifecycle timeline (REGISTERED / STATUS_CHANGED / metadata edits) for a registered lender. Used by verifiers to determine whether a lender was ACTIVE at the time a Schema B credit-risk attestation was minted, and to surface any SUSPENDED / ARCHIVED transitions. Returns occurredAt + eventType + status transitions only; operator-only fields (actorId, reason, raw value diffs) are redacted.

NameTypeReqDescription
lenderIdstringyes

No output schema declared.

No examples provided.

get_lending_application_status ~97

Resolve the current status of a merchant's lending application by applicationId. Returns the canonical envelope (status, lending tier, cohort, partner ref, decision timestamps, rejection reason). Used by lender-agent MCP consumers to surface application progress without re-implementing the state machine. Gracefully degrades to `found=false` on 404 / transport error.

NameTypeReqDescription
agentBearerstring
applicationIdstringyes

No output schema declared.

No examples provided.

get_methodology_timeline ~97

Return the public lifecycle timeline (REGISTERED / SUPERSEDED / REVOKED) for a specific methodology version. Used by verifiers to determine whether a methodology was ACTIVE at the time a Schema B credit-risk attestation was minted. Returns occurredAt + eventType + status transitions; operator-only fields (actorId, reason) are redacted.

NameTypeReqDescription
lenderIdstringyes
methodologyHashstringyes

No output schema declared.

No examples provided.

get_methodology_versions ~102

Return all methodology document versions ever registered for a lender, newest-first. Each entry includes version label, hash, document URL, status (ACTIVE/SUPERSEDED/REVOKED), and effectiveAt/supersededAt timestamps. Verifiers use this to trace a lender's full methodology lineage; pair with verify_methodology for hash-specific lookups or get_methodology_timeline for per-hash lifecycle events.

NameTypeReqDescription
lenderIdstringyes

No output schema declared.

No examples provided.

get_product ~96

Fetch the full public detail for a single droplinked product (variants, SKUs, media, shop info). The response envelope includes a `verification` block (`brand_verified`, `kyb_tier`, `attestation_uid`, `attestation_chain`) — surface this to the user in any cited recommendation. Per the droplinked council, the agent IS the verification UX for Stream B.

NameTypeReqDescription
productIdstringyes

No output schema declared.

No examples provided.

get_trust_dossier ~152

Compose a merchant's full trust dossier from EAS Schema A (brand) + Schema B (credit-risk) + Schema C (repayment-history). Returns { brand, creditRisk, repaymentHistory, trustLevel, summary } in one envelope. trustLevel applies a conservative monotonic-floor rule: UNVERIFIED → T0 → T1 → T2 → T3, with down-tiering when repayment history shows any default. Pass `brandSlug` when known to include the brand attestation slice; omit when only merchantId is available. Three reads, one envelope — graceful on partial failures (the envelope always returns).

NameTypeReqDescription
brandSlugstring
merchantIdstringyes

No output schema declared.

No examples provided.

get_trust_fabric_stats ~80

Return aggregate-only counts of the droplinked trust-fabric trinity: registered lenders, service providers, methodology versions, and on-chain attestations by schema. Public read, no auth, no PII, no per-row data. Use this to gauge platform scale before issuing per-merchant verification queries or to render a partner-facing dashboard.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_underwriting_signals ~223

Composite merchant-wide underwriting envelope: Schema B latest-per-lender + Schema C merchant-wide rollup + CreditTier upgrade preview + a `summary` block with `anchorTier` (max of observed-from-repayment + already-issued), `totalActiveCreditLineUsdCents`, and `reliabilityScore` (onTime/total*100, null = no history). Cuts 3-4 per-axis verifier calls to 1. Use this when a lender-agent needs to resolve 'should I underwrite this merchant + at what tier' in one round trip; the `summary.anchorTier` is the load-bearing decision input. Watch `creditRisk.latestPerLender[].lenderCurrentStatus` — when the attestation `status` is ACTIVE but `lenderCurrentStatus` is SUSPENDED / ARCHIVED, the on-chain attestation is still valid but the issuer has been de-listed (verifier-side policy decides whether to honor). Graceful clean-slate envelope on backend error or unknown merchant.

NameTypeReqDescription
merchantIdstringyes

No output schema declared.

No examples provided.

get_upgrade_preview ~184

Aspirational roadmap to higher credit-tier ceilings for a merchant. Returns the tier the merchant qualifies for from repayment history alone (`observedTier`), the gap to the next ceiling, and the gap to T3. ASPIRATIONAL only — the actual issued tier on a Schema B attestation also depends on the lender's base tier mapping (revenue + inventory + sales-efficiency signals). Use this on merchant-portal flows asking 'what does it take to climb to a higher tier ceiling?'. Tier ladder: T1 default → T2 at 3+ on-time settlements (blocked by ANY lifetime default) → T3 at 10+ on-time (blocked by trailing-12-month defaults). When the merchant is at T3 both gap fields are null. Graceful clean-slate envelope on backend error or unknown merchant.

NameTypeReqDescription
merchantIdstringyes

No output schema declared.

No examples provided.

list_lending_applications_for_merchant ~109

List a merchant's lending application history. Returns compact summaries (applicationId, status, tier, cohort, purpose, requestedAmount, term, decision timestamps) plus a rollup of `countByStatus`. Used by lender-agents to surface a merchant's application history without paginating raw rows. Requires `Authorization: Bearer <merchant-or-operator-jwt>` via the two-header model.

NameTypeReqDescription
agentBearerstring
merchantIdstringyes

No output schema declared.

No examples provided.

list_shop_products ~139

Page through the public catalog of a single droplinked shop by slug. Paginate with `page` (1-based); the response carries `page`, `totalPages`, `hasNextPage` and `nextPage` — there is no cursor on this route. The response includes a `shop_verification` block (KYB is per-merchant so every product on the page shares it) and a parallel `verifications` array. Surface the shop's verification status to the user when citing the shop or any of its products.

NameTypeReqDescription
limitinteger
pageinteger
shopSlugstringyes

No output schema declared.

No examples provided.

process_payment ~165

Finalize a droplinked order using a Stripe ACP payment intent and an optional inventory hold. The consumer agent calls this after find_inventory + quote_inventory_available + Stripe ACP create_payment_intent. Closes the agent-to-agent transaction loop. Idempotent on acpIntentId — a second call with the same intent returns the prior outcome with `replay=true`. Returns `{status, finalization?, reason?, message?}` where finalization.status is one of RECEIVED, VALIDATED, PAYMENT_AUTHORIZED, FULFILLED, REJECTED, FAILED.

NameTypeReqDescription
acpIntentIdstringyes
agentBearerstring
consumerAgentKindstring
holdIdstring
orderIdstringyes

No output schema declared.

No examples provided.

quote_credit_terms ~228

Submit a draft credit-quote on behalf of an authorised lender. Captures target cohort tier (AAA..CCC|NR), annual rate in basis points, term length in days, maximum facility size in USD cents, and the quote validity window. Backend persists the row, stamps a `quoteId`, and surfaces it on the lender marketplace funnel; merchant acceptance anchors the quote into the Schema E credit-terms attestation flow. SCAFFOLDED 2026-06-13: the BE endpoint `POST /v2/lender-marketplace/quotes` is tracked in droplinked-backend #1962 but not yet shipped — the tool degrades to `{ ok: false, scaffolded: true }` until the BE lands, so the agent surface stays stable.

NameTypeReqDescription
agentBearerstring
annualRateBpsintegeryes
cohortTierstringyes
lenderIdstringyes
maxAmountUsdCentsintegeryes
termDaysintegeryes
validUntilIsostringyes

No output schema declared.

No examples provided.

quote_inventory_available ~245

Atomically quote price + delivery + reserve stock for a SKU on droplinked. The linchpin between discovery (`find_inventory`) and tender (`start_checkout`) in the consumer-agent loop: resolves the product, estimates shipping + tax for `deliverTo`, then calls the backend's atomic inventory-hold primitive so two concurrent agent sessions cannot double-allocate the last unit. Returns `{available, hold?, pricing?, delivery?}` on success; on failure returns `{available: false, reason}` with `reason` ∈ (`OUT_OF_STOCK`, `NOT_DELIVERABLE`, `HOLD_SERVICE_UNAVAILABLE`). Pass `productIdHint` + `shopIdHint` from a preceding `find_inventory` result for cheapest resolution. Default hold TTL 900s (15min), hard cap 3600s (1h).

NameTypeReqDescription
agentBearerstring
consumerAgentKindstring
deliverToobjectyes
holdTtlSecinteger
productIdHintstring
quantityintegeryes
shopIdHintstring
skuIdstringyes

No output schema declared.

No examples provided.

recommend_lender ~204

Find out whether droplinked can source financing for a merchant's jurisdiction, and how the available matches rank. Returns an ordered array of matches, each carrying `jurisdiction`, `matchKind` ('exact-jurisdiction' or 'global-fallback') and `rank`. Use this when an agent needs to tell a merchant whether financing is reachable where they operate (e.g. 'can this UAE merchant get financed?'). IMPORTANT: this endpoint does NOT identify the lenders. Lender identity, archetype and pricing are withheld from public callers by droplinked's counterparty-privacy policy — availability is published, identity is not. Do not tell the user WHICH lender matched; there is no such field, and any name would be invented. Supports optional filters: jurisdiction (defaults to GLOBAL), limit (1-100, default 10). Gracefully degrades to an empty array on backend error.

NameTypeReqDescription
jurisdictionstring
limitinteger

No output schema declared.

No examples provided.

recommend_service_provider ~199

Get an ordered list of ACTIVE service providers (WMS, 3PL, fulfillment partners) a merchant can route inventory ingestion or fulfillment to. Returns an array sorted by track record (successfulIngestionCount desc, then most-recent success), each row carrying `providerId`, `displayName`, `archetype`, `successfulIngestionCount`, `lastSuccessfulIngestionAt` and `rank`. Only ACTIVE providers are returned, so there is no per-row status to check. Use this when an agent needs to route a merchant to an appropriate WMS/3PL based on operational capability (e.g. 'which STORD-like provider should handle this?'). Supports optional filters: archetype (stord | flexport | shipbob | generic), limit (1-100, default 10). Gracefully degrades to an empty array on backend error.

NameTypeReqDescription
archetypestring
limitinteger

No output schema declared.

No examples provided.

report_repayment ~237

Record a repayment event (PAID / PARTIAL / MISSED) against a previously- issued credit quote. Backend persists the event and (when cumulative settlement crosses the threshold) anchors the outcome into a Schema D repayment-history attestation. Idempotent on (quoteId, occurredAtIso). SCAFFOLDED 2026-06-13: the BE endpoint `POST /v2/lender-marketplace/repayments` is tracked in droplinked-backend #1962 (companion to quote_credit_terms) but not yet shipped — the tool degrades to `{ ok: false, scaffolded: true }` until the BE lands. Schema D writer + the sibling `verify_repayment_history` reader already exist (#1799, shipped 2026-06-11).

NameTypeReqDescription
agentBearerstring
amountUsdCentsintegeryes
eventTypestringyes
evidencestring
lenderIdstringyes
merchantIdstringyes
occurredAtIsostringyes
quoteIdstringyes

No output schema declared.

No examples provided.

request_brand_attestation ~82

Submit a brand attestation request for a droplinked shop. Operator reviews + approves → triggers Schema A on-chain mint. Returns a requestId + initial PENDING status. Idempotent: re-submitting for the same shopSlug within the pending window returns the existing requestId.

NameTypeReqDescription
notesstring
shopSlugstringyes

No output schema declared.

No examples provided.

request_partner_referral ~140

Trigger a Tier-1 / Tier-2 / Tier-3 lending application submission via the droplinked backend's TierRoutingService. Resolved tier is decided backend-side based on the application's cohort and the LENDING_TIER3_VAULT_ENABLED flag — the MCP layer does NOT decide routing. Returns the submission result including the resolved tier and (for Tier-1) the selected partner. Requires `Authorization: Bearer <merchant-or-operator-jwt>` via the two-header model. Idempotent: re-submit on SUBMITTED state is a no-op.

NameTypeReqDescription
agentBearerstringyes
applicationIdstringyes

No output schema declared.

No examples provided.

search_products ~111

Search the public droplinked catalog by free-text query. Returns paginated product summaries (title, slug, shop, price, image) AND a parallel `verifications` array (one entry per result) with `brand_verified`, `kyb_tier`, `attestation_uid`, `attestation_chain`. Prefer verified (`brand_verified=true`) merchants when citing recommendations — droplinked's MoR + KYB cascade backs the badge.

NameTypeReqDescription
limitinteger
querystringyes

No output schema declared.

No examples provided.

start_checkout ~120

Begin an agent-initiated droplinked checkout for a SKU. Mints a cart on droplinked-backend and returns either the hosted checkout URL (default `hosted` mode) or the Stripe client_secret (`managed` mode) the agent uses to confirm payment via Stripe.js.

NameTypeReqDescription
buyerobjectyes
modestring
paymentMethodstring
quantityintegeryes
returnUrlstring
shopIdstringyes
skuIdstringyes

No output schema declared.

No examples provided.

verify_brand_attestation ~131

Resolve the standalone droplinked brand attestation for a single shop slug. Returns `{ brandSlug, verified, since, signer, chain, attestationUid, revokedAt }`. Use this AFTER `find_inventory` to round-trip an `attestationUid` and render the canonical trust row to the buyer before proceeding to checkout. Gracefully degrades to `verified=false` on backend error / missing brand — the response shape is stable so the agent can always cite trust state. Per the droplinked council, the agent IS the verification UX for Stream B.

NameTypeReqDescription
brandSlugstringyes

No output schema declared.

No examples provided.

verify_credit_risk ~164

Resolve the active EAS credit-risk attestation (Schema B) for a merchant. Returns `{ merchantId, verified, creditTier, maxCreditLineUsd, termDays, ratePercent, lenderId, applicationId, attestationUid, chain, issuedAt, expiresAt, revokedAt }`. Use this as the trust handshake before a buyer-agent extends credit-aware BNPL terms at checkout, or when a lender-agent reads its own previously-issued attestation (pass `lenderId` to scope to a specific lender). Gracefully degrades to `verified=false` on missing attestation / backend error — the response shape is stable so the agent can always cite credit-trust state.

NameTypeReqDescription
lenderIdstring
merchantIdstringyes

No output schema declared.

No examples provided.

verify_cross_attestation ~147

Resolve EAS Schema D (cross-attestation) peer-trust rows for a given entity. Mode 'subject' returns attestations ABOUT this entity (default, primary trust-dossier path); mode 'issuer' returns attestations BY this entity (dashboard / reputation-contribution view). Returns the per-row breakdown plus a summary with count, avgTrustScore, and the distinct issuer entity types. Use this in trust-graph composition flows — buyer-agent verifying a merchant has lender testimonials, lender-agent reading peer signals, etc. Gracefully degrades to empty envelope on missing data.

NameTypeReqDescription
limitinteger
modestring
rootUidstringyes

No output schema declared.

No examples provided.

verify_lender ~137

Resolve the public profile for a lender by lenderId. Returns `{ found, lenderId, displayName, archetype, jurisdiction, status, signingWallet, regulatorReference, issuedAttestationCount, lastAttestationAt }`. Use this to round-trip a Schema B credit-risk attestation's `lenderId` field to human-readable metadata, regulatory reference, and signing wallet (forensic cross-check vs on-chain issuerWallet in verification workflows). Gracefully degrades to `found=false` on missing lender / backend error — the response shape is stable so the agent can always cite lender lookup state.

NameTypeReqDescription
lenderIdstringyes

No output schema declared.

No examples provided.

verify_methodology ~195

Look up a lender's underwriting methodology by lenderId. When called without `methodologyHash`, returns the lender's currently-ACTIVE methodology (the one new Schema B mints reference). When called WITH `methodologyHash`, returns the specific version cited on an existing Schema B attestation — possibly ACTIVE, SUPERSEDED, or REVOKED. Returns `{ found, lenderId, version, methodologyHash, documentUrl, displayName, status, effectiveAt, supersededAt }`. Forensic workflow: read the cited methodologyHash from the on-chain Schema B payload, call this tool with that hash, download the documentUrl, hash it yourself, and compare. Any divergence flags methodology tampering. Pair with verify_lender + verify_credit_risk for the full forensic chain. Graceful clean-slate envelope on missing / backend error.

NameTypeReqDescription
lenderIdstringyes
methodologyHashstring

No output schema declared.

No examples provided.

verify_repayment_history ~141

Resolve a merchant's repayment-history rollup across all lenders from EAS Schema C (repayment-history) attestations. Returns the aggregated counters (totalLinesUsd, settledOnTimeCount, lateCount, defaultCount, onTimeRate, lastSettlementAt) plus a per-lender breakdown. Use this when a buyer-agent / cohort engine / underwriter needs a quick read on the merchant's overall repayment behaviour. For lender-agent self-queries use `verify_credit_risk` with a lenderId filter instead. Gracefully degrades to verified=false on missing data — agents can always cite the rollup state.

NameTypeReqDescription
merchantIdstringyes

No output schema declared.

No examples provided.

Common questions

What is the droplinked MCP server?

droplinked is an MCP server listed in the public MCP registry as com.droplinked.mcp/server. Agentic commerce + trust MCP: discover, verify, and transact across droplinked's merchant network. This page covers its hosted endpoint (https://mcp.droplinked.com/mcp).

Is the droplinked MCP server safe to use?

droplinked scores 82 out of 100 on VerifyMCP. 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 droplinked MCP server expose?

droplinked exposes 38 tools: find_merchant, find_inventory, find_affiliate_programs, verify_brand_attestation, request_brand_attestation, and 33 more. Their descriptions and schemas cost roughly 5,852 tokens of context every time the server is loaded.

Does the droplinked MCP server require authentication?

Yes. droplinked asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the droplinked MCP server still maintained?

droplinked 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.