Calibrated judgments for text: yes/no probabilities, picks from your options, or scores.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer token: "Bearer hunch_<40 hex characters>". Get a free key (100 rows) at https://hunchsheet.app.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Judge a batch of short texts against one yes/no question and get back a calibrated probability (0 to 1) per text, not generated prose. Use it to score, tag, filter or triage many leads, support tickets, reviews, survey answers or emails at once, for example "Is this lead a decision maker?" or "Is this email urgent?". Prefer it to judging the texts yourself once there are more than about 25: one call returns a number per text and keeps the texts out of your context. Costs 1 credit per answered text (blank texts and texts repeated elsewhere in the same call are free; the same text asked again in a later call is charged again). Limits: the model reads the text only, no math, counting or dates; English works best; put the full definition of what counts as yes inside the question, since the model sees nothing else.
Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40.
A yes/no question, e.g. "Is this lead a decision maker who can approve a purchase without asking someone else?". Put the full definition of yes/no in the question text.
Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Judge a batch of short texts against one yes/no question and get back a calibrated probability (0 to 1) per text, not generated prose. Use it to score, tag, filter or triage many leads, support tickets, reviews, survey answers or emails at once, for example "Is this lead a decision maker?" or "Is this email urgent?". Prefer it to judging the texts yourself once there are more than about 25: one call returns a number per text and keeps the texts out of your context. Costs 1 credit per answered text (blank texts and texts repeated elsewhere in the same call are free; the same text asked again in a later call is charged again). Limits: the model reads the text only, no math, counting or dates; English works best; put the full definition of what counts as yes inside the question, since the model sees nothing else.
| Argument | Type | Description |
|---|---|---|
| texts* | array | Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40. |
| api_key | string | Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in. |
| question* | string | A yes/no question, e.g. "Is this lead a decision maker who can approve a purchase without asking someone else?". Put the full definition of yes/no in the question text. |
{
"type": "object",
"required": [
"texts",
"question"
],
"properties": {
"texts": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 1,
"description": "Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40."
},
"api_key": {
"type": "string",
"description": "Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in."
},
"question": {
"type": "string",
"minLength": 1,
"description": "A yes/no question, e.g. \"Is this lead a decision maker who can approve a purchase without asking someone else?\". Put the full definition of yes/no in the question text."
}
},
"additionalProperties": false
}Check how many Hunch credits are left on this key and how many have been used so far. Read-only, costs nothing. Call it before a large batch, or when a judging tool reports texts were skipped for lack of credits. On the keyless /mcp/try connection it reports the free sample rows left today.
| Argument | Type | Description |
|---|---|---|
| api_key | string | Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in."
}
},
"additionalProperties": false
}Returns a link the person can open to buy more credits with a card on Stripe. Nothing is charged until they finish paying on that page; you cannot pay for them. Starter is $29 for 5,000 rows (a key's first purchase), Top-up is $19 for 25,000 rows on a key that already paid. Credits never expire and there is no subscription. Call it when a judging tool says the key is out of credits, or when hunch_quote says the job needs more than the key holds. Show the link to the person and let them decide.
| Argument | Type | Description |
|---|---|---|
| plan | string | Optional. Defaults to Top-up when the key already paid, Starter otherwise. |
| api_key | string | Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in. |
{
"type": "object",
"properties": {
"plan": {
"enum": [
"starter",
"topup"
],
"type": "string",
"description": "Optional. Defaults to Top-up when the key already paid, Starter otherwise."
},
"api_key": {
"type": "string",
"description": "Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in."
}
},
"additionalProperties": false
}Returns a Hunch key with 100 free rows, in this response, with no email and no card. For the keyless /mcp/try connection: pass the key as api_key to the other tools (or reconnect with it). Limited to 2 keys per address per day. Treat the key like a password.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Ask up to 10 yes/no questions about the same batch of texts in one call, one probability per question per text, not generated prose. Use it when several judgments read the same text at once, for example "Can they buy?", "Are they angry?", "Is it urgent?" on the same support ticket, for a fraction of the tokens of separate calls. Prefer it to judging the texts yourself once there are more than about 25: one call returns a number per text and keeps the texts out of your context. Costs 1 credit per answered question per text (blanks and duplicate texts are free). Limits: the model reads the text only, no math, counting or dates, English works best, and each question needs its own definition of yes inside it.
| Argument | Type | Description |
|---|---|---|
| texts* | array | Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40. |
| api_key | string | Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in. |
| questions* | array | Up to 10 yes/no questions, each answered once per text, e.g. ["Can they buy?", "Are they angry?", "Is it urgent?"]. |
{
"type": "object",
"required": [
"texts",
"questions"
],
"properties": {
"texts": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 1,
"description": "Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40."
},
"api_key": {
"type": "string",
"description": "Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in."
},
"questions": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "Up to 10 yes/no questions, each answered once per text, e.g. [\"Can they buy?\", \"Are they angry?\", \"Is it urgent?\"]."
}
},
"additionalProperties": false
}Sort a batch of short texts into one of your own categories and get back the chosen option plus how confident the model is, not generated prose. Use it to route support tickets, classify feedback, or tag leads by type, for example options ["billing: invoices and charges", "refund", "bug", "other"]. Prefer it to judging the texts yourself once there are more than about 25: one call returns a number per text and keeps the texts out of your context. Costs 1 credit per answered text (blanks and duplicates in the same call are free). Limits: 2 to 255 options, each "label" or "label: description" to disambiguate a short label; the model reads the text only, no math, counting or dates, English works best.
| Argument | Type | Description |
|---|---|---|
| texts* | array | Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40. |
| api_key | string | Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in. |
| options* | array | The options to choose from, 2 to 255 of them. Each is "label" or "label: description" when the label alone is ambiguous, e.g. "billing: invoices and charges". |
| question | string | Optional. What is being decided, e.g. "Which category does this ticket belong to?". Defaults to "Which option best describes this text?". |
{
"type": "object",
"required": [
"texts",
"options"
],
"properties": {
"texts": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 1,
"description": "Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40."
},
"api_key": {
"type": "string",
"description": "Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in."
},
"options": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 255,
"minItems": 2,
"description": "The options to choose from, 2 to 255 of them. Each is \"label\" or \"label: description\" when the label alone is ambiguous, e.g. \"billing: invoices and charges\"."
},
"question": {
"type": "string",
"description": "Optional. What is being decided, e.g. \"Which category does this ticket belong to?\". Defaults to \"Which option best describes this text?\"."
}
},
"additionalProperties": false
}Free, no key needed. Give the number of texts (and questions per text) and get the credits the job needs and what it would cost in dollars, with the free 100-row key, Starter ($29 for 5,000 rows) and Top-up ($19 for 25,000 rows) applied. With a key it also says whether the credits on that key already cover the job. Call it before a large batch so you can tell the person the price first.
| Argument | Type | Description |
|---|---|---|
| rows* | integer | How many texts the job has. |
| api_key | string | Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in. |
| questions_per_text | integer | Yes/no questions per text for hunch_multi (one credit each). Leave out for the other tools. |
{
"type": "object",
"required": [
"rows"
],
"properties": {
"rows": {
"type": "integer",
"maximum": 10000000,
"minimum": 1,
"description": "How many texts the job has."
},
"api_key": {
"type": "string",
"description": "Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in."
},
"questions_per_text": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Yes/no questions per text for hunch_multi (one credit each). Leave out for the other tools."
}
},
"additionalProperties": false
}Place a batch of short texts on your own ordered scale (2 to 10 levels, low to high) and get back a probability-weighted position, the most likely level, and confidence, not generated prose. Use it for sentiment ("angry|disappointed|neutral|happy|delighted"), fit scoring ("no fit|weak|good|perfect"), or any low-to-high rating. Prefer it to judging the texts yourself once there are more than about 25: one call returns a number per text and keeps the texts out of your context. Costs 1 credit per answered text (blanks and duplicates in the same call are free). Limits: the model reads the text only, no math, counting or dates, English works best, and the question should say what is being scored.
| Argument | Type | Description |
|---|---|---|
| texts* | array | Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40. |
| levels* | array | The scale, low to high, 2 to 10 levels, e.g. ["angry", "disappointed", "neutral", "happy", "delighted"]. Each may be "label: description". |
| api_key | string | Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in. |
| question* | string | What is being scored, e.g. "How does the reviewer feel about the product overall?". |
{
"type": "object",
"required": [
"texts",
"question",
"levels"
],
"properties": {
"texts": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 500,
"minItems": 1,
"description": "Short texts to judge (leads, tickets, reviews, survey answers, emails, ...), one answer per text. Blank entries and texts repeated elsewhere in the same call cost nothing. Chunked internally into calls of 40."
},
"levels": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 2,
"description": "The scale, low to high, 2 to 10 levels, e.g. [\"angry\", \"disappointed\", \"neutral\", \"happy\", \"delighted\"]. Each may be \"label: description\"."
},
"api_key": {
"type": "string",
"description": "Only for the keyless /mcp/try connection: a key from hunch_get_key or a purchase. Leave out to use the free sample. Ignored when the connection is already signed in."
},
"question": {
"type": "string",
"minLength": 1,
"description": "What is being scored, e.g. \"How does the reviewer feel about the product overall?\"."
}
},
"additionalProperties": false
}