Search / io.github.pipeworx-io/pulse-verity
Pulse Verity
R0· no sign-inPulse Verity — crypto index prices that come with a PROOF.
v0.1.1 · active · repository · website · descriptor JSON · versions
Search / io.github.pipeworx-io/pulse-verity
R0· no sign-inPulse Verity — crypto index prices that come with a PROOF.
v0.1.1 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"pulse-verity": {
"type": "http",
"url": "https://gateway.pipeworx.io/pulse-verity/mcp"
}
}
}claude mcp add --transport http pulse-verity https://gateway.pipeworx.io/pulse-verity/mcp[mcp_servers.pulse-verity]
url = "https://gateway.pipeworx.io/pulse-verity/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pulse-verity": {
"type": "remote",
"url": "https://gateway.pipeworx.io/pulse-verity/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"pulse-verity": {
"type": "http",
"url": "https://gateway.pipeworx.io/pulse-verity/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pulse-verity&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2F0ZXdheS5waXBld29yeC5pby9wdWxzZS12ZXJpdHkvbWNwIn0%3D"
}{
"servers": {
"pulse-verity": {
"type": "http",
"url": "https://gateway.pipeworx.io/pulse-verity/mcp"
}
}
}{
"mcpServers": {
"pulse-verity": {
"httpUrl": "https://gateway.pipeworx.io/pulse-verity/mcp"
}
}
}extensions:
"pulse-verity":
enabled: true
name: "pulse-verity"
type: streamable_http
uri: "https://gateway.pipeworx.io/pulse-verity/mcp"
timeout: 300
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagebet_researchremovedResearch a Polymarket bet by pulling the relevant Pipeworx data for it in one call. Pass a market slug ("will-kristi-noem-win-the-2028-republican-presidential-nomination"), a polymarket.com URL, or a question text. Prefer an UNDATED slug: a dated one ("...-by-june-30-2026") stops resolving the day it settles, because Polymarket de-indexes resolved markets. The tool resolves the market, classifies the bet, fans out to category-specific data packs in parallel, and returns an evidence packet + simple market-vs-model comparison. Use for "should I bet on X", "what does the data say about Y", or "is there edge in Z". CLASSIFIERS: crypto_price, fed_rate, geopolitical, sports, sports_championship, drug_approval, election_candidate, tech_launch, space_launch, corporate, corporate_earnings, corporate_event, public_figure_speech, weather, other. FAN-OUT EXAMPLES: BTC bet → coingecko + fred + gdelt+gnews; Fed bet → fred (DFEDTARU + EFFR + CPIAUCSL) + kalshi_macro (KXFED implied probs) + recent_fed_actions (federal-register rules, last 365d); Hormuz bet → imf_portwatch + airspace + gdelt; Yankees WS → mlb_stats_standings + parent_event partition + news; hottest-year bet → climate_projection_nyc + gistemp_latest (NASA global anomaly, rank since 1880) + news; NVDA-vs-AAPL → finnhub get_quote + edgar shares-outstanding (derived market cap) + edgar filings + news. RESPONSE SHAPES: result.market carries best_bid/best_ask/spread_pp/liquidity/price_change_1h/1d/1w; result.analysis carries model_probability/edge_pp/kelly_fraction_half when a closed-form model fires PLUS a 24h-move warning ("Market moved X.Xpp in 24h, comparable to model edge — your edge may already be priced in") when relevant; result.evidence is keyed by source. RESOLVER CONTRACT: result.market_match_confidence ∈ {high, medium, low, none}, market_match_score (0-1 token-overlap), market_match_alternatives[] (other candidate markets the resolver considered), and suggestions[] (explicit re-query hints when the match is fuzzy) — ALWAYS inspect these before trusting the analysis block, because medium/low matches can still surface other fields. PARENT_EVENT EXTRACTOR: when the bet is one leg of a partition (Yankees WS, Romania election), result.parent_event{matched_candidate, top_legs_by_price[], partition_size, placeholders_filtered} gives you the peer prices in one place — that's the headline for elections/championships. NEWS FIELDS: news entries carry _fallback_attempted / _fallback_failed_reason / retry_after_sec when GDELT 429s and GNews backfill ran or failed. SAFETY: low-confidence resolutions short-circuit with status:"low_confidence_match" and suppress analysis fields so agents can't accidentally size on phantom matches. Closed/dead markets that ARE still indexed by Polymarket (yes_price≈0, no volume, no liquidity) return status:"market_closed_or_inactive" and skip fan-out. A market whose own deadline has already passed returns status:"market_expired_or_resolved" + expired_deadline (the date), which is deliberately NOT the same answer as low_confidence_match: your slug was right and is merely settled, so the useful retry is the successor market for the same question, not a corrected spelling. In practice resolved markets are usually de-indexed and instead surface via one of those two paths — both routes are BLOCKING, just different mechanisms. Wide-spread markets (>10pp) carry tradeability:"illiquid_wide_spread" + an explanatory note. RESOLUTION-RULE RISK: market.cancellation_rule parses the void/postponement settlement out of the resolution text — refund_50_50 (shares settle flat 50¢ on void; EV-material for any entry away from 50¢, with ev_impact quantified), resolves_no_on_cancel, resolves_yes_on_cancel, carries_to_reschedule, or mentioned_unclear. null means the description never mentions cancellation. Check this before sizing sports/esports/event-occurrence bets — audited arb-bot ledgers show flat-50¢ void settlements are a recurring pure-rules loss.
classify_rowremovedCheap categorization: given a company and a list of candidate labels, decide which labels apply — the most common GTM/AI usage shape (tagging a list by industry, ICP fit, etc.), one small model call. Same evidence contract as research_row: each label comes back {label, applies, evidence_url, quote, status: found|inferred|not_established} — "found" only when the model's quote is independently verified as a verbatim substring of the text used. Pass text directly (cheapest — no fetch) or entity.domain to fetch the homepage once as a fallback. No text and no domain means every label is not_established with no model call made.
pulse_key_ringremovedThe public keys Pulse signs its price prints with, as PEM and JWK, plus the signing algorithm and the exact canonical string format — everything needed to verify a signed print yourself, OFFLINE, with no network call to Pulse. Use it to write your own verifier, or to audit what pulse_verify_print (this pack's ready-made offline checker) is checking against. Needs NO API key. Example: pulse_key_ring({}).
pulse_asset_catalogremovedWhich crypto assets the Pulse Verity Index covers, at what grade, across how many venues, and how fast each one actually updates — cadence measured per asset from its own update intervals rather than from a poll schedule. Filter by coverage band (real-time, five-second, ten-second, slow, unavailable) or status (consensus, blended, indicative). Call this to find out whether a symbol is covered, and how thin it is, before quoting it. NOTE: these rows are UNSIGNED, including their prices — read a verifiable number through pulse_signed_price. Requires a Pulse API key via _apiKey. Example: pulse_asset_catalog({ limit: 5 }).
pulse_verify_printremovedCheck whether a Pulse signed price print is authentic and unaltered — pass a print back exactly as a Pulse tool returned it and this recomputes the ECDSA P-256 / SHA-256 signature over the canonical string, entirely OFFLINE with no network call to Pulse. WHAT A valid:true RESULT PROVES: that Pulse asserted this exact price, for this symbol, at this timestamp, at this grade, and that nobody altered any of those fields in transit — it detects a single changed digit of price or a one-millisecond shift in the timestamp. WHAT IT DOES NOT PROVE: that the price is CORRECT or reflects the true market — this checks Pulse's signature, not the world, so a print can verify perfectly and still be a price Pulse itself got wrong. The verification is computed here, not asked of Pulse, so Pulse cannot vouch for a print it never signed and an offline or compromised source cannot turn an invalid print into a valid one. Needs NO API key. Example: pulse_verify_print({ symbol: "BTC", priceText: "76051.0676303142", price: 76051.0676303142, at: "2026-09-16T23:39:30.524Z", grade: "consensus", signature: "wiD005d9...", kid: "pvi-Sl40p5Gj2t_-JyKUhxyg" }).
pulse_settlement_printremovedThe signed index print Pulse RECORDED nearest a past moment — the tool for settling a contract, pricing an option at expiry, or reconstructing what an asset was worth at a specific timestamp. Returns the observation with its original signature intact — verify it offline with pulse_verify_print, no network call — plus delta_ms, the distance between the time you asked for and the print actually returned; it is the nearest recorded print, never a price synthesised at your exact instant. Accepts ISO-8601 or epoch milliseconds. Requires a Pulse API key via _apiKey. Example: pulse_settlement_print({ symbol: "BTC", at: "2026-09-16T21:41:46.000Z" }).
pulse_signed_batchremovedSigned index prices for up to 100 crypto assets in ONE call — each row carries its own signature you can verify individually with pulse_verify_print, offline, with no network call, not just the batch as a whole. Use this instead of looping pulse_signed_price: it is one request against the rate limit and every observation still carries its own signature, grade, venue count and interval. Symbols Pulse does not serve come back named in not_served rather than silently missing. Requires a Pulse API key via _apiKey. Example: pulse_signed_batch({ symbols: ["BTC", "ETH", "SOL"] }).
pulse_signed_priceremovedThe current CRYPTOGRAPHICALLY SIGNED index price for one crypto asset, from the Pulse Verity Index across thousands of assets and dozens of venues — this result carries a signature you can verify: pass it unchanged to pulse_verify_print to check it OFFLINE, with no network call, against Pulse's public key. Each print carries signature, kid, grade, the number of independent venues (sources), dispersion in basis points and a confidence interval. Grades: consensus (3+ venues) and blended (2) are settleable; indicative (1 venue) is NOT. Use it when a price has to be defensible — settlement, an audit trail, a dispute — not merely current. Requires a Pulse API key via _apiKey. Example: pulse_signed_price({ symbol: "BTC" }).
recallremovedRetrieve a value previously saved via remember, or list all saved keys (omit the key argument). Use to look up context the agent stored earlier — the user's target ticker, an address, prior research notes — without re-deriving it from scratch. Scoped to your identifier (anonymous IP, BYO key hash, or account ID). Pair with remember to save, forget to delete.
rememberremovedSave data the agent will need to reuse later — across this conversation or across sessions. Use when you discover something worth carrying forward (a resolved ticker, a target address, a user preference, a research subject) so you don't have to look it up again. Stored as a key-value pair scoped by your identifier. Authenticated users get persistent memory; anonymous sessions retain memory for 24 hours. Pair with recall to retrieve later, forget to delete.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-98% +updated-24d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://gateway.pipeworx.io/pulse-verity/mcp streamable-http | none | yes | 98% | 36 ms | 2025-03-26 | 2026-10-20 |
No tools observed. Tools appear once a credential-free probe can list them.
Schemas: list_tools.
And 1,855 more from this publisher.
{
"name": "io.github.pipeworx-io/pulse-verity",
"title": "Pulse Verity",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://gateway.pipeworx.io/pulse-verity/mcp",
"type": "streamable-http"
}
],
"version": "0.1.1",
"repository": {
"url": "https://github.com/pipeworx-io/mcp-pulse-verity",
"source": "github"
},
"websiteUrl": "https://pipeworx.io/packs/pulse-verity",
"description": "Pulse Verity — crypto index prices that come with a PROOF."
}