Skip to main content
Glama

Crossref MCP Server

Crossref MCP Server

A Model Context Protocol (MCP) server for interacting with the Crossref API.

Features

  • Search works by title
  • Search works by author
  • Get work details by DOI

Installation

{ "mcpServers": { "crossref": { "command": "npx", "args": [ "-y", "@botanicastudios/crossref-mcp" ] } } }

Usage

The server provides three main tools:

1. Search by Title

Search for works in Crossref by title:

// Example: Search for works containing "quantum computing" in the title { "title": "quantum computing", "rows": 5 // Optional, defaults to 5 }

2. Search by Author

Search for works in Crossref by author:

// Example: Search for works by "Einstein" { "author": "Einstein", "rows": 5 // Optional, defaults to 5 }

3. Get Work by DOI

Retrieve a specific work using its DOI:

// Example: Get work with DOI "10.1088/1742-6596/1398/1/012023" { "doi": "10.1088/1742-6596/1398/1/012023" }

Response Format

All responses are returned as structured JSON objects with the following format:

For successful searches:

{ "status": "success", "query": { /* the original query parameters */ }, "count": 5, "results": [ { "title": "Work title", "authors": [ { "given": "First name", "family": "Last name", "name": "First name Last name" } ], "published": { "dateParts": [2023, 1, 15], "dateString": "2023-1-15" }, "type": "journal-article", "doi": "10.xxxx/xxxxx", "url": "https://doi.org/10.xxxx/xxxxx", "container": "Journal Name", "publisher": "Publisher Name", "issue": "1", "volume": "42", "abstract": "This is the abstract of the work, if available." } // additional results... ] }

For single DOI lookup:

{ "status": "success", "query": { "doi": "10.xxxx/xxxxx" }, "result": { // work details as shown above } }

For errors or no results:

{ "status": "error" | "no_results" | "not_found", "message": "Error message" | null, "query": { /* the original query parameters */ } }

Testing

The server comes with a comprehensive test suite using Vitest. Tests cover all available tools and include various scenarios including successful responses, empty results, and error handling.

Running Tests

npm test

Test Structure

The tests use Vitest's mocking capabilities to simulate Crossref API responses without making actual network requests. The test structure includes:

  1. Mock Data: Sample responses for title searches, author searches, and DOI lookups
  2. Mock Handlers: Testing versions of the handler functions in mcp-server-test-handlers.js
  3. Test Cases: Tests for all tools covering:
    • Successful API responses
    • Empty result sets
    • Error handling and network failures

Extending Tests

To add more test cases:

  1. Add new mock data to the test file if needed
  2. Create additional test cases in the relevant describe block
  3. Use the mockFetchResponse() helper to simulate API responses

Example:

it("should handle a new edge case", async () => { // Mock the response mockFetchResponse({ // Your sample response data }); // Call the handler const result = await handlers.searchByTitle({ title: "example" }); // Assert the expected results expect(result).toMatchObject({ // Expected response structure }); });
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Model Context Protocol server that enables querying the Crossref API to search for academic publications by title, author, or DOI, returning structured metadata about scholarly works.

  1. Features
    1. Installation
      1. Usage
        1. 1. Search by Title
        2. 2. Search by Author
        3. 3. Get Work by DOI
      2. Response Format
        1. For successful searches:
        2. For single DOI lookup:
        3. For errors or no results:
      3. Testing
        1. Running Tests
        2. Test Structure
        3. Extending Tests

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A Model Context Protocol server that enables AI agents to search, retrieve, and analyze academic papers from arXiv, supporting features like keyword search, paper details retrieval, content extraction, and paper analysis.
        Last updated -
        Python
        MIT License
        • Linux
        • Apple
      • -
        security
        F
        license
        -
        quality
        A comprehensive Model Context Protocol server that provides AI assistants with direct access to Semantic Scholar's academic database, enabling advanced paper discovery, citation analysis, author research, and AI-powered recommendations.
        Last updated -
        4
        Python
        • Apple
        • Linux
      • A
        security
        A
        license
        A
        quality
        A comprehensive Model Context Protocol server that enables advanced PubMed literature search, citation formatting, and research analysis through natural language interactions.
        Last updated -
        12
        5
        Python
        MIT License
      • A
        security
        F
        license
        A
        quality
        A TypeScript implementation of the Model Context Protocol server that enables searching arXiv papers and extracting paper information through standardized client-server communication.
        Last updated -
        2
        9
        TypeScript

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/botanicastudios/crossref-mcp'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server