Server definition
- Hash
- sha256:6b47026dd582f96057e38a2da9a22ed684216cd4a626f9fd63bca14c25ad97c5
- What it is
- What a remote MCP server returned when asked what it offers: 13 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Deep company intelligence for a buyer: corporate registry verification, customs import records, supply chain mapping, decision-maker profiling, risk flags. Returns 0-100 score with evidence chain.",
"inputSchema": {
"properties": {
"country_iso": {
"description": "ISO 3166-1 alpha-2 country code",
"type": "string"
},
"target_company_name": {
"description": "Buyer's company name",
"type": "string"
},
"target_domain": {
"description": "Buyer's website domain",
"type": "string"
}
},
"required": [
"target_domain"
],
"type": "object"
},
"name": "analyze_buyer_intelligence",
"outputSchema": null
},
{
"description": "Poll a background buyer-discovery task created by find_buyers (acquisition.task_id) or submit_discovery_job. Returns status (working | completed | failed); when completed, includes the freshly gathered buyers. Use exponential backoff (start ~20s) and stop polling once status is completed or failed. Free.",
"inputSchema": {
"properties": {
"limit": {
"description": "Max buyers to return when completed (default 50, max 100)",
"type": "number"
},
"task_id": {
"description": "The task_id returned in find_buyers' acquisition field, or a discovery job_id",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "check_discovery_task",
"outputSchema": null
},
{
"description": "Create an AP2 payment mandate: a pre-authorization that lets your agent place orders autonomously (human-not-present) within strict limits — total budget, optional per-order cap, currency, optional seller/category scope, and expiry. Returns a mandate_id to pass to place_order. Each order authorized against it is recorded as a verifiable intent and decrements the budget. Requires authentication.",
"inputSchema": {
"properties": {
"category_scope": {
"description": "Optional list of allowed category codes (mall_category_code). Omit = any category.",
"items": {
"type": "string"
},
"type": "array"
},
"currency": {
"description": "Currency, e.g. USD (default USD). Must match the order currency to authorize.",
"type": "string"
},
"expires_at": {
"description": "Optional ISO timestamp after which the mandate is no longer valid.",
"type": "string"
},
"max_per_order_amount": {
"description": "Optional per-order cap",
"type": "number"
},
"max_total_amount": {
"description": "Total spend budget for this mandate (required, > 0)",
"type": "number"
},
"seller_scope": {
"description": "Optional list of allowed seller_user_id UUIDs. Omit = any seller.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"max_total_amount"
],
"type": "object"
},
"name": "create_payment_mandate",
"outputSchema": null
},
{
"description": "Run 6-layer contact enrichment for a buyer: direct website scraping → proxy retry → BFS contact pages → LLM text extraction → vision screenshot → Serper fallback. Returns email, phone, WhatsApp, decision-maker names. Costs Zhimao Points.",
"inputSchema": {
"properties": {
"target_company_name": {
"description": "Buyer's company name",
"type": "string"
},
"target_domain": {
"description": "Buyer's website domain (e.g. 'example-importer.com')",
"type": "string"
}
},
"required": [
"target_domain"
],
"type": "object"
},
"name": "enrich_buyer_contact",
"outputSchema": null
},
{
"description": "Search 500,000+ verified importers and distributors by product category and target country. Returns company profiles + a `coverage` object. When in-database coverage is thin (empty/partial), the response includes an `acquisition` task (task_id) — a background crawl is started automatically (free). Poll it with check_discovery_task until status=completed to get freshly gathered buyers. Contact details are not included — use enrich_buyer_contact to get them.",
"inputSchema": {
"properties": {
"category": {
"description": "Product category (e.g. 'flour', 'stainless steel tableware', 'LED lighting')",
"type": "string"
},
"country_iso": {
"description": "ISO 3166-1 alpha-2 country code (e.g. MY, ID, KE, AE, GB)",
"type": "string"
},
"limit": {
"description": "Max results to return (default 20, max 100)",
"type": "number"
},
"quality_grade": {
"description": "Filter by data quality. 'premium' = verified contact + multi-source evidence.",
"enum": [
"premium",
"qualified"
],
"type": "string"
}
},
"required": [
"category"
],
"type": "object"
},
"name": "find_buyers",
"outputSchema": null
},
{
"description": "List open collective sourcing projects (联拼宝 / Lianpinbao). Multiple suppliers co-sell into shared buyer pools, reducing per-supplier MOQ. Find pools where you can join to access existing buyer demand.",
"inputSchema": {
"properties": {
"category": {
"description": "Filter by product category keyword (optional)",
"type": "string"
},
"status": {
"description": "Pool status (default: open)",
"enum": [
"open",
"filling"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_group_buy_pools",
"outputSchema": null
},
{
"description": "List your AP2 payment mandates with status, currency, total/per-order limits, consumed and remaining budget, scope and expiry. Requires authentication.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_payment_mandates",
"outputSchema": null
},
{
"description": "List the supplier quotes submitted for one of your inquiries (from request_quote). Returns each quote's id, unit price, total, MOQ, lead time and validity, plus acceptable_quote_ids you can pass to place_order. Requires authentication; only the inquiry's buyer (or the product's supplier) may read it.",
"inputSchema": {
"properties": {
"inquiry_id": {
"description": "The inquiry_id returned by request_quote",
"type": "string"
}
},
"required": [
"inquiry_id"
],
"type": "object"
},
"name": "list_quotes",
"outputSchema": null
},
{
"description": "Accept a supplier quote and create an order (status pending_payment) for one of your inquiries. Pass the inquiry_id and the chosen quote_id (from list_quotes' acceptable_quote_ids). Optionally pass a mandate_id (from create_payment_mandate) to auto-authorize the order against an AP2 payment mandate within its limits — the response then includes mandate_authorization (authorized/declined + reason). Returns the order id, order_no and a payment next_step. Idempotent per inquiry: re-calling returns the existing order. Requires authentication.",
"inputSchema": {
"properties": {
"inquiry_id": {
"description": "The inquiry_id (from request_quote / list_quotes)",
"type": "string"
},
"mandate_id": {
"description": "Optional AP2 payment mandate id (from create_payment_mandate) to auto-authorize this order within pre-approved limits.",
"type": "string"
},
"quote_id": {
"description": "The quote_id to accept (from list_quotes' acceptable_quote_ids)",
"type": "string"
}
},
"required": [
"inquiry_id",
"quote_id"
],
"type": "object"
},
"name": "place_order",
"outputSchema": null
},
{
"description": "Start a transaction by sending a quote request (inquiry) to a supplier for a specific product_id (get one from search_products). Returns an inquiry_id. Requires authentication — the inquiry is owned by the authenticated buyer. The supplier then submits a quote; poll it with list_quotes.",
"inputSchema": {
"properties": {
"buyer_note": {
"description": "Free-text note to the supplier (optional)",
"type": "string"
},
"destination_city": {
"description": "Destination city (optional)",
"type": "string"
},
"destination_country": {
"description": "Destination country ISO2 (optional)",
"type": "string"
},
"product_id": {
"description": "Product id to request a quote for (from search_products)",
"type": "string"
},
"quantity": {
"description": "Desired quantity (optional)",
"type": "number"
},
"quantity_unit": {
"description": "Unit for the quantity, e.g. 'pcs', 'kg' (optional)",
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "request_quote",
"outputSchema": null
},
{
"description": "Search live products listed by ProcureRadar suppliers by keyword, destination country, supplier country, or category. Returns product_id values needed to request a quote. Free & anonymous (IP rate-limited). This is the first step of the buyer-side transaction loop: search_products → request_quote → list_quotes → place_order.",
"inputSchema": {
"properties": {
"category": {
"description": "Category code (mall_category_code), optional",
"type": "string"
},
"country_iso": {
"description": "Destination country ISO2 (filters by deliverable SKUs)",
"type": "string"
},
"limit": {
"description": "Max results (default 20, max 50)",
"type": "number"
},
"q": {
"description": "Keyword (product title / SKU / supplier name)",
"type": "string"
},
"supplier_country": {
"description": "Supplier origin country ISO2",
"type": "string"
}
},
"type": "object"
},
"name": "search_products",
"outputSchema": null
},
{
"description": "Discover verified supplier storefronts (supply nodes) on ProcureRadar by target-market country and industry. Each store groups multiple products from one verified supplier and returns sample_product_ids you can quote on. Use this to find a supplier store first, then search_products / request_quote. Free & anonymous (IP rate-limited). Organizing principle: country × industry matrix.",
"inputSchema": {
"properties": {
"country": {
"description": "Target-market country ISO2 the store operates/sells into (e.g. MY, VN, JP)",
"type": "string"
},
"industry": {
"description": "Industry key (85-industry taxonomy, aligns with product category codes, e.g. 'beauty_personal_care')",
"type": "string"
},
"limit": {
"description": "Max results (default 20, max 50)",
"type": "number"
},
"q": {
"description": "Store name keyword (optional)",
"type": "string"
}
},
"type": "object"
},
"name": "search_stores",
"outputSchema": null
},
{
"description": "Explicitly submit an async batch buyer discovery job for a category + country. Returns a job_id; poll it with check_discovery_task until status=completed. Note: find_buyers already auto-starts a background crawl when coverage is thin, so usually you only need this for a forced/fresh deep crawl.",
"inputSchema": {
"properties": {
"category": {
"description": "Product category to discover buyers for",
"type": "string"
},
"country_iso": {
"description": "Target country ISO code",
"type": "string"
},
"keywords": {
"description": "Additional keywords to refine the search",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"category",
"country_iso"
],
"type": "object"
},
"name": "submit_discovery_job",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:6b47026dd582f96057e38a2da9a22ed684216cd4a626f9fd63bca14c25ad97c5 | sha256sum