Group decisions in one link: polls, who's-in check-ins, find-a-time, and rankings. No sign-up.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
Stop accepting responses. Results stay visible. Requires the admin_token.
The admin_token returned by create_decision.
Decision id or SettleIt link, e.g. "AbC123xYz9" or "https://settleit.now/p/AbC123xYz9".
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http settleit https://settleit.now/mcp
Stop accepting responses. Results stay visible. Requires the admin_token.
| Argument | Type | Description |
|---|---|---|
| admin_token* | string | The admin_token returned by create_decision. |
| decision_id* | string | Decision id or SettleIt link, e.g. "AbC123xYz9" or "https://settleit.now/p/AbC123xYz9". |
{
"type": "object",
"required": [
"decision_id",
"admin_token"
],
"properties": {
"admin_token": {
"type": "string",
"description": "The admin_token returned by create_decision."
},
"decision_id": {
"type": "string",
"description": "Decision id or SettleIt link, e.g. \"AbC123xYz9\" or \"https://settleit.now/p/AbC123xYz9\"."
}
},
"additionalProperties": false
}Create a poll, check-in, availability board, or ranking and get a link to share with the group. Easiest: pass `text` in plain language and SettleIt infers the type and options, e.g. "Dinner: pizza or thai" (poll), "Who's in for bowling Thursday?" (checkin), "Find a time for dinner next week" (availability), "Rank snacks: chips, popcorn, pretzels" (ranking). For exact control, pass `question` plus `options` (2-5 for polls, 2-12 for rankings); with `question` alone you get a check-in. Availability must be created from `text`. For availability, also pass the user's `timezone` (IANA name, e.g. "America/Los_Angeles") so the time slots are in their local time; without it slots are in UTC. Returns the decision (share its `url`), plus an `admin_token` and `manage_url` to keep private.
| Argument | Type | Description |
|---|---|---|
| text | string | Plain-language prompt. Max 200 characters except rankings. |
| type | string | Force a type. Optional with text. |
| options | array | Unique choices, used with question. |
| question | string | |
| timezone | string | Availability: the user's IANA time zone, e.g. "America/Los_Angeles". Slots and words like "tomorrow" use it. Defaults to UTC. |
| closes_in_minutes | integer | Polls only: auto-close after this many minutes. |
{
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "Plain-language prompt. Max 200 characters except rankings."
},
"type": {
"enum": [
"poll",
"checkin",
"availability",
"ranking"
],
"type": "string",
"description": "Force a type. Optional with text."
},
"options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 12,
"description": "Unique choices, used with question."
},
"question": {
"type": "string",
"maxLength": 200,
"minLength": 2
},
"timezone": {
"type": "string",
"maxLength": 64,
"description": "Availability: the user's IANA time zone, e.g. \"America/Los_Angeles\". Slots and words like \"tomorrow\" use it. Defaults to UTC."
},
"closes_in_minutes": {
"type": "integer",
"maximum": 10080,
"minimum": 10,
"description": "Polls only: auto-close after this many minutes."
}
},
"additionalProperties": false
}Permanently delete a decision and all its responses. The share link stops working. This cannot be undone, so confirm with the user first. Requires the admin_token.
| Argument | Type | Description |
|---|---|---|
| admin_token* | string | The admin_token returned by create_decision. |
| decision_id* | string | Decision id or SettleIt link, e.g. "AbC123xYz9" or "https://settleit.now/p/AbC123xYz9". |
{
"type": "object",
"required": [
"decision_id",
"admin_token"
],
"properties": {
"admin_token": {
"type": "string",
"description": "The admin_token returned by create_decision."
},
"decision_id": {
"type": "string",
"description": "Decision id or SettleIt link, e.g. \"AbC123xYz9\" or \"https://settleit.now/p/AbC123xYz9\"."
}
},
"additionalProperties": false
}Read a decision and its current results: votes and leaders for polls, rankings with points, In/Maybe/Out names for check-ins, and per-slot counts plus best_slot_ids for availability. Also returns the option or slot ids that respond_to_decision needs.
| Argument | Type | Description |
|---|---|---|
| decision_id* | string | Decision id or SettleIt link, e.g. "AbC123xYz9" or "https://settleit.now/p/AbC123xYz9". |
{
"type": "object",
"required": [
"decision_id"
],
"properties": {
"decision_id": {
"type": "string",
"description": "Decision id or SettleIt link, e.g. \"AbC123xYz9\" or \"https://settleit.now/p/AbC123xYz9\"."
}
},
"additionalProperties": false
}Accept responses again after closing (clears an automatic close time that has passed). Requires the admin_token.
| Argument | Type | Description |
|---|---|---|
| admin_token* | string | The admin_token returned by create_decision. |
| decision_id* | string | Decision id or SettleIt link, e.g. "AbC123xYz9" or "https://settleit.now/p/AbC123xYz9". |
{
"type": "object",
"required": [
"decision_id",
"admin_token"
],
"properties": {
"admin_token": {
"type": "string",
"description": "The admin_token returned by create_decision."
},
"decision_id": {
"type": "string",
"description": "Decision id or SettleIt link, e.g. \"AbC123xYz9\" or \"https://settleit.now/p/AbC123xYz9\"."
}
},
"additionalProperties": false
}Record one person's answer, only when that person asked you to. Which fields you need depends on the decision's type (get_decision shows it in `respond.fields`): - poll: voter_id + option (exact label) or option_id - ranking: voter_id + order (every option label or id, best first) - checkin: name + status (in, maybe, out) - availability: name + slot_ids (from get_decision `slots`) Answering again with the same voter_id or name (case-insensitive) replaces that person's earlier answer.
| Argument | Type | Description |
|---|---|---|
| name | string | checkin, availability: the person's name. |
| order | array | ranking: every option label or id, best first. |
| option | string | poll: exact option label. |
| status | string | checkin |
| slot_ids | array | availability: every slot the person can make. |
| voter_id | string | poll, ranking: stable id for the person, e.g. their name. |
| option_id | integer | poll: option id (alternative to option). |
| decision_id* | string | Decision id or SettleIt link, e.g. "AbC123xYz9" or "https://settleit.now/p/AbC123xYz9". |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.
{
"type": "object",
"required": [
"decision_id"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"description": "checkin, availability: the person's name."
},
"order": {
"type": "array",
"items": {
"type": [
"string",
"integer"
]
},
"description": "ranking: every option label or id, best first."
},
"option": {
"type": "string",
"description": "poll: exact option label."
},
"status": {
"enum": [
"in",
"maybe",
"out"
],
"type": "string",
"description": "checkin"
},
"slot_ids": {
"type": "array",
"items": {
"type": "integer"
},
"description": "availability: every slot the person can make."
},
"voter_id": {
"type": "string",
"maxLength": 128,
"description": "poll, ranking: stable id for the person, e.g. their name."
},
"option_id": {
"type": "integer",
"description": "poll: option id (alternative to option)."
},
"decision_id": {
"type": "string",
"description": "Decision id or SettleIt link, e.g. \"AbC123xYz9\" or \"https://settleit.now/p/AbC123xYz9\"."
}
},
"additionalProperties": false
}