Oliver's mTOR Atlas MCP
An MCP server that provides AI assistants with tools to search mTOR Atlas studies by evidence code, look up evidence for pathway claims including supporting and contradicting studies, and list contested claims and open questions. It connects to a hosted server or can be run locally via npm.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcpWhat its tools do
13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search studies by evidence code
- Look up evidence for a pathway claim with supporting and contradicting studies
- List contested claims and open questions
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- mtor-atlas 1.3.3
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 13 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
13 advertised
atlas_about — About the Atlas
Dataset version, corpus snapshot date, counts, evidence-code legend and how to cite the dataset. When the Atlas does not report the contested and conflicting counts itself, derived_counts adds them, computed from the relations, so they can be compared with find_contradictions.
{
"type": "object",
"properties": {}
}{
"title": "About the Atlas",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_studies — Search studies
Search the curated studies by keywords, optionally filtered by evidence code, a linked entity (gene, drug, disease...) and year range. Searches title, finding, authors (author-list form "Sabatini DM" and full names of profiled authors), PMID, DOI, PMCID, linked entities and their synonyms, journal, model system and the abstract excerpt. A query that is a PMID or DOI returns that study. Returns summary records with evidence codes and URLs.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum 50; a larger value is capped at 50."
},
"query": {
"type": "string",
"description": "Keywords, e.g. \"rapamycin lifespan mice\", a person (\"Claudio De Virgilio\"), a PMID or a DOI. Omit to list by filters only."
},
"entity": {
"type": "string",
"description": "Only studies linked to this entity (name, synonym or id), e.g. \"Rheb\"."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "For the next page: pass next_offset from the previous answer."
},
"year_to": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -10000
},
"year_from": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -10000
},
"evidence_code": {
"type": "array",
"items": {
"enum": [
"S",
"H",
"A",
"M",
"R",
"PP",
"RT"
],
"type": "string"
},
"description": "Keep only these evidence codes, e.g. [\"H\",\"S\"] for human evidence."
}
}
}{
"title": "Search studies",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_study — Get one study
Full record for one study by Atlas ID (e.g. "SAB1994"), PMID, DOI or PMCID: abstract excerpt, extracted findings, linked entities, the relations it supports or contradicts, related open questions.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string",
"description": "Alias of sid."
},
"doi": {
"type": "string",
"description": "Alias of sid, for a DOI."
},
"sid": {
"type": "string",
"description": "Atlas study ID (\"SAB1994\"), PMID (\"23716719\"), DOI or PMCID"
},
"pmid": {
"type": "string",
"description": "Alias of sid, for a PMID."
},
"pmcid": {
"type": "string",
"description": "Alias of sid, for a PMCID."
},
"study_id": {
"type": "string",
"description": "Alias of sid."
}
}
}{
"title": "Get one study",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_entities — Search entities
Find genes/proteins, complexes, drugs, diseases, processes, nutrients and outcomes by name or synonym. Each result says where it matched (match_field: name, synonym or description); use match="name" to leave out description-only hits.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"type": {
"type": "string",
"description": "Optional type filter, e.g. \"Drug\", \"Gene/Protein\", \"Disease\""
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum 100; a larger value is capped at 100."
},
"match": {
"enum": [
"any",
"name"
],
"type": "string",
"default": "any",
"description": "\"any\" also searches descriptions; \"name\" searches names and synonyms only."
},
"query": {
"type": "string",
"description": "Name or synonym, e.g. \"raptor\", \"sirolimus\""
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "For the next page: pass next_offset from the previous answer."
}
}
}{
"title": "Search entities",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_entity — Get one entity
One entity (gene/protein, complex, drug, disease, process...) with its linked studies as short cards (first studies_limit) and every pathway relation it takes part in as a one-line claim. Accepts an id, a name or a synonym.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string",
"description": "Alias of entity."
},
"entity": {
"type": "string",
"description": "e.g. \"mTORC1\", \"Rheb\", \"rapamycin\""
},
"studies_limit": {
"type": "integer",
"default": 25,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Maximum 50; a larger value is capped at 50."
}
}
}{
"title": "Get one entity",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_relations — Find pathway relations
Signed, evidence-linked pathway relations (claims such as "Rheb activates mTORC1"). Filter by an entity on either end, by source/target, effect, contested status or minimum strength of the best supporting evidence.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum 50; a larger value is capped at 50."
},
"effect": {
"enum": [
"activates",
"inhibits",
"binds",
"recruits",
"required-for",
"context-dependent",
"no-effect"
],
"type": "string"
},
"entity": {
"type": "string",
"description": "Entity on either end of the relation"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "For the next page: pass next_offset from the previous answer."
},
"source": {
"type": "string"
},
"target": {
"type": "string"
},
"contested_only": {
"type": "boolean",
"description": "Only relations marked contested or with conflicting studies"
},
"strongest_at_least": {
"enum": [
"S",
"H",
"A",
"M",
"R",
"PP",
"RT"
],
"type": "string",
"description": "Keep relations whose best supporting study is at least this code in the order S > H > A > M"
}
}
}{
"title": "Find pathway relations",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_relation — Get one relation
One pathway relation by ID (e.g. "RHEB-MTORC1"): mechanism, boundary conditions, confidence, supporting and conflicting studies.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}{
"title": "Get one relation",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}evidence_between — Evidence between two entities
Direct curated relations between two entities (either direction) with full cards for the supporting and conflicting studies. Answers questions such as "what is the evidence that A acts on B?". A study that repeats within the answer is sent in full once and afterwards as a short card with full_card_in.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string"
},
"b": {
"type": "string"
},
"dedupe": {
"type": "boolean",
"default": true,
"description": "Send a repeated study in full only once. Pass false for a full card every time."
}
}
}{
"title": "Evidence between two entities",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_contradictions — Find contested claims
Relations the Atlas marks as contested or that carry conflicting studies, with both sides of the evidence. status says which; breakdown splits the total. conflict carries WHY the studies disagree (Opposing result / Different context / Field dispute) with its basis. A contested relation with no conflicting study listed is flagged conflicting_studies_missing, and data_note says whether that is a real gap (Opposing result) or the recorded state because two published models compete (Field dispute, Different context); relations named in its note or boundary are shown in named_in_text (a mention is not evidence). Paged: pass next_offset as offset for the rest. Optionally limited to one entity.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"brief": {
"type": "boolean",
"default": false,
"description": "Shorten the long boundary and note text (text_truncated is set); get_relation has the full text."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum 50; a larger value is capped at 50."
},
"dedupe": {
"type": "boolean",
"default": true,
"description": "Send a repeated study in full only once. Pass false for a full card every time."
},
"entity": {
"type": "string"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "For the next page: pass next_offset from the previous answer."
},
"only_contested": {
"type": "boolean",
"default": false,
"description": "Keep only relations the Atlas flags contested, not those that merely carry conflicting studies."
}
}
}{
"title": "Find contested claims",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_questions — List open questions
The Atlas's open questions (evidence gaps with testable hypotheses) and frontier questions. Paged. By default still_open is shortened at a sentence boundary (still_open_truncated); get_question has the full text, or pass brief=false.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kind": {
"enum": [
"open-question",
"frontier"
],
"type": "string"
},
"brief": {
"type": "boolean",
"default": true,
"description": "Shorten still_open; false returns the full text."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum 50; a larger value is capped at 50."
},
"query": {
"type": "string",
"description": "Keywords to find questions by their title, gap, hypothesis or what is still open, e.g. \"rapamycin immune\"."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "For the next page: pass next_offset from the previous answer."
}
}
}{
"title": "List open questions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_question — Get one question
One open or frontier question by ID (e.g. "H1", "F2"): the gap, what changed, what is still open, how it could be tested, linked studies.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}{
"title": "Get one question",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_authors — Search authors
People in the Atlas by full name ("Claudio De Virgilio"), author-list form ("De Virgilio C"), ORCID or lab. results are authors with a profile page (full name, ORCID, lab, their study IDs); in_author_lists are matching names in study author lists without a profile.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 9007199254740991,
"minimum": 1,
"description": "Maximum 50; a larger value is capped at 50."
},
"query": {
"type": "string",
"description": "A name, ORCID or lab, e.g. \"Sabatini\", \"Claudio De Virgilio\", \"Fribourg\""
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "For the next page: pass next_offset from the previous answer."
}
}
}{
"title": "Search authors",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_author — Get one author
One profiled author by profile id ("claudio-de-virgilio"), full name, author-list form or ORCID: lab, role, profile URL and short cards of their studies in the Atlas. If the name fits several people or has no profile page, the answer lists candidates (resolved: false) instead.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"type": "string",
"description": "Alias of author."
},
"author": {
"type": "string",
"description": "e.g. \"Claudio De Virgilio\", \"De Virgilio C\", \"claudio-de-virgilio\""
}
}
}{
"title": "Get one author",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 337 ms
- 95th percentile latency
- 337 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 337 ms · metadata changed · 13 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http oliver-s-mtor-atlas-mcp https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcpCodex
codex mcp add oliver-s-mtor-atlas-mcp --url https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcpCursor
{
"mcpServers": {
"oliver-s-mtor-atlas-mcp": {
"url": "https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"oliver-s-mtor-atlas-mcp": {
"type": "streamableHttp",
"url": "https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"oliver-s-mtor-atlas-mcp": {
"type": "http",
"url": "https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http oliver-s-mtor-atlas-mcp https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcpClaude Desktop
https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcpWindsurf
{
"mcpServers": {
"oliver-s-mtor-atlas-mcp": {
"serverUrl": "https://mtor-atlas-mcp.mtor-atlas.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like Oliver's mTOR Atlas MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.