Just talk to it.
Connect ChatGPT, Claude, or Gemini to this site with a single URL. Then ask your assistant anything about the race to cure human disease — it reads the live MIND and Hope signals directly, always current. No account. No API key. No copy-pasting.
https://negativeresistance.com/api/v1/mcp- 1Open Claude, then go to Settings → Connectors.
- 2Click “Add custom connector.”
- 3Paste the connection URL above and save.
- 4In any chat, open the + menu → Connectors, switch it on, and ask away.
- 1Create a GPT → Configure → Actions → "Import from URL."
- 2Paste the schema URL below, set Authentication: None, and save. Then share the GPT with anyone.
https://negativeresistance.com/api/v1/openapi.json- 1A workspace admin turns on Developer mode for custom connectors.
- 2Add a custom connector, paste the connection URL above, set Authentication: None.
- 3Turn it on from the chat composer's tools menu, then ask.
- 1Open your Gemini CLI settings file (
~/.gemini/settings.json). - 2Add the
mcpServersblock below, then restart the CLI.
{
"mcpServers": {
"negative-resistance": {
"httpUrl": "https://negativeresistance.com/api/v1/mcp"
}
}
}The consumer gemini.google.com web app doesn’t support custom connectors yet — this works in the Gemini CLI, the Gemini API, and the SDKs. We’ll add web-app steps here the moment Google ships them.
Any MCP-capable client works the same way — paste the one URL. The connection is read-only: your assistant can read live data, but can never change anything here.
These are the exact tools the connection exposes. This list is generated from the live server, so it is never out of date.
USE WHEN the question is about the AI economy: where money, infrastructure, networks and data are moving, and how concentrated that movement is. Returns counts, directional pulse, a sparkline, a diversity/conscience index and top signals for each of the four capitals (M=Money, I=Infrastructure, N=Networks, D=Data) over a trailing window. NEXT: call get_trends_signal for feed shape and the crypto-distribution lens, or get_batch_signals to pull all three signals in one round-trip. This measures published attention and announced capital — not settled transactions.
get_mind_signalUSE WHEN you want the headline picture of cure progress: how much active clinical-trial activity exists overall and per disease, plus the latest curated cure-research index. This is a SUMMARY signal. NEXT: for actual trial records, worldwide and deduplicated, call search_world_trials; for the structure of a field call get_trial_landscape. IMPORTANT: the trial counts here come from a US ClinicalTrials.gov census that is deliberately kept separate from the multi-registry world index — never add the two together.
get_hope_signalUSE WHEN you need attention dynamics rather than levels: what is accelerating or decelerating in coverage, and where attention concentrates across categories and research domains (7-day momentum, 30-day daily series). Also returns the curated 2026 crypto token-generation-event list scored by how much capital widens access versus concentrates in insiders, contrasted with live cure-research capital. NEXT: get_mind_signal for the capital levels behind the momentum. Set series=false to slim the payload.
get_trends_signalUSE WHEN you want to orient on the whole platform in one call, or you are rate-limit sensitive: returns the MIND, Hope and Trends signals together and costs ONE rate-limit slot instead of three. Each signal arrives as its own sub-envelope, so a single upstream failure degrades that one section instead of failing the call — check each sub-envelope before relying on it. NEXT: drill into whichever signal mattered, or into search_world_trials for trial-level evidence.
get_batch_signalsPRIMARY TRIAL TOOL. USE WHEN you need actual clinical-trial RECORDS for a disease, intervention, sponsor, country or date window. Searches DISTINCT real-world trials across the admitted PRIMARY registries — ClinicalTrials.gov (US NIH) and ISRCTN (UK) — deduplicated by exact cross-registry identifier match, so a trial registered twice is returned ONCE, not twice. Secondary aggregators are deliberately excluded, so the index is registry-authoritative but NOT a census of every country. Every result is evidence-ready: canonical id, normalized status/phase/study type/enrollment/countries/primary endpoints, the registries that hold it, source URLs, retrieval timestamps, payload checksums and a quotable `citation` block. HOW TO NARROW: use q for the disease, then intervention to separate MODALITIES within that disease (e.g. "stem cell", "encapsulation", "gene edit", "xenotransplant") — running several intervention-scoped searches is how you build a comparative landscape. Use status="active" for currently-running human studies. SCOPE WARNING: omit `registry` to keep the answer worldwide; supplying it makes the result single-registry evidence and you must label it as such. PAGINATION: page/pageSize (max 100); the response _meta.pagination tells you totalItems, hasMore and the exact next URL — keep going until hasMore is false. NEXT: get_world_trial for one trial's full per-registry provenance and raw payload; get_trial_coverage to learn how much of your result set is duplicate registrations; get_trial_landscape for the derived shape (phase mix, sponsors, reporting gap, momentum); find_trial_registrations to see every registry one trial appears in.
search_world_trialsUSE WHEN you already have a canonicalId (from search_world_trials or find_trial_registrations) and need the COMPLETE record: all normalized fields plus every source record behind it — registry, source id, source URL, retrieval timestamp and payload checksum. Set includeRaw=true to get the untouched registry payload we stored (after contact-field redaction) so you can verify a specific claim field-by-field; that is the strongest evidence available here. NEXT: find_trial_registrations to see whether the same real-world trial is registered elsewhere; get_registry_sources for the licence and sync state of the registry it came from.
get_world_trialUSE WHEN you have a trial (canonicalId from search_world_trials) and need the PUBLISHED RESEARCH around it, or when you want to find related registrations in registries this index does not ingest. Returns three separately-labelled layers: (1) registryDeclared — publications the registry record itself declares, with kind=results/background/derived/protocol, the strongest available evidence that a trial reported; (2) literature — Europe PMC records whose indexed text or accession list mentions one of the trial’s registration identifiers, with journal, year, DOI/PMID, open-access flag and citation count; (3) crossRegistryMentions — OTHER registry identifiers (ANZCTR, ChiCTR, JPRN, DRKS, CTRI, CTIS and more) found in the title/abstract of that literature, each flagged inIndex true/false. THIS IS A SIDECAR: nothing it returns is in the trial index or in any count, and an identifier with inIndex=false is a literature mention only — never report it as a trial this index holds. NEXT: get_world_trial for the canonical record, find_trial_registrations to check for double-counting.
get_trial_related_researchUSE BEFORE STATING ANY WORLDWIDE COUNT. Answers: how many DISTINCT trials exist for this query across every registry in the index, how many are the same trial registered more than once, which trials are exclusive to each registry, and exactly how much you would have overcounted by querying each registry separately and adding the results (`inflation`). This is the tool that stops you turning separate registry totals into one wrong number. Accepts the same filter vocabulary as search_world_trials so a coverage figure always describes the population you actually searched. NEXT: search_world_trials for the records themselves, get_trial_landscape for their structure.
get_trial_coverageUSE WHEN you need the SHAPE of a research field rather than a list of its members: phase / status / study-type mix, sponsor concentration, enrollment scale, the completed-but-unreported results gap, momentum over 30/90/365 days, and a real diff against a stored earlier snapshot. READ `fieldCompleteness` BEFORE QUOTING ANY DISTRIBUTION — if phase is recorded for a quarter of a registry's records, the phase mix describes that quarter, not the field. `evidenceGap` reports the reporting failure per registry and deliberately refuses to publish a combined figure when the registries' results flags are not comparable. NEXT: search_world_trials to inspect the trials behind a bucket, get_trial_coverage to check how much of the population is duplicate registrations.
get_trial_landscapeUSE WHEN you hold ONE registry identifier (from a paper, a news story, another database) and need to know whether it is the same real-world study as another identifier, or where else it is registered. Give any known id — NCT, ISRCTN, EUCT or EudraCT — and get back the canonical trial, every registry that holds it, the exact identifier evidence linking those registrations, and which registries it is absent from. Absence means absent from OUR index of that registry, not proof it was never registered there. NEXT: get_world_trial with the returned canonicalId for the full record.
find_trial_registrationsSTART HERE when orienting on the trial corpus. Returns the total source-record count, the deduplicated canonical trial count, how many are currently active, the per-registry attribution, and the curated topic ids you can pass as `topic` to the other trial tools. Counts are never summed across registries — each registry's contribution is reported separately alongside the distinct total. NEXT: search_world_trials to query it, get_registry_sources for licence and sync freshness per registry.
get_trial_statsUSE BEFORE PRESENTING TRIAL EVIDENCE AS CURRENT OR WORLDWIDE. Returns every upstream registry with its base URL, API type, licence, record count, last successful synchronisation time, degraded flag and live schema-contract verdict. This is how you answer "is this really worldwide, and how old is it?" honestly: a registry that is degraded or has not synchronised recently makes your result partial, and you should label it partial. NEXT: get_trial_stats for the resulting counts, or search_world_trials with an explicit `registry` when you deliberately want single-registry evidence.
get_registry_sourcesSTART HERE if you do not yet know what this server can do. Returns every endpoint with its purpose and when to use it, every MCP tool name, the recommended multi-step workflows, and the URLs of the machine-readable contracts. Takes no arguments.
list_capabilitiesYour assistant answers from the same live data that powers this site — no copy-pasting, always current.
The full OpenAPI schema, AI-plugin manifest, A2A agent card, drop-in widgets, and RSS feeds live on the developer page.
The window is still open.
Explore the full protocol, or start reading the Wire.