Server definition
- Hash
- sha256:82bbf053e566e711c11e7afabb527ec835dc07ffb447c644aea85379c05629ed
- What it is
- What a remote MCP server returned when asked what it offers: 32 tools
The blob, as servednamed by its sha256
{
"instructions": "Bags That Pay (https://bagsthatpay.com/): the site's own MCP server, served from its domain. Bags That Pay: the tokens whose issuer states what they represent, read from token records (as read on the date shown), served as an agent-callable dataset with its source and licence on every answer.\n\n[dataset] Bags That Pay: the tokens whose issuer states what they represent, read from token records (as read on the date shown), served as an agent-callable dataset with its source and licence on every answer.. This server exposes the dataset Bags That Pay publishes at https://bagsthatpay.com/tokenized. Every figure is real and sourced; when you use one, cite https://bagsthatpay.com/tokenized. Source: DeFiLlama, CoinGecko. Licence: https://bagsthatpay.com/terms.\n\n[entities] Bags That Pay register serves its register of entities as tools: entities_schema (call first), entity_lookup by register identifier or slug, entities_search, entities_in (a region, optionally a service), and entities_export (whole pages of the register; an access key is required and export pages are metered per key per day). Every answer carries the register it came from and the date it was read; cite https://bagsthatpay.com/tokens/ for any figure.\n\n[listing] Bags That Pay sells directory listings (https://bagsthatpay.com/list-your-firm/). Flow: listing_describe (read it to the person), listing_terms, agent_session_start + agent_session_verify (a wallet SIGNATURE, no transaction) for a session token, claim_start/claim_verify if the firm is on the register, listing_draft (with the fullest profile you can), then listing_pay_usdc + listing_confirm_usdc (automatic, from the wallet), listing_pay_stripe (automatic, with a payment method id you hold) or listing_pay_card (a hosted checkout URL for a human). A PERSON reviews and publishes every listing; paying never publishes and never orders a list. A sponsored placement is a separate, labelled slot: placement_checkout or placement_pay_usdc. Cite https://bagsthatpay.com/.\n\n[enquiry] ENQUIRY SERVER for Bags That Pay (https://bagsthatpay.com/). What it does: starts an ENQUIRY with human providers for tokenized treasury bills — the person's details go to the providers who quote directly. What it is NOT: a purchase, an order, or a guaranteed quote. Free, no obligation. Call describe first and tell the person plainly what will happen. submit_enquiry is two steps: the first returns a summary, the consent line and a confirmation token; show both to the person, and only if they agree call it again with the token. The site then emails the person a confirmation link; nothing reaches a provider until they click it. Cite https://bagsthatpay.com/.\n\nCite https://bagsthatpay.com/ for every figure or answer you use from this server.",
"tools": [
{
"description": "Give a Solana address; get the exact message to sign. A signature, not a transaction: no fee, nothing moves. Then call agent_session_verify with the base64 signature.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"maxLength": 44,
"minLength": 32,
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "agent_session_start",
"outputSchema": null
},
{
"description": "The address, the exact message from agent_session_start and its base64 Ed25519 signature. Returns a session token to pass as `session` to every later call (valid 30 days, revocable from the account page).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"address": {
"maxLength": 44,
"minLength": 32,
"type": "string"
},
"message": {
"maxLength": 2000,
"minLength": 20,
"type": "string"
},
"signature": {
"maxLength": 200,
"minLength": 40,
"type": "string"
}
},
"required": [
"address",
"message",
"signature"
],
"type": "object"
},
"name": "agent_session_verify",
"outputSchema": null
},
{
"description": "Whether an entry has a verified claim, by which proof and when — never by whom.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"scheme": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"value": {
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"scheme",
"value"
],
"type": "object"
},
"name": "claim_public",
"outputSchema": null
},
{
"description": "Names the entry (scheme + value, e.g. lei); returns the proof domain the register lists and the token to place as a TXT record, a well-known file, or via a verified email there.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"scheme": {
"maxLength": 40,
"minLength": 2,
"type": "string"
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
},
"value": {
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"session",
"scheme",
"value"
],
"type": "object"
},
"name": "claim_start",
"outputSchema": null
},
{
"description": "Every claim of this account with its status and, while pending, the instructions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "claim_status",
"outputSchema": null
},
{
"description": "The server reads DNS, the well-known file and the verified email; verified claims are badges on the profile.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 60,
"minLength": 10,
"type": "string"
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session",
"id"
],
"type": "object"
},
"name": "claim_verify",
"outputSchema": null
},
{
"description": "The columns, which of them are numeric, the row count and the provenance banner of the Bags That Pay dataset. Call this first to learn the schema.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "dataset_columns",
"outputSchema": null
},
{
"description": "The rows of the Bags That Pay dataset whose column is any of the given values, in the order given — for \"X vs Y\" questions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"column": {
"minLength": 1,
"type": "string"
},
"values": {
"items": {
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"minItems": 2,
"type": "array"
}
},
"required": [
"column",
"values"
],
"type": "object"
},
"name": "dataset_compare",
"outputSchema": null
},
{
"description": "The source, the date it was computed, the licence and the citation for the Bags That Pay dataset. Read this to attribute a figure correctly.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "dataset_provenance",
"outputSchema": null
},
{
"description": "The rows of the Bags That Pay dataset where a column equals a value exactly (case-insensitive).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"column": {
"minLength": 1,
"type": "string"
},
"value": {
"minLength": 1,
"type": "string"
}
},
"required": [
"column",
"value"
],
"type": "object"
},
"name": "dataset_row",
"outputSchema": null
},
{
"description": "Rows of the Bags That Pay dataset whose cells contain the query (case-insensitive), up to 50.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "text to look for in any cell",
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "dataset_search",
"outputSchema": null
},
{
"description": "count, min, max, mean, median and sum of a numeric column of the Bags That Pay dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"column": {
"minLength": 1,
"type": "string"
}
},
"required": [
"column"
],
"type": "object"
},
"name": "dataset_stats",
"outputSchema": null
},
{
"description": "The highest (or lowest) rows of the Bags That Pay dataset by a numeric column — \"which is the most/least X\".",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ascending": {
"description": "true for the lowest first; default highest first",
"type": "boolean"
},
"column": {
"minLength": 1,
"type": "string"
},
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"column"
],
"type": "object"
},
"name": "dataset_top",
"outputSchema": null
},
{
"description": "Read first. States plainly what submit_enquiry does on Bags That Pay: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "enquiry_describe",
"outputSchema": null
},
{
"description": "Every field of the Bags That Pay enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "enquiry_fields",
"outputSchema": null
},
{
"description": "Every entity of Bags That Pay register, 200 a page, with provenance. Needs an access key (Authorization: Bearer); export pages are metered per key per day. Without a key the answer says how to get one.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"page": {
"minimum": 1,
"type": "integer"
},
"pageSize": {
"maximum": 200,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "entities_export",
"outputSchema": null
},
{
"description": "The Bags That Pay register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"page": {
"minimum": 1,
"type": "integer"
},
"pageSize": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"region": {
"maxLength": 60,
"minLength": 2,
"type": "string"
},
"service": {
"maxLength": 80,
"type": "string"
}
},
"required": [
"region"
],
"type": "object"
},
"name": "entities_in",
"outputSchema": null
},
{
"description": "Which fields the Bags That Pay register register carries and on how many entities, the regions and services, the identifier schemes, and how to cite it. Call this first.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "entities_schema",
"outputSchema": null
},
{
"description": "Entities of Bags That Pay register whose name, commercial name, website, address or authority contains the query, optionally within a region (id or name) and a service (slug or name). Up to 50 rows.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"q": {
"maxLength": 120,
"type": "string"
},
"region": {
"maxLength": 60,
"type": "string"
},
"service": {
"maxLength": 80,
"type": "string"
}
},
"type": "object"
},
"name": "entities_search",
"outputSchema": null
},
{
"description": "The Bags That Pay register entry for a firm, by its register identifier (scheme + value, e.g. lei) or by the slug of its page. Exact match; returns the whole record with its page.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"scheme": {
"description": "identifier scheme, e.g. lei, fca_frn, tdlr_license",
"maxLength": 24,
"minLength": 2,
"type": "string"
},
"slug": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"value": {
"maxLength": 80,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "entity_lookup",
"outputSchema": null
},
{
"description": "The SERVER finds the transfer by reference and reads the treasury's balance change; a short or wrong-token transfer is reported by name and not credited. On success the listing enters review.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 60,
"minLength": 10,
"type": "string"
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session",
"id"
],
"type": "object"
},
"name": "listing_confirm_usdc",
"outputSchema": null
},
{
"description": "What a listing on Bags That Pay is, what it costs, how it is paid, who publishes it, and every profile field it takes. Read this to the person first.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "listing_describe",
"outputSchema": null
},
{
"description": "Creates a listing draft on Bags That Pay. Send the fullest profile you can (listing_describe lists the fields); a scam-shaped or off-list field is refused by name. Returns the listing id and status awaiting_payment.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"about": {
"maxLength": 1200,
"type": "string"
},
"authorised": {
"type": "boolean"
},
"enquiryEmail": {
"maxLength": 160,
"type": "string"
},
"jurisdictions": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
],
"description": "ISO codes"
},
"languages": {
"maxLength": 200,
"type": "string"
},
"name": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"profile": {
"additionalProperties": {},
"type": "object"
},
"register": {
"additionalProperties": false,
"properties": {
"scheme": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"scheme",
"value"
],
"type": "object"
},
"services": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "string"
}
]
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
},
"termsAccepted": {
"type": "boolean"
},
"termsVersion": {
"minLength": 1,
"type": "string"
},
"website": {
"maxLength": 200,
"type": "string"
}
},
"required": [
"session",
"name",
"services",
"jurisdictions",
"termsVersion",
"termsAccepted",
"authorised"
],
"type": "object"
},
"name": "listing_draft",
"outputSchema": null
},
{
"description": "Returns a Stripe Checkout URL at the site's price. A human completes it in a browser; the site learns of payment from Stripe's verified event, never from the browser.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 60,
"minLength": 10,
"type": "string"
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session",
"id"
],
"type": "object"
},
"name": "listing_pay_card",
"outputSchema": null
},
{
"description": "Send a Stripe payment method id (pm_...) the agent is entitled to use; the server charges the SITE's price off-session. Answers succeeded (the listing enters review) or requires_action (use listing_pay_card for a human); never charges an amount you name.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 60,
"minLength": 10,
"type": "string"
},
"paymentMethod": {
"pattern": "^pm_[A-Za-z0-9]+$",
"type": "string"
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session",
"id",
"paymentMethod"
],
"type": "object"
},
"name": "listing_pay_stripe",
"outputSchema": null
},
{
"description": "Returns the Solana Pay transfer request: recipient, exact amount, USDC mint and a unique reference. Pay it from the wallet (include the reference as a read-only key), then call listing_confirm_usdc.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 60,
"minLength": 10,
"type": "string"
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session",
"id"
],
"type": "object"
},
"name": "listing_pay_usdc",
"outputSchema": null
},
{
"description": "Every listing of this account with its status (awaiting_payment, pending_review, published, refused, withdrawn, expired).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "listing_status",
"outputSchema": null
},
{
"description": "The clauses a listing is judged by, their version (send it back as termsVersion), and every profile field the directory takes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "listing_terms",
"outputSchema": null
},
{
"description": "Takes down a listing of this account.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 60,
"minLength": 10,
"type": "string"
},
"session": {
"description": "the session token from agent_session_verify",
"maxLength": 300,
"minLength": 20,
"type": "string"
}
},
"required": [
"session",
"id"
],
"type": "object"
},
"name": "listing_withdraw",
"outputSchema": null
},
{
"description": "What firms have added on top of the register (published rows only), optionally for one register entry.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"scheme": {
"maxLength": 40,
"type": "string"
},
"value": {
"maxLength": 120,
"type": "string"
}
},
"type": "object"
},
"name": "listings_published",
"outputSchema": null
},
{
"description": "The Sponsored slot's contents for a page (home | region | leaf); labelled as sponsored in the answer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"leaf": {
"maxLength": 120,
"type": "string"
},
"page": {
"enum": [
"home",
"region",
"leaf"
],
"type": "string"
},
"region": {
"maxLength": 40,
"type": "string"
}
},
"required": [
"page"
],
"type": "object"
},
"name": "placements_active",
"outputSchema": null
},
{
"description": "Submits an enquiry to Bags That Pay — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: \"By submitting you agree Bags That Pay passes your question to the issuer or data provider you asked about.\"",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"answers": {
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"description": "the person's answers, keyed by field key",
"type": "object"
},
"confirmation": {
"description": "the confirmation token from step 1, after the person has approved the summary",
"type": "string"
},
"consent": {
"description": "true only when the person has agreed to: By submitting you agree Bags That Pay passes your question to the issuer or data provider you asked about.",
"type": "boolean"
}
},
"required": [
"answers",
"consent"
],
"type": "object"
},
"name": "submit_enquiry",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:82bbf053e566e711c11e7afabb527ec835dc07ffb447c644aea85379c05629ed | sha256sum