Find the nearest public toilet worldwide. Read-only tools, no account, no API key.
- Passed: Handshake
- Passed: Tools listed
- Passed: Updated recently
Median latency 49 ms · Last checked
Explore
Evidence for your next connection.
Independent measurements of remote MCP servers. Every observation has a timestamp.
Read-only probesMCP server · Other
Findings on what compounds and supplements do in the body, with evidence strength, quote and paper.
0 failed · 6 not measured
Median of successful probes over 7 days
Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.
Tool definitions returned by this server
Independent monitoring
Responded
The server completed its last measured handshake. This is an observation, not a guarantee.
Last checked| Test area | Passed | Failed | Unmeasured |
|---|---|---|---|
ConnectionCan a client connect and discover tools? | 5 | 0 | 0 |
Reliability & speedDoes it respond consistently and quickly? | 1 | 0 | 3 |
Access & authenticationWhat is required to use this server? | 1 | 0 | 2 |
Tool qualityAre the tool definitions usable by an agent? | 4 | 0 | 0 |
Publisher identityCan the publisher be traced to its source? | 5 | 0 | 1 |
Unmeasured means there is not enough evidence to decide. How these checks work
Start using Catalyst evidence graph
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http catalyst-evidence-graph https://catalystproject.ai/mcpCapabilities
Answers "what does X do?" and "does X affect Y?" for a supplement, nutrient, drug, food compound or plant (for example "does magnesium help sleep?", "what is creatine shown to do?", "omega-3 and triglycerides"). Pass the substance as query and the effect or outcome asked about, if there is one, as about. When the person names two substances ("is creatine safe with caffeine"), pass one as query and the other as about, in one call; findings about the pair together come back under in_combination. It resolves the name to the node that has findings and returns up to limit findings (default 10), strongest evidence first, each with its evidence strength in words, the study design, the quote, the paper, a permalink and a citation to quote as it stands. total_findings counts every match. The result is complete for the query: another wording of the same substance resolves to the same node, so do not call again to rephrase. Call again only to narrow (evidence_strength, about), to raise limit (at most 50), or to ask about something else. Without about, summary lists everything the node has findings about. If matched is null, or total_findings is 0, Catalyst has recorded no findings on it. That is a complete answer: say so, and do not answer from memory as though from Catalyst. Try search_nodes only when other_matches or summary shows a node the person plausibly meant. An evidence strength says how well the evidence supports a finding and is not a recommendation. For what a compound can become, use reach; for reference-database relations, use get_relations.
DiscoveredExplains one finding by its finding id: the claim, its evidence strength and what that level means, the verbatim quote, the study design and the paper, and evidence_strength_reasons, each rule that set the level in order, and what the assessment does not weigh. The finding id is 26 characters, from the id field of a find_evidence or get_findings finding, or the last part of its permalink (/e/{id}). Use it to answer why the evidence behind a finding is as strong as it is, from evidence_strength_reasons and never by guessing. To find findings, use find_evidence or get_findings; this tool takes no name. A head-to-head comparison id returns a sentence naming the page that shows the comparison, not a finding.
DiscoveredLists the curated study findings for one node by id, from search_nodes: for a compound, organism or material, what it has been shown to affect; for an outcome, which compounds have been studied against it. Use it to browse a node by id. For a question in words, such as "does X help Y", find_evidence answers in one call and needs no id. summary has one row per thing the node has findings about, counted over all its findings and not only the rows returned. The default number of findings, strongest first, is enough to answer. There is no offset: to see a different slice, pass about (an id from summary, or words such as "sleep") or evidence_strength. Each finding carries its evidence strength, one of five named levels from strong to insufficient (strong, moderate, limited, very_limited, insufficient), the verbatim sentence it was drawn from, the paper, the population and dose, and a permalink. An evidence strength says how well the evidence supports the finding and is not a recommendation; give it with the claim, and link the permalink. An empty list means no findings are recorded for that node, a complete answer that does not show the compound does nothing; empty_means says why.
DiscoveredLists the biochemical reactions from Rhea and Human-GEM that a compound is a substrate or product of, or that a protein (enzyme) catalyses or transports, by node id from search_nodes. It lists reactions and does not answer a route question: for "can X become Y" or "what can X become", use reach. Every row is assertion_class 'inferred': a reaction two public databases record, not a result anyone measured in a person. Present these as known biochemistry, never as an effect a compound has, and never as a recommendation. For effects, use find_evidence. Returns total and up to limit reactions (default 10), each with its equation, its participants by side, id and label, the first five enzymes with catalyst_count for all of them, and its source; offset pages the rest, and the default is enough to answer. A page too large for one result is cut to fit, and truncated with next_offset says how to get the rest. A compound flagged is_hub (water, ATP, protons and the like) returns its reaction count only, because it takes part in nearly every reaction. Coverage is one Rhea release and one Human-GEM release; a participant that is not a node in this graph is listed with a null id, and only human enzymes that are nodes are listed. An empty result means no reaction in those releases names this node. That is a complete answer and does not show the body has none.
DiscoveredLists what public reference databases (Reactome, UniProt, Rhea, ChEBI and others) record about one node by id, from search_nodes: transporters, enzymes, pathways, expression. Every row is assertion_class 'inferred': a hypothesis about how a compound could act, not a result anyone measured in people. Present these as possible mechanisms and never as effects. For effects, use find_evidence. For the reactions a compound or enzyme takes part in, use get_reactions; for what a compound can become, use reach. predicate limits the list to one relation type, named as in the predicate field of a row (for example transported_by for transporters, metabolized_by for enzymes). Returns total and up to limit rows (default 10); offset pages the rest, and the default is enough to answer. A page too large for one result is cut to fit, and truncated with next_offset says how to get the rest. An empty list with a predicate means the databases record no relation of that type for this node. That is a complete answer, so do not repeat the call with the same predicate. Leave predicate out once only when the person asked broadly and you need to see which types the node has.
DiscoveredAnswers a route question: "can X become Y in the body" (give from_id and to_id) and "what can X become" (give only from_id). Both ids are compound node ids from search_nodes, so a question that names two compounds needs one search_nodes call for each first. It searches the reactions two public databases (Rhea, Human-GEM) record, up to depth steps (1 to 3, default 3), and returns the routes with the reactions and enzymes along each. Every route is assertion_class 'inferred': a hypothesis drawn from reference databases, never a measured or reported effect. Present it as known biochemical connectivity, never as an effect, a recommendation, or a claim that the body actually does this. For measured effects, use find_evidence. Common cofactors and currency species (water, ATP, protons and the like) are not used as intermediate steps, so a route never reads 'reaches everything through ATP'. A currency species given as from_id or to_id returns reachable: null with a coverage note, not a checked 0 routes. With from_id alone it lists up to limit routes (default 10, offset pages the rest); a page too large for one result is cut to fit, and truncated with next_offset says how to get the rest. When no route is found, the coverage field says which of three cases it is: reachability has not been built for this scope yet, so nothing was checked; it was checked and no route exists through the reactions loaded, which does not mean the body cannot make it; or the compound is a currency species and was never searched. The answer is in that one result; another tool does not check it again.
DiscoveredLooks up the node id for a compound, protein, organism or outcome by name or synonym (for example "CoQ10", "caffeine", "CYP1A2", "sleep"). Use it to get the id that get_findings, get_finding, get_relations, get_reactions and reach take; for a question about what a substance does, call find_evidence instead, which needs no id. Returns up to 10 hits, each with id, label, type and the number of findings; hits with findings come first, so the first hit with findings above 0 is usually the one to use. An enzyme or transporter has type protein. It says nothing about a node beyond its id and how many findings it has. If with_findings is 0 the graph holds no findings for the name; the hits may still be the right node for get_relations, get_reactions or reach.
DiscoveredRecent measurements
| Checked | Result | Response | Tools |
|---|---|---|---|
| Connected | 641 ms | 7 | |
| Connected | 757 ms | 7 |