Skip to main content
Glama

Jid: the trust API for AI agents

Verify a business before acting

verify_business
Read-only

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

Input Schema

NameRequiredDescriptionDefault
idNoJid file id (preferred)
queryNoName or registry number, used when no id is known
amountNoTransaction amount, recorded on the receipt as context only
detailNocompact (default): the verdict, status, identifiers and top facts with sources; full: every fact with its provenance
activityNoWhat the business is about to do for you. Defaults to general_commerce when jurisdiction or amount is given.
currencyNoISO 4217 currency of amount, default USD
jurisdictionNoUS state as US-XX (for example US-CO) or an ISO country code

Output Schema

NameRequiredDescriptionDefault
idNo
urlNo
fileNoWith an activity: the business the decision is about
nameNo
noteNoTerms of use for the facts
queryNo
resultNo
statusNo
messageNo
receiptNo
decisionNoWith an activity: the decision object; with no file matched: "insufficient_data"
full_fileNo
top_factsNo
facts_totalNo
identifiersNo
owner_statusNoclaimed | public_record
resolved_fromNo
file_checked_atNo
identifiers_totalNo
websites_verifiedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "compact (default): the verdict, status, identifiers and top facts with sources; full: every fact with its provenance",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "decision": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "activity": {
      +              "type": "string"
      +            },
      +            "amount": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "currency": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "decision": {
      +              "description": "proceed | review | stop | insufficient_data",
      +              "type": "string"
      +            },
      +            "jurisdiction": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "not_legal_advice": {},
      +            "notes": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "reasons": {
      +              "items": {
      +                "additionalProperties": {},
      +                "properties": {
      +                  "code": {
      +                    "type": "string"
      +                  },
      +                  "detail": {},
      +                  "effect": {},
      +                  "fact_ids": {
      +                    "items": {},
      +                    "type": "array"
      +                  },
      +                  "fresh_until": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "met": {
      +                    "anyOf": [
      +                      {
      +                        "type": "boolean"
      +                      },
      +                      {
      +                        "const": "unknown",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "description": "true, false or \"unknown\""
      +                  },
      +                  "requirement": {},
      +                  "source": {
      +                    "description": "Compact: the source name; full: the source object"
      +                  },
      +                  "source_url": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  },
      +                  "verified_at": {
      +                    "type": [
      +                      "string",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "receipt_id": {
      +              "type": "string"
      +            },
      +            "rules_url": {
      +              "type": "string"
      +            },
      +            "rules_version": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "decision",
      +            "activity",
      +            "reasons",
      +            "receipt_id"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "string"
      +        }
      +      ],
      +      "description": "With an activity: the decision object; with no file matched: \"insufficient_data\""
      +    },
      +    "facts_total": {
      +      "type": "number"
      +    },
      +    "file": {
      +      "additionalProperties": {},
      +      "description": "With an activity: the business the decision is about",
      +      "properties": {
      +        "facts_total": {
      +          "type": "number"
      +        },
      +        "file_checked_at": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "full_file": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "api": {
      +              "type": "string"
      +            },
      +            "detail_full": {
      +              "type": "string"
      +            },
      +            "page": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "page",
      +            "api"
      +          ],
      +          "type": "object"
      +        },
      +        "id": {
      +          "type": "string"
      +        },
      +        "identifiers": {
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "type": {
      +                "type": "string"
      +              },
      +              "value": {}
      +            },
      +            "required": [
      +              "type",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "identifiers_total": {
      +          "type": "number"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "owner_status": {
      +          "description": "claimed | public_record",
      +          "type": "string"
      +        },
      +        "status": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "flags": {
      +              "description": "Compact: \"tone: label\" strings; full: objects",
      +              "items": {},
      +              "type": "array"
      +            },
      +            "rules": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "type": "string"
      +            },
      +            "summary": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "status"
      +          ],
      +          "type": "object"
      +        },
      +        "top_facts": {
      +          "items": {
      +            "additionalProperties": {},
      +            "properties": {
      +              "label": {
      +                "type": "string"
      +              },
      +              "predicate": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "type": "string"
      +              },
      +              "source_url": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "value": {},
      +              "value_truncated": {
      +                "const": true,
      +                "type": "boolean"
      +              },
      +              "verified_at": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "predicate",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "url": {
      +          "type": "string"
      +        },
      +        "websites_verified": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name",
      +        "url",
      +        "status"
      +      ],
      +      "type": "object"
      +    },
      +    "file_checked_at": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "full_file": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "api": {
      +          "type": "string"
      +        },
      +        "detail_full": {
      +          "type": "string"
      +        },
      +        "page": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "page",
      +        "api"
      +      ],
      +      "type": "object"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "identifiers": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "type": {
      +            "type": "string"
      +          },
      +          "value": {}
      +        },
      +        "required": [
      +          "type",
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "identifiers_total": {
      +      "type": "number"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "description": "Terms of use for the facts",
      +      "type": "string"
      +    },
      +    "owner_status": {
      +      "description": "claimed | public_record",
      +      "type": "string"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "receipt": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "Signed receipt reference; get_receipt returns the full signed statement",
      +          "properties": {
      +            "issued_at": {
      +              "type": "string"
      +            },
      +            "keys": {
      +              "type": "string"
      +            },
      +            "receipt_id": {
      +              "type": "string"
      +            },
      +            "signature": {
      +              "additionalProperties": {},
      +              "properties": {
      +                "alg": {
      +                  "type": "string"
      +                },
      +                "kid": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "alg",
      +                "kid"
      +              ],
      +              "type": "object"
      +            },
      +            "url": {
      +              "type": "string"
      +            },
      +            "verify_url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "receipt_id"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "resolved_from": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "properties": {
      +            "chosen": {
      +              "type": "string"
      +            },
      +            "matched_on": {},
      +            "other_candidates": {
      +              "items": {
      +                "additionalProperties": {},
      +                "properties": {
      +                  "id": {
      +                    "type": "string"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "name"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "query": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "query",
      +            "chosen"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "result": {
      +      "const": "no_file",
      +      "type": "string"
      +    },
      +    "status": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "flags": {
      +          "description": "Compact: \"tone: label\" strings; full: objects",
      +          "items": {},
      +          "type": "array"
      +        },
      +        "rules": {
      +          "type": "string"
      +        },
      +        "status": {
      +          "type": "string"
      +        },
      +        "summary": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "required": [
      +        "status"
      +      ],
      +      "type": "object"
      +    },
      +    "top_facts": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "label": {
      +            "type": "string"
      +          },
      +          "predicate": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "type": "string"
      +          },
      +          "source_url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "value": {},
      +          "value_truncated": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "verified_at": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "predicate",
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "url": {
      +      "type": "string"
      +    },
      +    "websites_verified": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / activity / enum
      Previous value: -[
      -  "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"
      -]New value: +[
      +  "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",
      +  "construction",
      +  "operate_psilocybin_healing_center"
      +]
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and idempotentHint=false, so safety is covered. The description adds substantial context beyond them: the four possible decisions, the reason structure (requirement, met, fact ids, source, verified_at, fresh_until), the signed receipt_id, and the compact-vs-full detail behavior. This is solid added context on a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and input are front-loaded, which is good, but the body is a dense run-on covering input, two output modes and a full re-listing of all seventeen activities. The activity list largely duplicates the enum descriptions already in the schema, which is redundant bulk on an otherwise well-organized description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values did not need spelling out, yet the description does so and does it coherently. For a zero-required-parameter tool with rich enum and output definitions, the main remaining gap is the absence of sibling/tool-selection context (qualify_counterparty, screen, get_business_file), which leaves an agent with ambiguity about which tool to reach for.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already carries baseline meaning for all seven parameters. The description still adds value by explaining the conditional effect of activity (with it you get a decision, without it you get status) and the default-to-general_commerce-on-jurisdiction-or-amount rule. It also expands the activity enum values with human-readable meanings, though the schema partly duplicates this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Verifies a business against the registry facts Jid holds,' with concrete detail on what inputs it takes and what it returns. It is clear on its own but never distinguishes itself from similar-looking siblings such as qualify_counterparty or screen, so an agent cannot tell them apart from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the title ('before acting') and by the conditional behavior described (with an activity you get a decision; without one you get status and top facts), which is useful invocation guidance. However, there is no explicit when-to-use vs when-not, and no mention of the alternative tools (qualify_counterparty, screen) an agent should weigh this against.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources