@pipeworx/nci-evs

Connect: https://gateway.pipeworx.io/nci-evs/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 4

NCI Thesaurus (NCIt) concepts and the other controlled vocabularies served by the NCI Enterprise Vocabulary Services REST API — the C-codes that CDISC, GDC, CTRP, SEER and the NCI trial systems all key on.

Tools

  • evs_search_concepts(term, terminology?, type?, include?, page_size?, from_record?) — name → code. Searches NCIt by default; also ICD-10, MedDRA, SNOMED CT, HGNC, GO and others served by the same API.
  • evs_concept(code, terminology?, include?) — code → full record: preferred name, definitions with source, every synonym with its term type and source, semantic types, and cross-terminology maps to ICD-O-3 / ICD-10 / MedDRA.
  • evs_terminologies(latest_only?) — which vocabularies are queryable and at which loaded version. A concept record is only interpretable against its version, so this is how you pin an answer.
  • evs_concept_relations(code, terminology?, kinds?) — parents, children, roles, associations, inverse associations, descendants. Use it to expand a disease into its subtypes before querying trial or genomic data.

Auth

Keyless.

Data sources

Traps

The API version prefix is /api/v1, not bare /. The paths in NCI’s own prose omit it; without it every call 404s with a Spring “No static resource” body that looks like the endpoint was withdrawn.

Relations are separate endpoints, not an include. There is no /relationships path — it 404s. Parents, children, roles and associations are each their own sub-path. maps is the exception: it is an include value on the concept endpoint, not a sub-path. evs_concept_relations fetches the sub-paths in parallel and reports a per-kind count, so a kind that genuinely has no rows is distinguishable from one that failed.

include=minimal is the search default and omits definitions. A search hit carries only code / name / status until you ask for summary or full, which is why a “the API has no definitions” conclusion is usually an include-level problem.

Version strings move. version on a concept (e.g. NCIt 26.08e) is the monthly release. Two answers taken weeks apart can legitimately differ; quote the version when the code’s meaning matters.

Tools

  • evs_search_concepts — Searches NCI Thesaurus and other NCI vocabularies by term, returning the concept codes that cancer datasets key on.
  • evs_concept — One NCI vocabulary concept by code: preferred name, definitions, synonyms by source, and cross-terminology maps.
  • evs_terminologies — Lists the vocabularies NCI Enterprise Vocabulary Services serves, with the release version of each currently loaded.
  • evs_concept_relations — Parents, children, roles and associations around one NCI Thesaurus concept code.

Tools

  • evs_concept — One NCI vocabulary concept by code: preferred name, definitions, synonyms by source, and cross-terminology maps.
  • evs_concept_relations — Parents, children, roles and associations around one NCI Thesaurus concept code.
  • evs_search_concepts — Searches NCI Thesaurus and other NCI vocabularies by term, returning the concept codes that cancer datasets key on.
  • evs_terminologies — Lists the vocabularies NCI Enterprise Vocabulary Services serves, with the release version of each currently loaded.

Regenerated from source · build September 18, 2026