io.github.evolutionlabs-dev/signal-bureau
io.github.evolutionlabs-dev/signal-bureau · v1.1.1
SigB (Signal Bureau): maintained, source-traced record of entities and events in your named domain.
MCPremoteno credentialsE-commerce
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 29 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
A 95/100
What it does: 29 tools · 21 read, 8 write (incl. delete/pay) · E-commerce
Test call get_topic_record: worked (1,511 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +6
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +9
- Read/write annotations: +5
- Safe test call: +20
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://api.signalbureau.ai/api/mcpTools
29 tools listed at last check
start_hereSTART HERE — first call, no arguments, no key, no charge. Who Signal Bureau is and what we are not, the tests you can run to check that claim yourself, what is free (most of it), what is paid (Watches and Reads) at live published prices, how to propose coverage we don't carry, and how buying works.traverseTo see how the record fits together, start at an entity or event (e.g. Hormuz) and traverse its maintained relationships; each step returns its relation type, receipts, standing and time. Walk the maintained record node to node. Opens ONE node (schema sb.node.v1): an entity, a situation, a corroborasearch_entitiesFind tracked entities/topics by name or vertical (e.g. 'iran', 'semiconductors'). Every row is self-describing: canonicalId (sb:e/..., the durable identity the traverse door serves; slug is a discovery input and may change), aliases, addresses, and counts.attention.current (tracked coverage on the dget_entityFull dossier for one entity: its canonical identity (canonicalId sb:e/... is durable and equals the traverse node id; slug is a discovery input and may change; aliases; addresses for the page, the node door and MCP), self-describing counts — counts.attention.current (documents and coverage verticalsget_topic_recordThe maintained record for one subject — the ONE file its /exhibit page renders from and GET /api/record/{slug} serves (the earlier names get_truth_record and GET /api/truth/{slug} answer identically, permanently), so their numbers agree by construction and a value-parity gate fails the build if theyget_eventsTracked world events (situations, races, negotiations) the engine follows as named arcs — each with its entities, related market-question count, cross-domain mention volume, and first/last-seen dates. Optional query filters by name or entity.get_signalsSTART HERE for browsing — the cheap read (500/day, no model work). The full machine-readable signal feed (same payload as GET /api/signals): every entity currently flagged by the attention engine, with trajectory, domains, desk membership, canonical identity (canonicalId sb:e/..., durable; slug maytop_acceleratingThe entities/topics accelerating most across the information environment right now, ranked by cross-domain attention. Every row is self-describing: canonicalId (sb:e/..., the durable identity the traverse door serves; slug is a discovery input and may change), aliases, addresses, and counts.attentiotodays_briefToday's morning brief — the daily synthesized narrative of what moved across the information environment and what to watch, from the engine's cross-domain analysis. Same content as the public /today page. Carries `gaps` (where prediction-market money and the day's coverage disagree) and `watch` (whaaskAsk what the tracked record shows about a named entity or unfolding event: what changed, what the record holds now, and which sources corroborate it. Not general knowledge or history — grounding is live tracked coverage. 25 questions a day per network address need no key; then each costs one Read onget_answerCollect an async answer by ticketId (from ask). Free and unmetered — the work was paid for once at submit. status:'working' → poll again after pollAfter seconds; 'done' → the complete answer rides in this response; 'failed' or 'lost' → the reason, stated plainly, and asking again is the remedy.get_corroboratedWhat separate sources agreed on in the published window — the maintained record's corroboration layer. Each event carries the claim as its sources state it, the corroboration tier, two counts — publisherCount (distinct outlets that carried it) and originCount (separate evidentiary origins: a wire reget_recordThe correction record: the flagged-vs-control repricing regression at population level (estimate, 95% CI, cohort sizes, window, as-of), plus the dated retirement object for the case-study track record we withdrew in 2026 when re-measurement put it under our own publication bar. Appended, never editeget_calibrationThe grading dataset for the market sensor we cite, and only that — the prediction-market price (`crowd`) and the naive null it is scored against (`base_rate`), against how reality resolved (Brier score, log loss, skill vs base rate, 95% CIs), each price captured while its market was OPEN and gradedget_quoteFeed in your requirements — free-form concerns, questions, whole areas of interest — and get back an enumerated quote: your requirements intelligently grouped and disambiguated into well-formed watched topics, then checked BY CODE, topic by topic, against what we actually read: a topic is priced ($2create_orderAssemble a basket and get exact prices plus Stripe checkout links. Checkout runs on Stripe's hosted page, completed by whoever holds the payment credentials. Pass dryRun:true to REHEARSE: same validation, same price math, clearly labeled, no order recorded, no links issued, nothing billed — integratget_orderRe-read an order intent created by create_order — the recorded basket and its honest status. Poll it after forwarding create_order's `handoff` note: it re-resolves each topic's payment link against the current registry, so a link still being minted shows up here when ready. Payment status for checkoget_accountYour meter-account statement, live: month-to-date metered Reads counted at the published tariff, your watched topics with billing/billing status and their acceptance evidence, and your daily cap. Requires your identified key on the request (x-api-key header, or authorization: Bearer sb_live_...). Wilist_standard_watchesWatches: configure and unfurl free; saving is the paid step. The free standard Watches, each with every coordinate explicit and a `reading` state (`available`: it has a reading today; `not-yet-projected`: configurable and free to unfurl, but it answers cannot-measure until its reading is built), pluunfurl_watchWatches: configure and unfurl free; saving is the paid step. Configure a Watch and run it once, without saving: the governed reading (sb.watch-reading.v1) plus a line per coordinate saying whether it was applied. Free, as often as you like; no key. Either start from a standard Watch (base; these reasave_watchWatches: configure and unfurl free; saving is the paid step. Save a Watch to your key so you can recall it from any door and be told what changed since your last delivery. Saving is the paid step, at the published Watch rate per saved Watch per month (see list_standard_watches terms); with no free plist_saved_watchesWatches: configure and unfurl free; saving is the paid step. Your saved Watches, newest version of each, active and retired. Needs your key. Same content as GET /api/v1/watches.recall_watchWatches: configure and unfurl free; saving is the paid step. Recall a saved Watch: its reading now (sb.watch-reading.v1) and what changed since the last time it was delivered to you. Recording this delivery is what makes the next recall's change exact. Needs your key. Same content as GET /api/v1/watretire_watchWatches: configure and unfurl free; saving is the paid step. Retire a saved Watch: it stops being recallable and frees its paid slot. Nothing is deleted; its versions and deliveries are kept. Needs your key. Same content as POST /api/v1/watches/%7BwatchId%7D with {"action":"retire"}.get_watch_feedThe structured daily delivery for a machine-watched topic: up to 14 days of observed items (title, url, source, date) newest-first, plus the topic's live coverage-acceptance report, which grades the coverage and shows the evidence (it does not gate billing — billing starts when the Watch starts, andget_desk_feedA newsletter DESK's machine feed at one predictable, slug-addressable location: up to 14 days of the desk's observed items (title, url, source), newest-first, from the same panel the human edition reads. Unlike watch topics, the desk roster is PUBLIC PRODUCT — the desks are: cognitive-investor, tax-send_feedbackFile structured feedback with the desk: a bug, an improvement, a complaint, praise, or a question about the service itself. Free, no contact details required. Plan ONE call per report: each call is a separate write (many clients ask your user to confirm each one), so put everything in one. Caps, staget_feedback_statusThe state of a report you filed via send_feedback, by its feedbackId: filed, working, or resolved — with its work-order reference. A report filed in the last few hours may still read 'filed'; the response states where it is.propose_topicPropose NET-NEW coverage — a topic, entity, or standing question we don't track yet. Records a coverage request as a work order and returns its id. A daily machine pass matches it against coverage we keep; you get one status email when it matches, or a plain status at 30 days (not yet covered, with
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.github.evolutionlabs-dev/signal-bureau)