Koskamo

Quorum MCP

An MCP server providing market-evidence tools including search_evidence, get_receipt, category_warmth, compare_formats, and research_product. It allows agents to verify claims against stored records, check evidence thresholds, and initiate data harvests via remote HTTP or local stdio transports.

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.

Quorum MCP logo, by Godzilla-labCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Godzilla-lab
MCP endpoint (Streamable HTTP)
https://quorum-api-j15n.onrender.com/mcp
Vendor documentation

What its tools do

5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (1)

5 of 5 have a description · 5 of 5 declare behavior hints · 5 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for independent evidence records across channels
  • Resolve record IDs to fetch real stored receipts
  • Check category warmth and cost of queries
  • Compare formats like video versus static ads

Source and maintenance

Community listingRegistry 0.1.0
Maintenance checked

Protocol and capabilities

Server
quorum 0.1.0
MCP protocol negotiated in check
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

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

Market evidence with receipts. Search what buyers actually said, resolve any receipt id back to the real record behind it, and check a category's warmth before asking for a report. On a subject nothing is held for, `research_product` starts a harvest and returns at once; the read tools answer while it runs and their counts grow. Every claim these tools return can be independently verified: an id that does not resolve was never real.

Tools

5 advertised

research_product
Advertised by the server during the last successful anonymous check.
Open-world

Start collecting evidence on a product or topic from public sources. RETURNS AT ONCE: the harvest runs in the background, the first records land within a minute, and a full run takes minutes. Then call `search_evidence` or `category_warmth` for the same subject after about 30 seconds and keep calling while the counts grow; stop when they stop. Every receipt returned along the way is already a real record. Calling this twice for one subject joins the same run rather than starting another.

research_product input schema
{
  "type": "object",
  "required": [
    "subject"
  ],
  "properties": {
    "terms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "What to ask about: single concepts like \"sizing\", \"durability\". Optional."
    },
    "subject": {
      "type": "string",
      "description": "A product name, a topic, or a product URL."
    }
  }
}
research_product annotations
{
  "title": "Start a harvest",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search_evidence
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the retained corpus for what people actually said about a product or topic. Returns how many independent records exist, across how many channels, whether that clears the corroboration threshold, and the loudest few quotes with their receipt ids. Costs nothing and touches no network.

search_evidence input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "after": {
      "type": "string",
      "description": "Optional. ISO date (2026-01-31): only records their authors wrote on or after it. Undated records sit inside no window."
    },
    "query": {
      "type": "string",
      "description": "What to look for: \"sizing\", \"battery life\", \"runs small\"."
    },
    "before": {
      "type": "string",
      "description": "Optional. ISO date: only records written on or before it."
    },
    "phrase": {
      "type": "boolean",
      "description": "Optional. Match the words as one ordered phrase, no any word fallback. Build phrases from content words."
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional. Only these sources (reddit, appstore, sec-edgar...)."
    },
    "category": {
      "type": "string",
      "description": "Optional. Narrow to one product category."
    },
    "minChannels": {
      "type": "number",
      "description": "Optional. Demand at least this many distinct channels for a finding verdict. Can only demote."
    },
    "sourceClasses": {
      "type": "array",
      "items": {
        "enum": [
          "consumer_voice",
          "practitioner",
          "institutional"
        ],
        "type": "string"
      },
      "description": "Optional. Filter by what kind of speaker: consumer_voice (reddit, reviews...), practitioner (github...), institutional (regulators, filings)."
    },
    "excludeSources": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional. Drop these sources, e.g. [\"sec-edgar\", \"cpsc\"] to drop the institutional records from a consumer question."
    }
  }
}
search_evidence annotations
{
  "title": "Search the evidence corpus",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_receipt
Advertised by the server during the last successful anonymous check.
Advertised read-only

Resolve receipt ids to the real records behind them. This is how you CHECK a claim: if an id does not resolve, the claim citing it was not real. Takes one id or many. Long records are truncated with notice; pass full: true for complete text.

get_receipt input schema
{
  "type": "object",
  "required": [
    "receiptIds"
  ],
  "properties": {
    "full": {
      "type": "boolean",
      "description": "Return complete record text with no truncation. Default false."
    },
    "receiptIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Receipt ids, as returned by any other tool. Up to 50."
    }
  }
}
get_receipt annotations
{
  "title": "Resolve receipt ids",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
category_warmth
Advertised by the server during the last successful anonymous check.
Advertised read-only

How much is already held for a category, and therefore whether asking about it is instant and free or slow and expensive. Check this BEFORE starting a report. With no category it lists what is held, so orient here instead of guessing slugs.

category_warmth input schema
{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "The category, for example \"running shoes\". Omit to list every held category."
    }
  }
}
category_warmth annotations
{
  "title": "Check category warmth",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_formats
Advertised by the server during the last successful anonymous check.
Advertised read-only

Video versus static advertising for a category, computed from how long real ads actually ran rather than from opinion. Returns a verdict, its confidence, and the ads behind it.

compare_formats input schema
{
  "type": "object",
  "required": [
    "category"
  ],
  "properties": {
    "category": {
      "type": "string",
      "description": "The product category."
    }
  }
}
compare_formats annotations
{
  "title": "Compare ad formats",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

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
545 ms
95th percentile latency
545 ms

Maintenance history

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

  • · probe · passed · 545 ms · metadata changed · 5 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 quorum-mcp https://quorum-api-j15n.onrender.com/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 quorum-mcp --url https://quorum-api-j15n.onrender.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable quorum-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "quorum-mcp": {
      "url": "https://quorum-api-j15n.onrender.com/mcp"
    }
  }
}

Cline

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

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start quorum-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "quorum-mcp": {
      "type": "http",
      "url": "https://quorum-api-j15n.onrender.com/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 quorum-mcp https://quorum-api-j15n.onrender.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://quorum-api-j15n.onrender.com/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": {
    "quorum-mcp": {
      "serverUrl": "https://quorum-api-j15n.onrender.com/mcp"
    }
  }
}

Let your agent find its tools

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