StackVersus MCP
A free, read-only remote MCP server providing verified SaaS pricing, plan limits, and rate limits for over 100 products including AI assistants and LLM APIs. It enables agents to search limits, retrieve tool records, compare products, and check for recent changes, with all data sourced directly from vendor pages.
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.
https://getstackversus.com/api/mcpWhat you can do with it
- Search for specific SaaS plan limits and pricing details
- Compare multiple software tools side-by-side
- Retrieve verified records for a specific product including overage rules
- Check for recent price and limit changes in AI plans
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- stackversus-limits 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
list_datasets — List datasets
Read-only catalog of the datasets on this server. Returns one row per dataset with `id` (the value other tools accept as `dataset`), `title`, `kind`, `tools` (number of products), `plans` (number of plans), `updated` (date of the last verified change), `page` URL and `json` endpoint on getstackversus.com, plus `generated` (build date). Currently 9 datasets: AI assistant and coding-agent plan limits, SaaS usage limits, LLM API token prices, voice-agent $/min, AI media credits, search APIs, scraping platforms and proxies, email platforms. No parameters, no auth, no pagination; the whole catalog comes back in one call. Use it once to learn dataset ids; use list_tools to see the products inside one dataset.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_tools — List products in a dataset
Read-only list of the products (vendors) covered, to look up ids before calling get_tool or compare_tools. Returns `count` and `tools`, each with `id`, `name`, `vendor`, `dataset`, `checked` (date the vendor page was last read), `plans` (count) and `page` URL; no prices or limits, those live in get_tool. Without `dataset` it returns every product across all datasets (about 100 rows); with `dataset` only that one. Not paginated, no auth, no side effects. When the user already names a product, skip this and call get_tool or search_limits directly.
{
"type": "object",
"properties": {
"dataset": {
"enum": [
"ai-plans",
"usage",
"email-sending",
"llm-apis",
"media",
"plans-new",
"scraping-proxies",
"search-apis",
"voice"
],
"type": "string",
"description": "Dataset id to list. One of: ai-plans, usage, email-sending, llm-apis, media, plans-new, scraping-proxies, search-apis, voice. Omit to cover every dataset."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_tool — Get one product record
Read-only full verified record for one product. Returns `matches` and up to 3 `records`; each record has `dataset`, `plans` (name, monthly and annual price, metering unit, limits per window), `rates` (per-unit prices such as $/min or $/1M tokens, each with the vendor `quote`), `free` tier, `overage` policy, `gotchas` (billing traps), `sources` (URLs) and `checked` date. Match by id (e.g. "claude", "cursor", "vapi", "openai-api") or by product name, case-insensitive; exact match wins, otherwise a substring match. Returns an error listing the candidates when the name is ambiguous or unknown. Prices are USD. `published: false` means the vendor states no number and the `value` is their wording; never estimate from it.
{
"type": "object",
"required": [
"tool_id"
],
"properties": {
"dataset": {
"enum": [
"ai-plans",
"usage",
"email-sending",
"llm-apis",
"media",
"plans-new",
"scraping-proxies",
"search-apis",
"voice"
],
"type": "string",
"description": "Dataset id to search in, when the same id exists in several. One of: ai-plans, usage, email-sending, llm-apis, media, plans-new, scraping-proxies, search-apis, voice. Omit to cover every dataset."
},
"tool_id": {
"type": "string",
"description": "Product id from list_tools, or the product name (e.g. \"cursor\", \"Retell AI\", \"gemini-api\")."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_limits — Search limits and prices
Read-only keyword search across every plan, limit, rate, free tier, overage rule and gotcha in all datasets. Best first call for a question like "Cursor Pro requests per month", "Retell cost per minute" or "Gemini API free tier RPM". Returns `query`, `relaxed` (true when fewer than all words matched), `total`, `shown` and `rows`, each with `type` (plan, limit, rate, free, overage, unit or gotcha), `tool`, `tool_id`, `dataset`, `plan` and/or `metric`, `value`, `unit`, `published`, vendor `quote`, `sourceUrl`, `checked` date and `page`. Matching is case-insensitive on whole words; words that name a product must all match, other words are matched strictly first and then relaxed to at least half of them. At most `limit` rows (default 20, max 50), ranked by match quality; no pagination. Returns an empty `rows` array, not an error, when nothing matches; then try list_tools to find the product id and call get_tool.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Maximum rows to return."
},
"query": {
"type": "string",
"minLength": 2,
"description": "Plain words: vendor, plan and metric, e.g. \"cursor pro requests\" or \"vapi per minute\". No operators."
},
"dataset": {
"enum": [
"ai-plans",
"usage",
"email-sending",
"llm-apis",
"media",
"plans-new",
"scraping-proxies",
"search-apis",
"voice"
],
"type": "string",
"description": "Dataset id to narrow the search to. One of: ai-plans, usage, email-sending, llm-apis, media, plans-new, scraping-proxies, search-apis, voice. Omit to cover every dataset."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_tools — Compare products side by side
Read-only compact comparison of 2 to 6 products. Returns `compared` (count), `missing` (ids not found, never an error), `note` and `tools`, one compact record each: id, name, dataset, `checked` date, every plan with price and its headline limits or rates, `free` tier and `overage` policy. Products may come from different datasets. Platform fees and pass-through costs (LLM tokens, speech, telephony) stay separate rows; sum them yourself when the user wants an all-in figure. Ids as returned by list_tools or search_limits; a product name also works. Prices USD.
{
"type": "object",
"required": [
"tool_ids"
],
"properties": {
"tool_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"minItems": 2,
"description": "Two to six product ids or names, e.g. [\"vapi\", \"retell\", \"elevenlabs-agents\"]."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_changes — List recent price and limit changes
Read-only dated change log for the AI assistant and coding-agent plans dataset ("ai-plans" only; other datasets carry a `checked` date but no history yet). Returns `since` (cut-off date), `count`, `changelog` URL and up to 60 `changes`, newest first, each with `date`, `tool`, `tool_id`, `plan`, `field`, `old`, `new`, vendor `source` URL, `method`, `note` and `page`. By default covers the last 30 days and only real moves: price changes, limit changes, plans added or removed. Set `include_wording` to also get re-verification rows where only the vendor wording changed or a value was recorded for the first time. Use it for "what changed in the Claude plans this month" or to check whether a figure from get_tool moved recently.
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"default": 30,
"maximum": 730,
"minimum": 1,
"description": "Look-back window in days."
},
"tool_id": {
"type": "string",
"description": "Only changes for this product id (as in list_tools, e.g. \"claude\", \"chatgpt\", \"cursor\")."
},
"include_wording": {
"type": "boolean",
"default": false,
"description": "Also include re-verification rows that only changed wording or were recorded for the first time."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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
- 1122 ms
- 95th percentile latency
- 1122 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1122 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http stackversus-mcp https://getstackversus.com/api/mcpCodex
codex mcp add stackversus-mcp --url https://getstackversus.com/api/mcpCursor
{
"mcpServers": {
"stackversus-mcp": {
"url": "https://getstackversus.com/api/mcp"
}
}
}Cline
{
"mcpServers": {
"stackversus-mcp": {
"type": "streamableHttp",
"url": "https://getstackversus.com/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"stackversus-mcp": {
"type": "http",
"url": "https://getstackversus.com/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http stackversus-mcp https://getstackversus.com/api/mcpClaude Desktop
{
"mcpServers": {
"stackversus-mcp": {
"url": "https://getstackversus.com/api/mcp"
}
}
}Windsurf
{
"mcpServers": {
"stackversus-mcp": {
"serverUrl": "https://getstackversus.com/api/mcp"
}
}
}Let your agent find its tools
Find servers like StackVersus MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.