search_works

Pack: crossref · Endpoint: https://gateway.pipeworx.io/crossref/mcp

Search academic papers, books, and datasets via Crossref. Beyond keyword search you can SORT by citation count or publication date and FILTER by date range, work type, and author — e.g. “most-cited papers on transformers” (sort=citations), “papers on LLMs since 2024” (from_date=2024-01-01), “recent journal articles by an author”. Returns titles, authors, journal, DOIs, citation counts, and dates.

Parameters

NameTypeRequiredDescription
querystringnoKeyword query (e.g. “climate change machine learning”). Optional if “author” is given.
authorstringnoSearch/restrict by author name (e.g. “Hinton”, “Yann LeCun”).
sortstringnoResult ordering: “relevance” (default), “citations” (most-cited first), or “published” (newest first; note Crossref has some records with erroneous future dates).
from_datestringnoOnly works published on/after this date (YYYY-MM-DD or YYYY).
until_datestringnoOnly works published on/before this date (YYYY-MM-DD or YYYY).
typestringnoRestrict to a Crossref work type, e.g. “journal-article”, “book”, “proceedings-article”, “dataset”, “posted-content” (preprints).
limitnumbernoNumber of results to return (1-100, default 10)

Example call

Arguments

{
  "query": "climate change machine learning"
}

curl

curl -X POST https://gateway.pipeworx.io/crossref/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_works","arguments":{"query":"climate change machine learning"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('search_works', {
  "query": "climate change machine learning"
});

More examples

{
  "query": "CRISPR gene editing",
  "limit": 20
}

Response shape

Always returns: total_results, results

FieldTypeDescription
total_resultsnumberTotal number of results matching the search query
resultsarrayArray of search results
Full JSON Schema
{
  "type": "object",
  "properties": {
    "total_results": {
      "type": "number",
      "description": "Total number of results matching the search query"
    },
    "results": {
      "type": "array",
      "description": "Array of search results",
      "items": {
        "type": "object",
        "properties": {
          "doi": {
            "type": "string",
            "description": "Digital Object Identifier"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Work title"
          },
          "journal": {
            "type": [
              "string",
              "null"
            ],
            "description": "Journal or container title"
          },
          "authors": {
            "type": "array",
            "description": "List of author names",
            "items": {
              "type": "string"
            }
          },
          "published": {
            "type": [
              "string",
              "null"
            ],
            "description": "Publication date in YYYY-MM-DD format"
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "Work type (e.g., journal-article, book)"
          },
          "publisher": {
            "type": [
              "string",
              "null"
            ],
            "description": "Publisher name"
          },
          "abstract": {
            "type": [
              "string",
              "null"
            ],
            "description": "Work abstract or summary"
          },
          "citations": {
            "type": [
              "number",
              "null"
            ],
            "description": "Number of citations referencing this work"
          },
          "subjects": {
            "type": "array",
            "description": "Subject categories or keywords",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string",
            "description": "URL to access the work"
          }
        },
        "required": [
          "doi",
          "title",
          "journal",
          "authors",
          "published",
          "type",
          "publisher",
          "abstract",
          "citations",
          "subjects",
          "url"
        ]
      }
    }
  },
  "required": [
    "total_results",
    "results"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "crossref": {
      "url": "https://gateway.pipeworx.io/crossref/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build July 9, 2026