JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 22
  • Score
    100M100P100Q101154F
  • License MIT

MCP server for accessing all Crossref API endpoints including works, journals, funders, members, and types

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (crossref-complete-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Crossref Complete MCP Server

    npm version License: MIT Node.js Version

    A Model Context Protocol (MCP) server for accessing all Crossref API endpoints including works, journals, funders, members, and types. This package provides seamless integration with AI assistants and research tools through the MCP protocol.

    โœจ Features

    • ๐Ÿ” Complete API Coverage - Access all Crossref API endpoints
    • ๐Ÿ“š Academic Works - Search and retrieve academic papers, references, and citations
    • ๐Ÿ“– Journals - Search journals and retrieve journal information
    • ๐Ÿ›๏ธ Funders - Search funding organizations and their supported works
    • ๐Ÿข Members - Search member organizations and their publications
    • ๐Ÿ“‹ Types - Get all academic work types
    • โšก Fast Response - 30-second timeout with optimized performance
    • ๐Ÿ›ก๏ธ Robust Error Handling - Comprehensive error management
    • ๐Ÿ“Š Detailed Logging - Debug-friendly logging system
    • ๐Ÿ”ง Easy Integration - Simple MCP protocol implementation

    ๐Ÿš€ Quick Start

    Installation

    npm install -g crossref-complete-mcp

    Usage

    As a Global Command

    crossref-complete-mcp

    As an MCP Server

    The server will start and listen for MCP protocol messages via stdio.

    Integration with Claude Desktop

    To use this MCP server with Claude Desktop, add the following to your Claude Desktop configuration file:

    macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

    {
      "mcpServers": {
        "crossref-complete-mcp": {
          "command": "npx",
          "args": ["-y", "crossref-complete-mcp"]
        }
      }
    }

    After adding this configuration, restart Claude Desktop and you'll be able to access all Crossref API functionality directly through the MCP interface.

    Development Installation

    git clone https://github.com/crossref-complete-mcp/crossref-complete-mcp.git
    cd crossref-complete-mcp
    npm install
    npm start

    ๐Ÿ“– Usage

    Available Tools

    The server provides 14 tools for accessing Crossref API:

    Academic Works (4 tools)

    • search_works - Search academic works
    • get_work_by_doi - Get work details by DOI
    • get_work_references - Get work references
    • get_work_cited_by - Get works that cite this work

    Journals (3 tools)

    • search_journals - Search journals
    • get_journal_by_issn - Get journal details by ISSN
    • get_journal_works - Get works published in a journal

    Funders (3 tools)

    • search_funders - Search funding organizations
    • get_funder_by_id - Get funder details by ID
    • get_funder_works - Get works funded by an organization

    Members (3 tools)

    • search_members - Search member organizations
    • get_member_by_id - Get member details by ID
    • get_member_works - Get works from a member organization

    Types (1 tool)

    • get_types - Get all academic work types

    Examples

    Search Academic Works

    {
      "name": "search_works",
      "arguments": {
        "query": "artificial intelligence",
        "rows": 10,
        "filter": "type:journal-article",
        "sort": "published",
        "order": "desc"
      }
    }

    Get Work by DOI

    {
      "name": "get_work_by_doi",
      "arguments": {
        "doi": "10.1038/nature12373"
      }
    }

    Search Journals

    {
      "name": "search_journals",
      "arguments": {
        "query": "Nature",
        "rows": 5
      }
    }

    Search Funders

    {
      "name": "search_funders",
      "arguments": {
        "query": "National Science Foundation",
        "rows": 10
      }
    }

    ๐Ÿ”ง Technical Details

    • Timeout: 30 seconds
    • Headers: Automatic Content-Type and User-Agent
    • Error Handling: Distinguishes between network, API, and timeout errors
    • Logging: Detailed request and response logging
    • Base URL: https://api.crossref.org

    ๐Ÿ› ๏ธ Error Handling

    The server handles the following error types:

    • Timeout Errors: Requests exceeding 30 seconds
    • Network Errors: Unable to connect to API server
    • API Errors: Server returning error status codes
    • Parameter Errors: Missing required parameters or incorrect types

    ๐Ÿงช Testing

    Run the test suite:

    npm test

    This will test:

    • API connectivity
    • Parameter validation
    • Error handling

    ๐Ÿ“ Project Structure

    โ”œโ”€โ”€ server.js              # Main server file
    โ”œโ”€โ”€ package.json           # Project configuration and dependencies
    โ”œโ”€โ”€ README.md             # Project documentation
    โ”œโ”€โ”€ LICENSE               # MIT License
    โ”œโ”€โ”€ mcp-config-example.json # Example MCP configuration
    โ””โ”€โ”€ test/
        โ””โ”€โ”€ test-api.js       # Test suite

    ๐Ÿš€ Development

    Debug Mode

    Run in debug mode with Node.js debugger:

    npm run dev

    Set breakpoints in your debugger for development.

    Contributing

    1. Fork the repository
    2. Create a feature branch
    3. Make your changes
    4. Add tests for new functionality
    5. Submit a pull request

    ๐Ÿ“„ License

    MIT License - see LICENSE file for details.