Server definition
- Hash
- sha256:00635f947a25dc65241fecbf88a059bae1d46e14bea71e0d6b4a28290571a93d
- What it is
- What a remote MCP server returned when asked what it offers: 6 tools
The blob, as servednamed by its sha256
{
"instructions": "HeySale gives a website an AI salesperson that talks to visitors, answers their questions from the site's own content and captures leads. Start with create_website_salesperson and a public website address; it returns a salesperson_id — keep that id, every other tool needs it. Then check_salesperson_status until it is ready, get_salesperson_installation for the one-line script, and verify_salesperson_installation once the script is live. Finally give the website owner the claim_url so they can claim their HeySale account, where they manage leads, team and billing. Never ask a website owner for an API key; private results and changes to a claimed salesperson happen inside HeySale.",
"tools": [
{
"description": "Find out whether a website salesperson has finished reading the website and is ready to talk to visitors, and whether its script has been detected on the live site. Give it the salesperson_id returned when the salesperson was created.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"salesperson_id": {
"description": "The salesperson_id returned by create_website_salesperson.",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"salesperson_id"
],
"type": "object"
},
"name": "check_salesperson_status",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"detected_domains": {
"items": {
"type": "string"
},
"type": "array"
},
"domain": {
"type": [
"string",
"null"
]
},
"environment": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"installation_status": {
"enum": [
"detected",
"not_detected",
"domain_mismatch",
"unknown"
],
"type": "string"
},
"installed": {
"type": "boolean"
},
"last_seen_at": {
"description": "When the script was last seen loading. Null before installation.",
"type": [
"string",
"null"
]
},
"next_action": {
"description": "Plain-language next step for the caller.",
"type": "string"
},
"ownership": {
"additionalProperties": {},
"properties": {
"claim_url": {
"description": "One-time link the website owner uses to claim the salesperson. Absent once claimed.",
"type": [
"string",
"null"
]
},
"manage_url": {
"description": "Where the owner manages the salesperson. Present once claimed.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Whether a HeySale account owns this salesperson yet.",
"enum": [
"unclaimed",
"claimed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"salesperson": {
"additionalProperties": {},
"properties": {
"domain": {
"type": "string"
},
"id": {
"description": "The salesperson_id.",
"type": "string"
},
"name": {
"type": "string"
},
"website_url": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"salesperson_id": {
"type": "string"
},
"salesperson_name": {
"type": "string"
},
"status": {
"description": "Build state of the salesperson, e.g. analyzing, building, ready, failed.",
"type": "string"
},
"test_environment": {
"type": "boolean"
},
"website_url": {
"type": "string"
}
},
"required": [
"salesperson",
"salesperson_id",
"salesperson_name",
"website_url",
"status",
"ownership"
],
"type": "object"
}
},
{
"description": "Change a salesperson's name, its opening line, or the goal it works towards. While a salesperson is still unclaimed this can be set as part of setting it up. Once the website owner has claimed it, changes must be made by the owner in HeySale — do not ask anyone for an API key.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"api_key": {
"description": "Developers only. Not required, and never ask a website owner for one.",
"maxLength": 200,
"minLength": 10,
"type": "string"
},
"greeting": {
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"name": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"objective": {
"description": "What the salesperson should aim for.",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"salesperson_id": {
"description": "The salesperson_id returned by create_website_salesperson.",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"salesperson_id"
],
"type": "object"
},
"name": "configure_salesperson",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"authentication_required": {
"type": "boolean"
},
"environment": {
"type": "string"
},
"error_code": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"next_action": {
"description": "Plain-language next step for the caller.",
"type": "string"
},
"ownership": {
"additionalProperties": {},
"properties": {
"claim_url": {
"description": "One-time link the website owner uses to claim the salesperson. Absent once claimed.",
"type": [
"string",
"null"
]
},
"manage_url": {
"description": "Where the owner manages the salesperson. Present once claimed.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Whether a HeySale account owns this salesperson yet.",
"enum": [
"unclaimed",
"claimed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"salesperson": {
"additionalProperties": {},
"properties": {
"domain": {
"type": "string"
},
"id": {
"description": "The salesperson_id.",
"type": "string"
},
"name": {
"type": "string"
},
"website_url": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"salesperson_id": {
"type": "string"
},
"salesperson_name": {
"type": "string"
},
"status": {
"description": "Build state of the salesperson, e.g. analyzing, building, ready, failed.",
"type": "string"
},
"success": {
"type": "boolean"
},
"test_environment": {
"type": "boolean"
},
"updated": {
"description": "Which fields were changed.",
"items": {
"type": "string"
},
"type": "array"
},
"website_url": {
"type": "string"
}
},
"required": [
"salesperson",
"salesperson_id",
"salesperson_name",
"website_url",
"status",
"ownership"
],
"type": "object"
}
},
{
"description": "Give any public website an AI salesperson that talks to its visitors, answers questions about the business, and captures leads. Use this when someone wants to add a salesperson, live chat, a sales assistant or a chatbot alternative to a site. Provide the website address; the salesperson reads the site itself. The response always includes an explicit salesperson_id — keep it, because every other HeySale tool needs it — plus the one-line install script and a claim_url to give the website owner. Safe to call twice for the same website. To try HeySale without touching a real website, use website_url https://hey.sale/mcp-test — that creates an isolated, disposable test salesperson on HeySale's own reviewer sandbox.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"business_name": {
"description": "The business name, if known.",
"maxLength": 120,
"type": "string"
},
"campaign": {
"maxLength": 60,
"type": "string"
},
"external_project_id": {
"description": "A stable id for the calling project, so repeat calls reuse the same salesperson.",
"maxLength": 200,
"type": "string"
},
"integration_source": {
"description": "The AI platform making this call, e.g. claude, chatgpt, cursor, lovable, replit.",
"maxLength": 40,
"type": "string"
},
"website_url": {
"description": "The public website address, e.g. https://example.com",
"maxLength": 300,
"minLength": 3,
"type": "string"
}
},
"required": [
"website_url"
],
"type": "object"
},
"name": "create_website_salesperson",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"environment": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"free_minutes": {
"type": "number"
},
"installation": {
"additionalProperties": {},
"properties": {
"async": {
"type": "boolean"
},
"detection": {
"type": "string"
},
"installation_status": {
"description": "What HeySale's own telemetry currently sees.",
"enum": [
"detected",
"not_detected",
"domain_mismatch",
"unknown"
],
"type": "string"
},
"placement": {
"type": "string"
},
"review_install_url": {
"description": "Sandbox only: expiring link that installs the test salesperson.",
"type": "string"
},
"script": {
"description": "The one-line script to add to the website before the closing body tag.",
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"integration_source": {
"type": "string"
},
"next_action": {
"description": "Plain-language next step for the caller.",
"type": "string"
},
"note": {
"type": "string"
},
"ownership": {
"additionalProperties": {},
"properties": {
"claim_url": {
"description": "One-time link the website owner uses to claim the salesperson. Absent once claimed.",
"type": [
"string",
"null"
]
},
"manage_url": {
"description": "Where the owner manages the salesperson. Present once claimed.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Whether a HeySale account owns this salesperson yet.",
"enum": [
"unclaimed",
"claimed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"preview_url": {
"type": "string"
},
"reused": {
"description": "True when an existing salesperson for that website was returned instead of a new one.",
"type": "boolean"
},
"salesperson": {
"additionalProperties": {},
"properties": {
"domain": {
"type": "string"
},
"id": {
"description": "The salesperson_id.",
"type": "string"
},
"name": {
"type": "string"
},
"website_url": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"salesperson_id": {
"type": "string"
},
"salesperson_name": {
"type": "string"
},
"status": {
"description": "Build state of the salesperson, e.g. analyzing, building, ready, failed.",
"type": "string"
},
"success": {
"type": "boolean"
},
"test_environment": {
"type": "boolean"
},
"website_url": {
"type": "string"
}
},
"required": [
"success",
"salesperson",
"salesperson_id",
"salesperson_name",
"website_url",
"status",
"ownership",
"installation"
],
"type": "object"
}
},
{
"description": "Return the exact one-line script to add to a website so its salesperson appears for visitors, plus where to place it and whether HeySale has detected it yet. Give it the salesperson_id returned when the salesperson was created.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"salesperson_id": {
"description": "The salesperson_id returned by create_website_salesperson.",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"salesperson_id"
],
"type": "object"
},
"name": "get_salesperson_installation",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"environment": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"installation": {
"additionalProperties": {},
"properties": {
"async": {
"type": "boolean"
},
"detection": {
"type": "string"
},
"installation_status": {
"description": "What HeySale's own telemetry currently sees.",
"enum": [
"detected",
"not_detected",
"domain_mismatch",
"unknown"
],
"type": "string"
},
"placement": {
"type": "string"
},
"review_install_url": {
"description": "Sandbox only: expiring link that installs the test salesperson.",
"type": "string"
},
"script": {
"description": "The one-line script to add to the website before the closing body tag.",
"type": "string"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"next_action": {
"description": "Plain-language next step for the caller.",
"type": "string"
},
"ownership": {
"additionalProperties": {},
"properties": {
"claim_url": {
"description": "One-time link the website owner uses to claim the salesperson. Absent once claimed.",
"type": [
"string",
"null"
]
},
"manage_url": {
"description": "Where the owner manages the salesperson. Present once claimed.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Whether a HeySale account owns this salesperson yet.",
"enum": [
"unclaimed",
"claimed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"preview_url": {
"type": "string"
},
"salesperson": {
"additionalProperties": {},
"properties": {
"domain": {
"type": "string"
},
"id": {
"description": "The salesperson_id.",
"type": "string"
},
"name": {
"type": "string"
},
"website_url": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"salesperson_id": {
"type": "string"
},
"salesperson_name": {
"type": "string"
},
"status": {
"description": "Build state of the salesperson, e.g. analyzing, building, ready, failed.",
"type": "string"
},
"test_environment": {
"type": "boolean"
},
"website_url": {
"type": "string"
}
},
"required": [
"salesperson",
"salesperson_id",
"salesperson_name",
"website_url",
"status",
"ownership",
"installation"
],
"type": "object"
}
},
{
"description": "Summarise how many visitors talked to the salesperson, how many left their details, and what they asked about most. This is private business data: it is only returned to an authorised caller. Never ask a website owner for an API key — send them to HeySale instead.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"api_key": {
"description": "Developers only. Not required for setup, and never ask a website owner for one.",
"maxLength": 200,
"minLength": 10,
"type": "string"
},
"days": {
"maximum": 90,
"minimum": 1,
"type": "integer"
},
"salesperson_id": {
"description": "The salesperson_id returned by create_website_salesperson.",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"salesperson_id"
],
"type": "object"
},
"name": "get_salesperson_results",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"authentication_required": {
"type": "boolean"
},
"conversations": {
"type": "number"
},
"conversion_rate": {
"type": "number"
},
"environment": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"leads": {
"type": "number"
},
"next_action": {
"description": "Plain-language next step for the caller.",
"type": "string"
},
"note": {
"type": "string"
},
"ownership": {
"additionalProperties": {},
"properties": {
"claim_url": {
"description": "One-time link the website owner uses to claim the salesperson. Absent once claimed.",
"type": [
"string",
"null"
]
},
"manage_url": {
"description": "Where the owner manages the salesperson. Present once claimed.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Whether a HeySale account owns this salesperson yet.",
"enum": [
"unclaimed",
"claimed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"period_days": {
"type": "number"
},
"recent_leads": {
"items": {
"additionalProperties": {},
"properties": {
"captured_at": {
"type": [
"string",
"null"
]
},
"company": {
"type": [
"string",
"null"
]
},
"email": {
"type": [
"string",
"null"
]
},
"interest": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"question": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"type": "array"
},
"salesperson": {
"additionalProperties": {},
"properties": {
"domain": {
"type": "string"
},
"id": {
"description": "The salesperson_id.",
"type": "string"
},
"name": {
"type": "string"
},
"website_url": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"salesperson_id": {
"type": "string"
},
"salesperson_name": {
"type": "string"
},
"status": {
"description": "Build state of the salesperson, e.g. analyzing, building, ready, failed.",
"type": "string"
},
"synthetic": {
"description": "True when the figures come from the reviewer sandbox.",
"type": "boolean"
},
"talk_minutes": {
"type": "number"
},
"test_environment": {
"type": "boolean"
},
"top_questions": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": {},
"properties": {
"count": {
"type": "number"
},
"theme": {
"type": "string"
}
},
"type": "object"
}
]
},
"type": "array"
},
"website_url": {
"type": "string"
}
},
"required": [
"salesperson",
"salesperson_id",
"salesperson_name",
"website_url",
"status",
"ownership"
],
"type": "object"
}
},
{
"description": "Check whether a HeySale salesperson has actually been installed on its website and is reporting back to HeySale. Uses HeySale's own telemetry, so it works with single-page apps, tag managers and deferred script loading — never scrape the website's HTML to answer this. Give it the salesperson_id returned when the salesperson was created.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"salesperson_id": {
"description": "The salesperson_id returned by create_website_salesperson.",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"salesperson_id"
],
"type": "object"
},
"name": "verify_salesperson_installation",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {},
"properties": {
"detected_domains": {
"items": {
"type": "string"
},
"type": "array"
},
"domain": {
"type": [
"string",
"null"
]
},
"environment": {
"type": "string"
},
"expires_at": {
"type": [
"string",
"null"
]
},
"installation_status": {
"enum": [
"detected",
"not_detected",
"domain_mismatch",
"unknown"
],
"type": "string"
},
"installed": {
"type": "boolean"
},
"last_seen_at": {
"description": "When the script was last seen loading. Null before installation.",
"type": [
"string",
"null"
]
},
"message": {
"type": "string"
},
"next_action": {
"description": "Plain-language next step for the caller.",
"type": "string"
},
"ownership": {
"additionalProperties": {},
"properties": {
"claim_url": {
"description": "One-time link the website owner uses to claim the salesperson. Absent once claimed.",
"type": [
"string",
"null"
]
},
"manage_url": {
"description": "Where the owner manages the salesperson. Present once claimed.",
"type": [
"string",
"null"
]
},
"status": {
"description": "Whether a HeySale account owns this salesperson yet.",
"enum": [
"unclaimed",
"claimed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"salesperson": {
"additionalProperties": {},
"properties": {
"domain": {
"type": "string"
},
"id": {
"description": "The salesperson_id.",
"type": "string"
},
"name": {
"type": "string"
},
"website_url": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"salesperson_id": {
"type": "string"
},
"salesperson_name": {
"type": "string"
},
"status": {
"description": "Build state of the salesperson, e.g. analyzing, building, ready, failed.",
"type": "string"
},
"test_environment": {
"type": "boolean"
},
"website_url": {
"type": "string"
}
},
"required": [
"salesperson",
"salesperson_id",
"salesperson_name",
"website_url",
"status",
"ownership"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:00635f947a25dc65241fecbf88a059bae1d46e14bea71e0d6b4a28290571a93d | sha256sum