Jid: the trust API for AI agents
Verify a business before an agent pays, signs or buys: registry-cited decision and signed receipt.
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- HIGH
- MEDIUMscreen에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"jid": {
"url": "https://jid.com/mcp"
}
}
}원격 엔드포인트
https://jid.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (7)
🟢search_business(query)
Find Jid business files by name or by any registry number (FEI, LEI, SEC CIK, DUNS, NDC labeler code, state licence or entity number). Returns candidate files with status and match evidence.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "Business name or registry number"
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡get_business_file(id)
The full Jid file for one business: status, identifiers, every current fact with its source, verification date, next check and confidence, owner statements (labelled self-reported), possible matches and the change history.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Jid file id from search_business, e.g. gland-pharma-limited-j9nehi"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_business(id, query, activity, jurisdiction, amount, ...)
Check a business before an agent pays, signs, books, hires or buys. Pass the Jid id (or a name or registry number) and, to get a decision, the activity. Returns 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 every cited fact, as before. 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); operate_psilocybin_healing_center (Operate a psilocybin healing or service centre (CO, OR)).
입력 스키마
{
"type": "object",
"properties": {
"id": {
"description": "Jid file id (preferred)",
"type": "string"
},
"query": {
"description": "Name or registry number, used when no id is known",
"type": "string",
"minLength": 2,
"maxLength": 200
},
"activity": {
"description": "What the business is about to do for you. Defaults to general_commerce when jurisdiction or amount is given.",
"type": "string",
"enum": [
"general_commerce",
"sell_prescription_drugs",
"manufacture_drugs",
"sell_medical_devices",
"haul_freight",
"broker_freight",
"sell_alcohol",
"produce_spirits",
"provide_investment_advice",
"accept_deposits",
"lend",
"bill_medicare_medicaid",
"healthcare_supplier",
"federal_contracting",
"charitable_solicitation",
"operate_psilocybin_healing_center"
]
},
"jurisdiction": {
"description": "US state as US-XX (for example US-CO) or an ISO country code",
"type": "string",
"maxLength": 5
},
"amount": {
"description": "Transaction amount, recorded on the receipt as context only",
"type": "number",
"minimum": 0
},
"currency": {
"description": "ISO 4217 currency of amount, default USD",
"type": "string",
"minLength": 3,
"maxLength": 3
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_receipt(receipt_id)
Retrieve a stored, Ed25519-signed verification receipt by receipt_id: the inputs, decision, reasons, fact ids and value hashes, rules version and time. Use it to prove what was checked before an action. Free; not a check.
입력 스키마
{
"type": "object",
"properties": {
"receipt_id": {
"type": "string",
"description": "rcpt_... from verify_business"
}
},
"required": [
"receipt_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢qualify_counterparty(email, domain, company_name, form_type, message, ...)
Before you engage with a business that contacted you (a form submission, an inquiry, an outreach reply), qualify it. Pass 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 lookup link) 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. Show the user the read first. Also a signed receipt. Businesses only: personal webmail or no matched business returns individual_or_unverified with no scores. A possible list match is 'review', never a finding. Requires an API key; counts as 2 checks. Not for credit, employment, insurance or housing decisions about any person.
입력 스키마
{
"type": "object",
"properties": {
"email": {
"description": "Sender's e-mail address",
"type": "string",
"maxLength": 254
},
"domain": {
"description": "Company domain, when no e-mail is available",
"type": "string",
"maxLength": 253
},
"company_name": {
"description": "Company name as stated by the sender",
"type": "string",
"maxLength": 200
},
"form_type": {
"type": "string",
"enum": [
"seller_application",
"acquisition_inquiry",
"buyer_registration",
"nda_request",
"sourcing_request",
"listing_request",
"consultation",
"partnership",
"contact",
"other",
"vendor_claim",
"listing_claim",
"sponsor_inquiry",
"advertiser",
"broker_request",
"buyer_inquiry",
"seller_inquiry",
"data_purchase"
],
"description": "What kind of submission this is"
},
"message": {
"description": "The submission's free text (hashed, never stored)",
"type": "string",
"maxLength": 5000
},
"stated_value": {
"description": "Deal or purchase size the sender states, USD",
"type": "number",
"minimum": 0
},
"stated_role": {
"description": "The sender's stated role",
"type": "string",
"enum": [
"buyer",
"seller",
"supplier",
"investor",
"operator"
]
},
"country": {
"description": "Stated country, ISO 3166-1 alpha-2",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"ip_country": {
"description": "Country the submission came from, ISO alpha-2 (location consistency check)",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"ip_region": {
"description": "Region the submission came from (ISO 3166-2, e.g. US-CA or CA)",
"type": "string",
"maxLength": 10
},
"ip_asn": {
"description": "ASN of the submitting network, to recognise hosting and VPN networks",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"browser_timezone": {
"description": "IANA time zone reported by the submitter's browser",
"type": "string",
"maxLength": 60
},
"stated_country": {
"description": "Country the submitter stated (same as country)",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"signal": {
"description": "Jid Signals token (the form's jid_signal field): Jid's own reading of the visitor's location; replaces the ip_* fields when it verifies",
"type": "string",
"maxLength": 800
},
"site": {
"description": "The submitting website's domain (binds the signal token)",
"type": "string",
"maxLength": 253
},
"activity": {
"description": "Regulated activity whose licences matter, if any",
"type": "string",
"enum": [
"general_commerce",
"sell_prescription_drugs",
"manufacture_drugs",
"sell_medical_devices",
"haul_freight",
"broker_freight",
"sell_alcohol",
"produce_spirits",
"provide_investment_advice",
"accept_deposits",
"lend",
"bill_medicare_medicaid",
"healthcare_supplier",
"federal_contracting",
"charitable_solicitation",
"operate_psilocybin_healing_center"
]
},
"claimed_website": {
"description": "For vendor_claim / listing_claim: the website of the business or listing being claimed (enables the affiliation check)",
"type": "string",
"maxLength": 300
},
"summary": {
"description": "Add a short plain-English summary grounded in the signals",
"type": "boolean"
},
"policy": {
"description": "How cautious `engage` is (default balanced)",
"type": "string",
"enum": [
"strict",
"balanced",
"permissive"
]
}
},
"required": [
"form_type"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢screen(domain, url, email, phone, company_name, ...)
A fast engage-or-not answer before you reply to, onboard, pay or buy from someone. Pass 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), concrete mitigations, checks and a read (headline, recommendation engage | verify_first | do_not_engage, failed checks, lookup links: show the user the read first) and a signed receipt_id. Deterministic, no AI in the decision, usually under a second. Act on engage=true; on engage=false, show the reasons and mitigations to the user. A possible sanctions name match is engage=false with 'manual review', never a finding. Individuals get only technical checks of the address, phone or domain. engage is advisory. Rules: https://jid.com/screen-rules. Counts as 1 check with a key; free tier without one.
입력 스키마
{
"type": "object",
"properties": {
"domain": {
"description": "Company domain",
"type": "string",
"maxLength": 253
},
"url": {
"description": "Website or page URL (purchase checks: only the host is used)",
"type": "string",
"maxLength": 2000
},
"email": {
"description": "Sender e-mail address (hashed on the receipt, never stored)",
"type": "string",
"maxLength": 254
},
"phone": {
"description": "Phone number, ideally in +E.164",
"type": "string",
"maxLength": 40
},
"company_name": {
"description": "Company name as stated",
"type": "string",
"maxLength": 200
},
"context": {
"description": "What engaging means here; default lead (purchase when only a url or domain is given)",
"type": "string",
"enum": [
"lead",
"inbound_email",
"partnership",
"vendor",
"purchase",
"marketplace_seller",
"agent_action"
]
},
"amount": {
"description": "Amount at stake, USD",
"type": "number",
"minimum": 0
},
"policy": {
"description": "strict, balanced (default) or permissive",
"type": "string",
"enum": [
"strict",
"balanced",
"permissive"
]
},
"country": {
"description": "Default country for a phone number without +, ISO alpha-2",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"ip_country": {
"description": "Country the request came from (ISO alpha-2), for the location consistency check",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"ip_region": {
"description": "Region of the request (ISO 3166-2, e.g. US-CA or CA)",
"type": "string",
"maxLength": 10
},
"ip_asn": {
"description": "ASN of the request's network, to recognise hosting and VPN networks",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"browser_timezone": {
"description": "IANA time zone reported by the browser",
"type": "string",
"maxLength": 60
},
"stated_country": {
"description": "Country the counterparty stated",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"signal": {
"description": "Jid Signals token (the form's jid_signal field): Jid's own reading of the visitor's location; replaces the ip_* fields when it verifies",
"type": "string",
"maxLength": 800
},
"site": {
"description": "The submitting website's domain (binds the signal token)",
"type": "string",
"maxLength": 253
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_email(headers)
Paste the raw headers of a message (Show original / View source). Returns checks and a read (headline, recommendation engage | verify_first | do_not_engage, failed checks, lookup links: show the user the read first): 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.
입력 스키마
{
"type": "object",
"properties": {
"headers": {
"type": "string",
"maxLength": 65536,
"description": "The raw message headers, as one string (the body is not needed)"
}
},
"required": [
"headers"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거