Serveur MCP

site

com.issafu/site
Commerce et retail Données et analytique Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Provides a business directory, dataset analysis, entity lookup, provider enquiries, verified claims, and paid business listings for Issafu.

agent_session_start
Start a wallet sign-in (Sign In With Solana)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['address'], 'properties': {'address': {'type': 'string', 'maxLength': 44, 'minLength': 32}}, 'additionalProperties': False}
agent_session_verify
Finish the wallet sign-in; receive the session token
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).
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['address', 'message', 'signature'], 'properties': {'address': {'type': 'string', 'maxLength': 44, 'minLength': 32}, 'message': {'type': 'string', 'maxLength': 2000, 'minLength': 20}, 'signature': {'type': 'string', 'maxLength': 200, 'minLength': 40}}, 'additionalProperties': False}
claim_public
Is a register entry claimed?
Whether an entry has a verified claim, by which proof and when — never by whom.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['scheme', 'value'], 'properties': {'value': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'scheme': {'type': 'string', 'maxLength': 40, 'minLength': 2}}, 'additionalProperties': False}
claim_start
Claim a register entry (proof of the register's own domain)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'scheme', 'value'], 'properties': {'value': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'scheme': {'type': 'string', 'maxLength': 40, 'minLength': 2}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
claim_status
My claims
Every claim of this account with its status and, while pending, the instructions.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session'], 'properties': {'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
claim_verify
Check a claim's proof now
The server reads DNS, the well-known file and the verified email; verified claims are badges on the profile.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'id'], 'properties': {'id': {'type': 'string', 'maxLength': 60, 'minLength': 10}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
dataset_columns
Dataset columns and shape
The columns, which of them are numeric, the row count and the provenance banner of the Issafu dataset. Call this first to learn the schema.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
dataset_compare
Compare rows side by side
The rows of the Issafu dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column', 'values'], 'properties': {'column': {'type': 'string', 'minLength': 1}, 'values': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 10, 'minItems': 2}}, 'additionalProperties': False}
dataset_provenance
Where this data comes from, and how to cite it
The source, the date it was computed, the licence and the citation for the Issafu dataset. Read this to attribute a figure correctly.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
dataset_row
Look a row up by an exact key
The rows of the Issafu dataset where a column equals a value exactly (case-insensitive).
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column', 'value'], 'properties': {'value': {'type': 'string', 'minLength': 1}, 'column': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
dataset_search
Search the dataset
Rows of the Issafu dataset whose cells contain the query (case-insensitive), up to 50.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'text to look for in any cell'}}, 'additionalProperties': False}
dataset_stats
Summary statistics for a numeric column
count, min, max, mean, median and sum of a numeric column of the Issafu dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column'], 'properties': {'column': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}
dataset_top
Rank rows by a numeric column
The highest (or lowest) rows of the Issafu dataset by a numeric column — "which is the most/least X".
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['column'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'column': {'type': 'string', 'minLength': 1}, 'ascending': {'type': 'boolean', 'description': 'true for the lowest first; default highest first'}}, 'additionalProperties': False}
enquiry_describe
What you get: an ENQUIRY with a human (not a purchase, not a guaranteed quote)
Read first. States plainly what submit_enquiry does on Issafu: 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
enquiry_fields
The questions the enquiry asks
Every field of the Issafu 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
entities_export
The whole register, in pages (access key required)
Every entity of Issafu 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'integer', 'minimum': 1}, 'pageSize': {'type': 'integer', 'maximum': 200, 'minimum': 1}}, 'additionalProperties': False}
entities_in
Every entity in a region, paged
The Issafu register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['region'], 'properties': {'page': {'type': 'integer', 'minimum': 1}, 'region': {'type': 'string', 'maxLength': 60, 'minLength': 2}, 'service': {'type': 'string', 'maxLength': 80}, 'pageSize': {'type': 'integer', 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
entities_schema
The register's shape, counts and provenance
Which fields the Issafu register register carries and on how many entities, the regions and services, the identifier schemes, and how to cite it. Call this first.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
entities_search
Search the register
Entities of Issafu 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'q': {'type': 'string', 'maxLength': 120}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'region': {'type': 'string', 'maxLength': 60}, 'service': {'type': 'string', 'maxLength': 80}}, 'additionalProperties': False}
entity_lookup
One entity by its register identifier or slug
The Issafu 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'slug': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'value': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scheme': {'type': 'string', 'maxLength': 24, 'minLength': 2, 'description': 'identifier scheme, e.g. lei, fca_frn, tdlr_license'}}, 'additionalProperties': False}
listing_confirm_usdc
Confirm the USDC payment from the chain
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'id'], 'properties': {'id': {'type': 'string', 'maxLength': 60, 'minLength': 10}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
listing_describe
How listing on this directory works
What a listing on Issafu is, what it costs, how it is paid, who publishes it, and every profile field it takes. Read this to the person first.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
listing_draft
Draft a listing (validated against the terms before any money)
Creates a listing draft on Issafu. 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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'name', 'services', 'jurisdictions', 'termsVersion', 'termsAccepted', 'authorised'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'about': {'type': 'string', 'maxLength': 1200}, 'profile': {'type': 'object', 'additionalProperties': {}}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}, 'website': {'type': 'string', 'maxLength': 200}, 'register': {'type': 'object', 'required': ['scheme', 'value'], 'properties': {'value': {'type': 'string'}, 'scheme': {'type': 'string'}}, 'additionalProperties': False}, 'services': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}]}, 'languages': {'type': 'string', 'maxLength': 200}, 'authorised': {'type': 'boolean'}, 'enquiryEmail': {'type': 'string', 'maxLength': 160}, 'termsVersion': {'type': 'string', 'minLength': 1}, 'jurisdictions': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'string'}], 'description': 'ISO codes'}, 'termsAccepted': {'type': 'boolean'}}, 'additionalProperties': False}
listing_pay_card
Pay by card (hosted checkout for a human)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'id'], 'properties': {'id': {'type': 'string', 'maxLength': 60, 'minLength': 10}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
listing_pay_stripe
Pay by Stripe without a browser (a payment method you hold)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'id', 'paymentMethod'], 'properties': {'id': {'type': 'string', 'maxLength': 60, 'minLength': 10}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}, 'paymentMethod': {'type': 'string', 'pattern': '^pm_[A-Za-z0-9]+$'}}, 'additionalProperties': False}
listing_pay_usdc
Pay in USDC on Solana (automatic)
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.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'id'], 'properties': {'id': {'type': 'string', 'maxLength': 60, 'minLength': 10}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
listings_published
Published listings
What firms have added on top of the register (published rows only), optionally for one register entry.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'value': {'type': 'string', 'maxLength': 120}, 'scheme': {'type': 'string', 'maxLength': 40}}, 'additionalProperties': False}
listing_status
My listings
Every listing of this account with its status (awaiting_payment, pending_review, published, refused, withdrawn, expired).
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session'], 'properties': {'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
listing_terms
The listing terms and the profile allowlist
The clauses a listing is judged by, their version (send it back as termsVersion), and every profile field the directory takes.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
listing_withdraw
Withdraw a listing
Takes down a listing of this account.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session', 'id'], 'properties': {'id': {'type': 'string', 'maxLength': 60, 'minLength': 10}, 'session': {'type': 'string', 'maxLength': 300, 'minLength': 20, 'description': 'the session token from agent_session_verify'}}, 'additionalProperties': False}
placements_active
Active sponsored placements on a page
The Sponsored slot's contents for a page (home | region | leaf); labelled as sponsored in the answer.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['page'], 'properties': {'leaf': {'type': 'string', 'maxLength': 120}, 'page': {'enum': ['home', 'region', 'leaf'], 'type': 'string'}, 'region': {'type': 'string', 'maxLength': 40}}, 'additionalProperties': False}
submit_enquiry
Submit an ENQUIRY to human providers (two steps; not a purchase)
Submits an enquiry to Issafu — 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 Issafu shares these details with the regulated firms you asked to hear from."
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['answers', 'consent'], 'properties': {'answers': {'type': 'object', 'description': "the person's answers, keyed by field key", 'additionalProperties': {'type': ['string', 'number', 'boolean']}}, 'consent': {'type': 'boolean', 'description': 'true only when the person has agreed to: By submitting you agree Issafu shares these details with the regulated firms you asked to hear from.'}, 'confirmation': {'type': 'string', 'description': 'the confirmation token from step 1, after the person has approved the summary'}}, 'additionalProperties': False}
Ajouté
submit_enquiry
17 September 2026 12:35
Ajouté
enquiry_fields
17 September 2026 12:35
Ajouté
enquiry_describe
17 September 2026 12:35
Ajouté
claim_public
17 September 2026 12:35
Ajouté
placements_active
17 September 2026 12:35
Ajouté
listings_published
17 September 2026 12:35
Ajouté
listing_withdraw
17 September 2026 12:35
Ajouté
listing_status
17 September 2026 12:35
Ajouté
listing_confirm_usdc
17 September 2026 12:35
Ajouté
listing_pay_usdc
17 September 2026 12:35
Ajouté
listing_pay_stripe
17 September 2026 12:35
Ajouté
listing_pay_card
17 September 2026 12:35
Ajouté
listing_draft
17 September 2026 12:35
Ajouté
claim_status
17 September 2026 12:35
Ajouté
claim_verify
17 September 2026 12:35
Ajouté
claim_start
17 September 2026 12:35
Ajouté
agent_session_verify
17 September 2026 12:35
Ajouté
agent_session_start
17 September 2026 12:35
Ajouté
listing_terms
17 September 2026 12:35
Ajouté
listing_describe
17 September 2026 12:35
Ajouté
entities_export
17 September 2026 12:35
Ajouté
entities_in
17 September 2026 12:35
Ajouté
entities_search
17 September 2026 12:35
Ajouté
entity_lookup
17 September 2026 12:35
Ajouté
entities_schema
17 September 2026 12:35
Ajouté
dataset_provenance
17 September 2026 12:35
Ajouté
dataset_top
17 September 2026 12:35
Ajouté
dataset_stats
17 September 2026 12:35
Ajouté
dataset_compare
17 September 2026 12:35
Ajouté
dataset_row
17 September 2026 12:35