Koskamo

SettleIt MCP

An official MCP server for SettleIt that allows AI agents to create, manage, and retrieve results for group decision-making tools including polls, check-ins, availability finders, and rankings without requiring user sign-up.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

SettleIt MCP logo, by SettleItVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by SettleIt
MCP endpoint (Streamable HTTP)
https://settleit.now/mcp
Vendor documentation

What you can do with it

  • Create polls to let groups vote on options like dinner spots
  • Generate check-in links to track who is attending an event
  • Find available time slots for group meetings across time zones
  • Rank options by collecting ordered preferences from participants

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
settleit 1.0.0
MCP protocol
2025-06-18
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

SettleIt settles group decisions with one shareable link, and nobody needs an account. Decision types: poll (pick one option), checkin (In / Maybe / Out headcount), availability (find a time), ranking (order options best-first). Typical flow: create_decision, give the group the returned `url`, then get_decision later to report results. Rules: - Only respond on someone's behalf when that person asked you to. Use one stable voter_id per human (their name works). Responding again with the same voter_id or name replaces their earlier answer. Never invent extra voters. - Keep admin_token and manage_url private: share only `url` with the group. Save admin_token if the user may want to close, reopen, or delete the decision later. - decision_id accepts a bare id or any SettleIt link, e.g. https://settleit.now/p/AbC123xYz9. - Questions and options can't contain URLs, email addresses, or phone numbers. - For availability, pass the user's IANA `timezone` (e.g. America/New_York) to create_decision so slots are in their local time.

Tools

6 advertised

create_decision — Create a group decision
Advertised by the server during the last successful anonymous check.
Open-world

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.

create_decision input schema
{
  "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
}
create_decision annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_decision — Get decision results
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_decision input schema
{
  "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
}
get_decision annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
respond_to_decision — Respond on behalf of a person
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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.

respond_to_decision input schema
{
  "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
}
respond_to_decision annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}
close_decision — Close a decision
Advertised by the server during the last successful anonymous check.
Open-world

Stop accepting responses. Results stay visible. Requires the admin_token.

close_decision input schema
{
  "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
}
close_decision annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
reopen_decision — Reopen a decision
Advertised by the server during the last successful anonymous check.
Open-world

Accept responses again after closing (clears an automatic close time that has passed). Requires the admin_token.

reopen_decision input schema
{
  "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
}
reopen_decision annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
delete_decision — Delete a decision
Advertised by the server during the last successful anonymous check.
Advertised destructiveOpen-world

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.

delete_decision input schema
{
  "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
}
delete_decision annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
318 ms
95th percentile latency
318 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 318 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http settleit-mcp https://settleit.now/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add settleit-mcp --url https://settleit.now/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable settleit-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "settleit-mcp": {
      "url": "https://settleit.now/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "settleit-mcp": {
      "type": "streamableHttp",
      "url": "https://settleit.now/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start settleit-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "settleit-mcp": {
      "type": "http",
      "url": "https://settleit.now/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http settleit-mcp https://settleit.now/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "settleit-mcp": {
      "url": "https://settleit.now/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "settleit-mcp": {
      "serverUrl": "https://settleit.now/mcp"
    }
  }
}

Let your agent find its tools

Find servers like SettleIt MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run SettleIt MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing