Forge Tools pubmed_search

pubmed_search read

scidex.forge.pubmed_search

Search NCBI PubMed for biomedical literature. Returns structured citations with PMID, title, authors, journal, year, DOI, and assembled abstract.

HTTP: POST /api/scidex/forge/pubmed_search

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.pubmed_search``.",
  "properties": {
    "query": {
      "description": "PubMed E-utilities query string. Supports field tags (``author[au]``, ``2020[dp]``), boolean operators (``AND``, ``OR``, ``NOT``), and MeSH terms.",
      "maxLength": 500,
      "minLength": 1,
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of citations to return. NCBI's hard cap is 10000 but the verb caps at 100 to keep one call bounded — paginate via repeated calls with different date windows if you need more.",
      "maximum": 100,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "date_from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Inclusive lower publication date, ``YYYY``, ``YYYY-MM``, or ``YYYY-MM-DD``. Passed to NCBI as ``mindate``.",
      "title": "Date From"
    },
    "date_to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Inclusive upper publication date, ``YYYY``, ``YYYY-MM``, or ``YYYY-MM-DD``. Requires ``date_from``. Passed to NCBI as ``maxdate``.",
      "title": "Date To"
    }
  },
  "required": [
    "query"
  ],
  "title": "PubmedSearchIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "PubmedCitation": {
      "description": "One PubMed citation, structured for downstream agent use.",
      "properties": {
        "pmid": {
          "description": "NCBI PubMed ID (digits-only string).",
          "title": "Pmid",
          "type": "string"
        },
        "title": {
          "default": "",
          "title": "Title",
          "type": "string"
        },
        "authors": {
          "items": {
            "type": "string"
          },
          "title": "Authors",
          "type": "array"
        },
        "journal": {
          "default": "",
          "title": "Journal",
          "type": "string"
        },
        "year": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "First 4 digits of NCBI's ``pubdate``. May be None for in-press articles or records with garbled dates.",
          "title": "Year"
        },
        "doi": {
          "default": "",
          "description": "DOI from ``articleids[idtype=doi]`` (preferred) or ``elocationid`` fallback. Empty if neither is present.",
          "title": "Doi",
          "type": "string"
        },
        "abstract": {
          "default": "",
          "description": "Assembled from ``efetch`` XML AbstractText elements. Labelled abstracts are flattened with ``Label: `` prefixes. Empty if the article has no abstract.",
          "title": "Abstract",
          "type": "string"
        },
        "pub_types": {
          "items": {
            "type": "string"
          },
          "title": "Pub Types",
          "type": "array"
        }
      },
      "required": [
        "pmid"
      ],
      "title": "PubmedCitation",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.pubmed_search``.",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "returned": {
      "description": "Length of ``results``.",
      "title": "Returned",
      "type": "integer"
    },
    "results": {
      "items": {
        "$ref": "#/$defs/PubmedCitation"
      },
      "title": "Results",
      "type": "array"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream calls.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "query",
    "returned",
    "took_ms"
  ],
  "title": "PubmedSearchOut",
  "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/pubmed_search' \
  -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.