{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T17:11:43.158Z","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy","markdownUrl":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy.md","server":{"slug":"com-kalshispy-kalshispy","name":"KalshiSpy","registryName":"com.kalshispy/kalshispy","description":"What Kalshi's top-earning traders won and hold: settled wins free, live markets with an API key.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"kalshispy","type":"remote","identifier":"https://kalshispy.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy","version":"2.1.0","transport":null,"scoredAt":"2026-11-05T09:40:54.891Z"},"score":{"total":85,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":85},{"date":"2026-11-04","total":85},{"date":"2026-11-03","total":84},{"date":"2026-11-02","total":84},{"date":"2026-11-01","total":84},{"date":"2026-10-31","total":83},{"date":"2026-10-30","total":83},{"date":"2026-10-29","total":82},{"date":"2026-10-28","total":82},{"date":"2026-10-27","total":81},{"date":"2026-10-26","total":81},{"date":"2026-10-25","total":80},{"date":"2026-10-24","total":80},{"date":"2026-10-23","total":80},{"date":"2026-10-22","total":79},{"date":"2026-10-21","total":79},{"date":"2026-10-20","total":78},{"date":"2026-10-19","total":78},{"date":"2026-10-18","total":77},{"date":"2026-10-17","total":77},{"date":"2026-10-16","total":76},{"date":"2026-10-15","total":76},{"date":"2026-10-14","total":76},{"date":"2026-10-13","total":75},{"date":"2026-10-12","total":75},{"date":"2026-10-10","total":74}]},"categories":[{"name":"Endpoint Security","score":80,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":62,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1492 tokens (~298/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"298","items":"5","tools":"5","tokens":"1492","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":100,"verdict":"pass","reasons":["No destabilizing schema changes in the last 30 days."],"codes":[{"code":"stability.stable","args":{}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"5"}},{"code":"toolsafety.manipulation_clean","args":{"units":"6","judged":"6"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28)."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"kalshispy","type":"remote","identifier":"https://kalshispy.com/mcp","withdrawn":false,"score":85,"current":true,"url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy","markdownUrl":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy.md"}],"facts":[{"label":"Endpoint","value":"https://kalshispy.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"2.1.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"search_markets","title":"Search Kalshi markets by title or keywords","description":"Find Kalshi markets by title or keywords, the way the KalshiSpy app's search works (a team, a nickname or an approximate title works). WITHOUT an API key it returns SETTLED WINS ONLY: settled markets where KalshiSpy's roster of ID-verified, high-profit Kalshi traders held the winning side (wins only, never a hit rate). WITH an Elite or Lifetime API key the same call also returns OPEN markets in `open_markets`: roster positions and named traders' recent trades on still-open markets, and it costs 1 unit of the daily quota. Always read `data.access`: it says which answer you got and, when a key was refused, why; relay that sentence rather than guessing. Call this first whenever the user names a market in words, send the words under the argument name this tool's own schema gives, and cite each market's kalshi_url. An empty list is never evidence that Kalshi has no such market. For more wins, follow `settled_wins.more`, which carries ready-made search_settled_wins arguments.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Maximum items in each list (settled wins, roster markets, recently traded markets)."},{"name":"query","type":"string","required":true,"description":"Market title or keywords, e.g. \"super bowl\", \"fed rate\" or \"bitcoin\". Terms of 2+ characters, at most 8. All terms must match the title, outcome or tickers."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":303},{"name":"search_settled_wins","title":"Search settled wins (comparable past markets this roster won)","description":"Search KalshiSpy's archive of settled Kalshi markets where its roster of ID-verified, high-profit Kalshi traders held the WINNING side with positive net realized profit. Parameter and field names call these traders \"whales\" (whale_count, min_whales, sort=whales); in prose, call them the roster or the verified traders. Wins only: losses are not archived, so present results as \"what this roster got right on markets like this\", never as a hit rate. Use this BEFORE answering about any current or upcoming Kalshi market: search the same series_ticker (e.g. KXFED, KXNBA) or category and cite the comparable past wins — titles, settlement dates, trader counts and realized profit. Each result carries the Kalshi URL and a kalshispy.com detail URL you can cite. Default window is the last 90 days; widen with `from`/`to` (max 366 days). No API key needed.","inputs":[{"name":"category","type":"string","required":false,"description":"Category key from listCategories (e.g. sports, politics, economics)."},{"name":"cursor","type":"string","required":false,"description":"Opaque cursor from a previous response (`page.next_cursor`). Send it with the SAME filters; changing the query invalidates it."},{"name":"event_ticker","type":"string","required":false,"description":"Kalshi event ticker, e.g. KXFED-26SEP."},{"name":"from","type":"string","required":false,"description":"Start of the settlement window. Default: 90 days before `to`. Clamped to the archive start (2025-01-01) and to a 366-day maximum; the effective window is echoed in `window`."},{"name":"limit","type":"integer","required":false,"description":"Page size: up to 50 with an Elite or Lifetime API key, up to 20 without one (a larger value is lowered to 20)."},{"name":"min_whales","type":"integer","required":false,"description":"Only wins with at least this many roster traders on the winning side."},{"name":"query","type":"string","required":false,"description":"Free-text search. Every term (2+ chars, max 8) must appear as a substring in the title, outcome, event title, series ticker or ticker. Example: \"fed rate\" or \"lakers\"."},{"name":"series_ticker","type":"string","required":false,"description":"Kalshi series ticker, e.g. KXFED, KXNBA. The best way to find \"markets like this one\"."},{"name":"sort","type":"string","required":false,"description":"recent = newest settlement first; profit = largest net profit first; whales = most whales on the winning side first."},{"name":"to","type":"string","required":false,"description":"End of the settlement window (inclusive). Default: now."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":533},{"name":"get_settled_win","title":"Get one settled win by ticker","description":"Full record of one settled Kalshi market this roster won: outcome, consensus, every roster trader on the winning side with their realized profit and picture, close and expiration times, keywords, and `hints.similar` — comparable wins in the same series to judge it against. Returns 404 when the ticker is not an archived win (the roster was not on it, or was on the losing side); the 404 carries a hint to search the series instead. No API key needed.","inputs":[{"name":"ticker","type":"string","required":true,"description":"Kalshi market ticker."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":121},{"name":"list_categories","title":"List categories with settled wins","description":"Every category that has at least one archived win, with win count, net profit and the last settlement time. Use the `key` value as the `category` filter of searchSettledWins. No API key needed.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":53},{"name":"get_stats","title":"Get archive stats","description":"Aggregate figures for the settled-wins archive: markets won, net and winners' realized profit, first and last settlement, a per-category breakdown and the highest-profit traders in the archive. Use it for \"how has this roster done overall\" context, always with the wins-only caveat. `available:false` means the archive has not been published yet. No API key needed.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":84}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T09:40:54.000Z","track":"remote","endpoint":"https://kalshispy.com/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=kalshispy.com","issuer":"CN=YR2,O=Let's Encrypt,C=US","notBefore":"2026-09-07T12:23:00Z","notAfter":"2026-12-06T12:22:59Z","keyType":"RSA","keyBits":2048,"isCa":false},{"subject":"CN=YR2,O=Let's Encrypt,C=US","issuer":"CN=Root YR,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"RSA","keyBits":2048,"isCa":true},{"subject":"CN=Root YR,O=ISRG,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"RSA","keyBits":4096,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"kalshispy.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"kalshispy.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":308},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-10","recent":[{"id":"chg_01a1ab15-3017-74fc-8850-7aaf829a94a2","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a1ab15-3017-74fc-8850-7aaf829a94a2"},{"id":"chg_01a1a5e7-2747-77e3-b4b4-41b864efea6d","kind":"server.version_changed","summary":"Server version (2.1.1 → 2.2.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a1a5e7-2747-77e3-b4b4-41b864efea6d"},{"id":"chg_01a1a5e7-2748-7c28-8eb0-e302f7fffc05","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a1a5e7-2748-7c28-8eb0-e302f7fffc05"},{"id":"chg_01a1a5e7-2749-7e0e-9877-ef0216512956","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a1a5e7-2749-7e0e-9877-ef0216512956"},{"id":"chg_01a19673-5949-7317-bf1f-68b1af61f96e","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a19673-5949-7317-bf1f-68b1af61f96e"},{"id":"chg_01a18c26-cfb1-77e5-a599-75920c3a3275","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-30","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a18c26-cfb1-77e5-a599-75920c3a3275"},{"id":"chg_01a18700-a43c-7f1f-adc3-09065591cf04","kind":"tool.description_changed","summary":"Tool “search_markets” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a18700-a43c-7f1f-adc3-09065591cf04"},{"id":"chg_01a18700-a43f-7e9b-800e-8a5d02b61503","kind":"param.description_changed","summary":"“search_markets” reworded the description of “query”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a18700-a43f-7e9b-800e-8a5d02b61503"},{"id":"chg_01a18700-a440-78eb-858a-51462dfa2b5a","kind":"param.description_changed","summary":"“search_settled_wins” reworded the description of “limit”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a18700-a440-78eb-858a-51462dfa2b5a"},{"id":"chg_01a18700-a441-704d-b90b-29808695684c","kind":"server.version_changed","summary":"Server version (2.1.0 → 2.1.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a18700-a441-704d-b90b-29808695684c"},{"id":"chg_01a18700-a441-7771-86fe-f20bde373d74","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a18700-a441-7771-86fe-f20bde373d74"},{"id":"chg_01a181d8-eb30-7f0a-8893-2953f54f7ac5","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a181d8-eb30-7f0a-8893-2953f54f7ac5"},{"id":"chg_01a17cb0-ac97-7e10-ae6b-fdb429f66267","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a17cb0-ac97-7e10-ae6b-fdb429f66267"},{"id":"chg_01a1778a-752f-70c9-b415-159b4fd3c4ca","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a1778a-752f-70c9-b415-159b4fd3c4ca"},{"id":"chg_01a16817-d67e-744c-a706-b45c9c90d5e7","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a16817-d67e-744c-a706-b45c9c90d5e7"},{"id":"chg_01a15dc8-5993-745c-8bd5-df3007acb230","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-21","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a15dc8-5993-745c-8bd5-df3007acb230"},{"id":"chg_01a15379-f350-7dd2-8a45-ac458f9f40d1","kind":"score.total_changed","summary":"Trust score (77 → 78)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-19","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a15379-f350-7dd2-8a45-ac458f9f40d1"},{"id":"chg_01a1492c-a523-70ef-aebf-d003757294f1","kind":"score.total_changed","summary":"Trust score (76 → 77)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a1492c-a523-70ef-aebf-d003757294f1"},{"id":"chg_01a14289-554d-7cbc-b399-e4b7f9eaa6d4","kind":"server.version_changed","summary":"Server version (2.0.0 → 2.1.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a14289-554d-7cbc-b399-e4b7f9eaa6d4"},{"id":"chg_01a14289-554e-7bb9-a757-3a315343c266","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-16","url":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy#chg-chg_01a14289-554e-7bb9-a757-3a315343c266"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy","markdown":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy.md","changelogJson":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy/changelog.json","changelogRss":"https://verifymcp.io/servers/com-kalshispy-kalshispy/kalshispy.xml","external":[{"label":"Remote endpoint","href":"https://kalshispy.com/mcp"},{"label":"Website","href":"https://kalshispy.com/developers"}]}}