Related MCP Server Resources

Explore more AI models, providers, and integration options:

  • Explore AI Models
  • Explore AI Providers
  • Explore MCP Servers
  • LangDB Pricing
  • Documentation
  • AI Industry Blog
  • SQLite MCP Server
  • Xano MCP Server
  • Powertools MCP Search Server
  • mem0 MCP Server
  • OpenSearch MCP Server
Back to MCP Servers
Crossref MCP Server

Crossref MCP Server

Public
botanicastudios/crossref-mcp

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.

Verified
javascript
0 tools
May 30, 2025
Updated May 30, 2025

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 }); });
Publicly Shared Threads0

Discover shared experiences

Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!

Share your threads to help others
Related MCPs5
  • SQLite MCP Server
    SQLite MCP Server

    A Model Context Protocol server implementation that enables AI assistants to execute SQL queries and...

    Added May 30, 2025
  • Xano MCP Server
    Xano MCP Server

    A simplified Model Context Protocol server that enables Claude to interact with Xano databases throu...

    Added May 30, 2025
  • Powertools MCP Search Server
    Powertools MCP Search Server

    Enables LLMs to search through AWS Lambda Powertools documentation across multiple runtimes (Python,...

    2 tools
    Added May 30, 2025
  • mem0 MCP Server
    mem0 MCP Server

    A TypeScript implementation of the Model Context Protocol server that enables creation, management, ...

    Added May 30, 2025
  • OpenSearch MCP Server
    OpenSearch MCP Server

    A Model Context Protocol server implementation that enables natural language interactions with OpenS...

    6 tools
    Added May 30, 2025