search_works

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

Search academic papers, books, and datasets via Crossref. For “search works titled X” / finding a SPECIFIC paper by its title, pass title (title-scoped — ranks the exact paper first). 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 over all fields (e.g. “climate change machine learning”). Optional if “title” or “author” is given.
titlestringnoTitle-scoped search — use when looking for a specific paper by its (partial or full) title, e.g. “Remus High Availability Asynchronous Virtual Machine Replication”.
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 21, 2026