Forge Tools mesh_lookup

mesh_lookup read

scidex.forge.mesh_lookup

Look up NCBI MeSH (Medical Subject Headings) descriptors by search term. Returns the MeSH Unique Identifier (UI), official heading name, tree numbers encoding the MeSH hierarchy, authoritative scope note, entry terms (synonyms), and descriptor class for each matching descriptor. MeSH is the controlled vocabulary used to index PubMed/MEDLINE; enables structured literature search and cross-vocabulary alignment with ICD, SNOMED, UMLS. API: NCBI Entrez E-utilities (esearch + esummary, db=mesh). Free, no auth required. Set NCBI_API_KEY for 10 rps (default 3 rps anonymous).

HTTP: POST /api/scidex/forge/mesh_lookup

Invoke

Calls scidex.tool.invoke on the substrate with this tool name. Edit the JSON below — it must match the input schema. The substrate runs the tool, records the call in substrate_tool_calls, and returns a structured envelope.

Sign in to invoke this tool. Schema and curl snippet are visible to anyone.

Schemas

Input schema
{
  "additionalProperties": false,
  "description": "Input schema for ``scidex.forge.mesh_lookup``.",
  "properties": {
    "query": {
      "description": "MeSH search term or phrase (e.g. ``'diabetes'``, ``'Neoplasms'``, ``'aspirin'``). NCBI MeSH esearch supports Boolean operators and field qualifiers such as ``[MH]`` (MeSH heading) or ``[UI]``.",
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 5,
      "description": "Maximum number of MeSH descriptors to return (1–50, default 5).",
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeMeshLookupIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "MeshEntry": {
      "description": "One MeSH descriptor record.",
      "properties": {
        "mesh_ui": {
          "description": "MeSH Unique Identifier (e.g. ``'D003920'``).",
          "title": "Mesh Ui",
          "type": "string"
        },
        "mesh_name": {
          "description": "Official MeSH heading name.",
          "title": "Mesh Name",
          "type": "string"
        },
        "tree_numbers": {
          "description": "MeSH tree number(s) encoding the descriptor hierarchy (e.g. ``['C18.452.394.750', 'C19.246']``). The leading letter indicates the top-level category (C=Diseases, D=Chemicals, G=Phenomena, etc.).",
          "items": {
            "type": "string"
          },
          "title": "Tree Numbers",
          "type": "array"
        },
        "scope_note": {
          "default": "",
          "description": "Authoritative definition / scope note for this descriptor.",
          "title": "Scope Note",
          "type": "string"
        },
        "entry_terms": {
          "description": "Synonyms and related entry terms that map to this descriptor.",
          "items": {
            "type": "string"
          },
          "title": "Entry Terms",
          "type": "array"
        },
        "descriptor_class": {
          "default": "",
          "description": "Descriptor class code: ``'1'``=Topical Descriptor (most common), ``'2'``=Publication Type, ``'3'``=Check Tag, ``'4'``=Geographic Descriptor.",
          "title": "Descriptor Class",
          "type": "string"
        }
      },
      "required": [
        "mesh_ui",
        "mesh_name"
      ],
      "title": "MeshEntry",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.mesh_lookup``.",
  "properties": {
    "query": {
      "description": "The search term that was submitted.",
      "title": "Query",
      "type": "string"
    },
    "results": {
      "description": "MeSH descriptor records matching the query, in esearch rank order.",
      "items": {
        "$ref": "#/$defs/MeshEntry"
      },
      "title": "Results",
      "type": "array"
    },
    "total_found": {
      "default": 0,
      "description": "Total descriptor count returned by esearch before the limit was applied.",
      "title": "Total Found",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True if esearch returned zero results for the query.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "NCBI MeSH (nlm.nih.gov/mesh)",
      "description": "Data source identifier.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeMeshLookupOut",
  "type": "object"
}

curl snippet

Replace $SCIDEX_JWT with a valid bearer token. Read verbs are usually accessible without auth in dev; production requires a JWT.

curl -sS -X POST '/api/scidex/forge/mesh_lookup' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "query": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.