site
Issafu: the site's own MCP server — dataset, enquiry, entities, listing (enquiry = a human...
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- LOWentities_in에서
- LOWplacements_active에서
- LOWclaim_public에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"site": {
"url": "https://issafu.com/mcp"
}
}
}원격 엔드포인트
https://issafu.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (32)
🟢dataset_columns
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢dataset_search(query, limit)
Rows of the Issafu dataset whose cells contain the query (case-insensitive), up to 50.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "text to look for in any cell"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪dataset_row(column, value)
The rows of the Issafu dataset where a column equals a value exactly (case-insensitive).
입력 스키마
{
"type": "object",
"properties": {
"column": {
"type": "string",
"minLength": 1
},
"value": {
"type": "string",
"minLength": 1
}
},
"required": [
"column",
"value"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪dataset_compare(column, values)
The rows of the Issafu dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
입력 스키마
{
"type": "object",
"properties": {
"column": {
"type": "string",
"minLength": 1
},
"values": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 2,
"maxItems": 10
}
},
"required": [
"column",
"values"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪dataset_stats(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).
입력 스키마
{
"type": "object",
"properties": {
"column": {
"type": "string",
"minLength": 1
}
},
"required": [
"column"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪dataset_top(column, limit, ascending)
The highest (or lowest) rows of the Issafu dataset by a numeric column — "which is the most/least X".
입력 스키마
{
"type": "object",
"properties": {
"column": {
"type": "string",
"minLength": 1
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
},
"ascending": {
"type": "boolean",
"description": "true for the lowest first; default highest first"
}
},
"required": [
"column"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢dataset_provenance
The source, the date it was computed, the licence and the citation for the Issafu dataset. Read this to attribute a figure correctly.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪entities_schema
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪entity_lookup(scheme, value, 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.
입력 스키마
{
"type": "object",
"properties": {
"scheme": {
"type": "string",
"minLength": 2,
"maxLength": 24,
"description": "identifier scheme, e.g. lei, fca_frn, tdlr_license"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢entities_search(q, region, service, limit)
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.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 120
},
"region": {
"type": "string",
"maxLength": 60
},
"service": {
"type": "string",
"maxLength": 80
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪entities_in(region, service, page, pageSize)
The Issafu register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.
입력 스키마
{
"type": "object",
"properties": {
"region": {
"type": "string",
"minLength": 2,
"maxLength": 60
},
"service": {
"type": "string",
"maxLength": 80
},
"page": {
"type": "integer",
"minimum": 1
},
"pageSize": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"region"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢entities_export(page, pageSize)
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.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1
},
"pageSize": {
"type": "integer",
"minimum": 1,
"maximum": 200
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢listing_describe
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪listing_terms
The clauses a listing is judged by, their version (send it back as termsVersion), and every profile field the directory takes.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢agent_session_start(address)
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.
입력 스키마
{
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 32,
"maxLength": 44
}
},
"required": [
"address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪agent_session_verify(address, message, signature)
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).
입력 스키마
{
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 32,
"maxLength": 44
},
"message": {
"type": "string",
"minLength": 20,
"maxLength": 2000
},
"signature": {
"type": "string",
"minLength": 40,
"maxLength": 200
}
},
"required": [
"address",
"message",
"signature"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪claim_start(session, scheme, value)
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.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"scheme": {
"type": "string",
"minLength": 2,
"maxLength": 40
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"session",
"scheme",
"value"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪claim_verify(session, id)
The server reads DNS, the well-known file and the verified email; verified claims are badges on the profile.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"id": {
"type": "string",
"minLength": 10,
"maxLength": 60
}
},
"required": [
"session",
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪claim_status(session)
Every claim of this account with its status and, while pending, the instructions.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
}
},
"required": [
"session"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡listing_draft(session, name, website, enquiryEmail, languages, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"website": {
"type": "string",
"maxLength": 200
},
"enquiryEmail": {
"type": "string",
"maxLength": 160
},
"languages": {
"type": "string",
"maxLength": 200
},
"about": {
"type": "string",
"maxLength": 1200
},
"services": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"jurisdictions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
],
"description": "ISO codes"
},
"termsVersion": {
"type": "string",
"minLength": 1
},
"termsAccepted": {
"type": "boolean"
},
"authorised": {
"type": "boolean"
},
"register": {
"type": "object",
"properties": {
"scheme": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"scheme",
"value"
],
"additionalProperties": false
},
"profile": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"session",
"name",
"services",
"jurisdictions",
"termsVersion",
"termsAccepted",
"authorised"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪listing_pay_card(session, id)
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.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"id": {
"type": "string",
"minLength": 10,
"maxLength": 60
}
},
"required": [
"session",
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡listing_pay_stripe(session, id, paymentMethod)
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.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"id": {
"type": "string",
"minLength": 10,
"maxLength": 60
},
"paymentMethod": {
"type": "string",
"pattern": "^pm_[A-Za-z0-9]+$"
}
},
"required": [
"session",
"id",
"paymentMethod"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢listing_pay_usdc(session, id)
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.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"id": {
"type": "string",
"minLength": 10,
"maxLength": 60
}
},
"required": [
"session",
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪listing_confirm_usdc(session, id)
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.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"id": {
"type": "string",
"minLength": 10,
"maxLength": 60
}
},
"required": [
"session",
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪listing_status(session)
Every listing of this account with its status (awaiting_payment, pending_review, published, refused, withdrawn, expired).
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
}
},
"required": [
"session"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪listing_withdraw(session, id)
Takes down a listing of this account.
입력 스키마
{
"type": "object",
"properties": {
"session": {
"type": "string",
"minLength": 20,
"maxLength": 300,
"description": "the session token from agent_session_verify"
},
"id": {
"type": "string",
"minLength": 10,
"maxLength": 60
}
},
"required": [
"session",
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪listings_published(scheme, value)
What firms have added on top of the register (published rows only), optionally for one register entry.
입력 스키마
{
"type": "object",
"properties": {
"scheme": {
"type": "string",
"maxLength": 40
},
"value": {
"type": "string",
"maxLength": 120
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪placements_active(page, region, leaf)
The Sponsored slot's contents for a page (home | region | leaf); labelled as sponsored in the answer.
입력 스키마
{
"type": "object",
"properties": {
"page": {
"type": "string",
"enum": [
"home",
"region",
"leaf"
]
},
"region": {
"type": "string",
"maxLength": 40
},
"leaf": {
"type": "string",
"maxLength": 120
}
},
"required": [
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪claim_public(scheme, value)
Whether an entry has a verified claim, by which proof and when — never by whom.
입력 스키마
{
"type": "object",
"properties": {
"scheme": {
"type": "string",
"minLength": 2,
"maxLength": 40
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"scheme",
"value"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡enquiry_describe
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡enquiry_fields
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_enquiry(answers, consent, confirmation)
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."
입력 스키마
{
"type": "object",
"properties": {
"answers": {
"type": "object",
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
},
"description": "the person's answers, keyed by field key"
},
"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"
}
},
"required": [
"answers",
"consent"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거