Skip to content

Jid: the trust API for AI agents

by jid.com · remote · no sign-in to list tools · v1.6.0 · published by com.jid

Verify a business before an agent pays, signs or buys: registry-cited decision and signed receipt.

Final · 1Changes · 3

7 tools: 1 do something that can't be undone, 3 change things and 3 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http jid https://jid.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "verify_business" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The input carries an amount (input.amount) and a currency, so it moves money.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Can't be undone 1Claude Code: ask
  • verify_businessVerifies a business against the registry facts Jid holds.1 finding

    Why it is in this group

    • The input carries an amount (input.amount) and a currency, so it moves money.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "verify_business" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The input carries an amount (input.amount) and a currency, so it moves money.

      What this check looks for
    Description, as the server wrote it
    Verifies a business against the registry facts Jid holds. Input: a Jid id (or a name or registry number) and, optionally, an activity, jurisdiction and amount. With an activity it returns a decision (proceed, review, stop or insufficient_data) with reasons: each names the requirement, met (true, false or unknown), the fact ids, source, verified_at and fresh_until, plus a signed receipt_id. Without an activity it returns the status and the top cited facts. Default output is compact (verdict, reasons, status, identifiers, top facts, receipt reference); detail "full" adds every cited fact and the full signed receipt. Activities: general_commerce (General commerce (default)); sell_prescription_drugs (Sell prescription drugs); manufacture_drugs (Manufacture drugs); sell_medical_devices (Sell medical devices); haul_freight (Haul freight (for-hire motor carrier)); broker_freight (Broker freight); sell_alcohol (Sell alcohol (wholesale or import)); produce_spirits (Produce distilled spirits); provide_investment_advice (Provide investment advice); accept_deposits (Accept deposits); lend (Lend); bill_medicare_medicaid (Bill Medicare or Medicaid); healthcare_supplier (Health care supplier); federal_contracting (Federal contracting); charitable_solicitation (Charitable solicitation); construction (Construction or home improvement (contractor)); operate_psilocybin_healing_center (Operate a psilocybin healing or service centre (CO, OR)).

    Annotations the server declares

    • title: Verify a business before acting
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 3Claude Code: ask
  • check_emailChecks whether an e-mail is from who it claims.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks whether an e-mail is from who it claims. Input: the raw headers of a message (as shown by Show original or View source). Returns checks and a read (headline, recommendation engage | verify_first | do_not_engage, failed checks, lookup links): DMARC/SPF/DKIM as the receiving server recorded them, DKIM alignment with From, Reply-To going to another domain, and a From domain or display name that imitates a known business. The headers are processed in memory and never stored. Deterministic, no AI. Counts as 1 check with a key; free tier without one.

    Annotations the server declares

    • title: Is this e-mail really from who it says? (SPF, DKIM, DMARC, lookalike sender)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • qualify_counterpartyQualifies a business that made contact (a form submission, an inquiry, an outreach reply).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Qualifies a business that made contact (a form submission, an inquiry, an outreach reply). Input: the sender's e-mail (or the company domain), the company name if given, and the context (form type, message, stated value, stated role). Jid checks the domain (MX, SPF, DMARC, registration date over RDAP, the website), matches it to a Jid business file, reads that file's registrations, licences, filings, capital raises, loans and adverse records, and returns signals (each with source, source_url, verified_at), three scores (legitimacy, capacity, consistency, 0 to 100 with reasons), checks (each pass, fail or unknown with one line of evidence) and a read: a one-line headline ("Passed all 7 checks Jid could run. Recommendation: engage."), the recommendation (engage, verify_first, do_not_engage), the failed checks and up to 4 links to verify by hand, plus a signed receipt reference. detail "full" adds each signal's raw value, each check's lookup link and the full signed receipt. Businesses only: personal webmail or no matched business returns individual_or_unverified with no scores. A possible list match is returned as 'review', not as a finding. Counts as 2 checks with a key; free tier without one. Not intended for credit, employment, insurance or housing decisions about any person.

    Annotations the server declares

    • title: Qualify a business lead or counterparty
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • screenScreens a lead, sender, vendor or website and returns an engage-or-not answer.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Screens a lead, sender, vendor or website and returns an engage-or-not answer. Input: any of domain, url, email, phone or company_name, the context (lead, inbound_email, partnership, vendor, purchase, marketplace_seller, agent_action), an optional amount (USD) and a policy (strict, balanced, permissive; default balanced). Returns engage (true or false), risk (low, medium, high, unknown), confidence 0 to 1, subject_type, reasons (each with source and evidence), mitigations, checks, a read (headline, recommendation engage | verify_first | do_not_engage, failed checks, lookup links) and a signed receipt_id. Deterministic, no AI in the decision, usually under a second. A possible sanctions name match returns engage=false with 'manual review', not a finding. For individuals only technical checks of the address, phone or domain run. engage is advisory. Rules: https://jid.com/screen-rules. Counts as 1 check with a key; free tier without one.

    Annotations the server declares

    • title: Should I engage? (screen a lead, sender, vendor or website)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 3Claude Code: allow
  • get_business_fileThe Jid file for one business.No findings

    Why it is in this group

    • The name "get_business_file" says "get": a word for reading.
    Description, as the server wrote it
    The Jid file for one business. Default (compact): status with its flags, identifiers, verified websites, the top facts with source and verification date, counts and the latest changes. With detail "full": every current fact with its source, verification date, next check and confidence, owner statements (labelled self-reported), possible matches and the change history.

    Annotations the server declares

    • title: Get a business file
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_receiptReturns a stored, Ed25519-signed verification receipt by receipt_id: the inputs, decision, reasons, fact ids and value hashes, rules version and time of the check.No findings

    Why it is in this group

    • The name "get_receipt" says "get": a word for reading.
    Description, as the server wrote it
    Returns a stored, Ed25519-signed verification receipt by receipt_id: the inputs, decision, reasons, fact ids and value hashes, rules version and time of the check. Free; does not count as a check.

    Annotations the server declares

    • title: Get a verification receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_businessFinds Jid business files by name or by any registry number (FEI, LEI, SEC CIK, DUNS, NDC labeler code, state licence or entity number, French SIREN or SIRET).No findings

    Why it is in this group

    • The name "search_business" says "search": a word for reading.
    Description, as the server wrote it
    Finds Jid business files by name or by any registry number (FEI, LEI, SEC CIK, DUNS, NDC labeler code, state licence or entity number, French SIREN or SIRET). Returns candidate files with status and match evidence. For a French company pass country "FR": the SIRENE register is searched live and files are created on demand.

    Annotations the server declares

    • title: Search businesses
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.6.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http jid https://jid.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__jid__search_business",
      "mcp__jid__get_business_file",
      "mcp__jid__get_receipt"
    ],
    "ask": [
      "mcp__jid__verify_business",
      "mcp__jid__qualify_counterparty",
      "mcp__jid__screen",
      "mcp__jid__check_email"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as jid. Review it before you use it.