# Opencitations [Health: Active]

**Category:** 🔬 Research  
**Repository:** https://github.com/pipeworx-io/mcp-opencitations  
**GitHub Stars:** 0  
**npm Downloads (last month):** 467  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/opencitations

## Description
OpenCitations COCI — open-license citation index by DOI

## Tools
Capabilities this server exposes over MCP:

- **references** — "What does paper [DOI] cite" / "references in [paper]" / "what sources does this paper use" — DOIs cited BY the given DOI (the paper's reference list / bibliography). Use for citation-graph traversal, literature review, source tracking.
- **citations** — "Who cites paper [DOI]" / "what papers reference [DOI]" / "incoming citations to [paper]" / "what work has cited [study]" — DOIs that CITE the given DOI (reverse-direction from references). Use for impact analysis, follow-on research discovery, "is this paper influential" questions.
- **citation_count** — "How many times has paper [DOI] been cited" / "citation count for [paper]" / "is [study] highly cited" — incoming citation count for a DOI. Fast version of `citations` when you only need the number, not the citing DOIs.
- **references_count** — "How many references does paper [DOI] have" / "how big is the bibliography of [paper]" — outgoing reference count for a DOI. Fast version of `references` when you only need the number.
- **metadata** — "Get paper info for [DOI]" / "bibliographic details for [paper]" / "title / authors / year of [DOI]" — bibliographic metadata for one or more DOIs (up to 50 at once). Returns title, authors, year, journal, publisher.
- **citation** — Fetch one citation record by its Open Citation Identifier (OCI — a compound ID of the form citing-DOI__cited-DOI). Returns citing/cited DOI pair, creation date, and journal self-citation flag. Use `citations` or `references` instead when you only have a DOI.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "opencitations": {
    "command": "npx",
    "args": ["-y","@pipeworx/mcp-opencitations"]
  }
}
```

## Documentation

## What the Opencitations MCP server does

The Opencitations MCP server provides MCP tools for querying OpenCitations citation data. Its primary source is COCI, the OpenCitations Index of Crossref citations, supplemented by generic OpenCitations Index endpoints. The package is intended for DOI-focused research workflows where an agent needs citation relationships, counts, or bibliographic records.

Available operations include:

- `references(doi)` returns the DOIs cited by a supplied DOI.
- `citations(doi)` returns the DOIs that cite the supplied DOI.
- `citation_count(doi)` reports the number of incoming citations.
- `references_count(doi)` reports the number of outgoing references.
- `metadata(dois)` retrieves bibliographic metadata for one or more DOIs. The input is a comma-separated list with a maximum of 50 DOIs.
- `citation(oci)` retrieves one citation identified by an Open Citation Identifier.

## How it works

The Opencitations MCP server can be reached through a Pipeworx gateway endpoint or started as a local stdio process. The gateway routes requests to OpenCitations and exposes the pack's tools through MCP. Its scoped endpoint also includes shared Pipeworx meta-tools, so `tools/list` may show more tools than the six OpenCitations operations listed above. The full gateway endpoint lists other data-source packs directly as well.

The underlying data endpoints are `https://opencitations.net/index/coci/api/v1/` for COCI and `https://opencitations.net/index/api/v1/` for generic Index APIs. The package does not require an API key. Gateway users can also call tools over HTTP, including the references operation through the Pipeworx `/v1/tools/` endpoint.

## Setup and configuration

For a remote MCP connection, add the gateway URL to an MCP client configuration:

```json
{
  "mcpServers": {
    "opencitations": {
      "url": "https://gateway.pipeworx.io/opencitations/mcp"
    }
  }
}
```

For local execution, use the npm package as a stdio server:

```json
{
  "mcpServers": {
    "opencitations": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-opencitations"]
    }
  }
}
```

The same local process can be started with `npx -y @pipeworx/mcp-opencitations`. It communicates over standard input and output and exposes only the pack's own tools. The README also provides Claude Desktop, Cursor, and Windsurf examples through the shared MCP configuration format.

## Tools and capabilities

Use `references` and `citations` to traverse a paper's outgoing and incoming DOI relationships. Use the count tools when a workflow needs totals without retrieving the full relationship lists. `metadata` supports batch lookup for up to 50 DOI values, while `citation` is intended for looking up a single record from an OCI identifier.

A gateway connection can use `ask_pipeworx` to submit a plain-language question instead of selecting a tool and filling its arguments directly. That routing option is available from the scoped pack endpoint and the full Pipeworx gateway, but it is not part of the standalone local process.

## Limitations and notes

The documented operations are centered on DOI and OCI identifiers. Metadata batch requests are limited to 50 DOIs. A scoped gateway connection includes shared Pipeworx tools in addition to the OpenCitations tools, which increases the schemas returned by `tools/list`; the local stdio mode avoids those shared tools. The Opencitations MCP server accesses the cited OpenCitations endpoints and therefore returns the records available from those indexes.

_Full upstream README: https://allmcps.com/mcp/opencitations/readme_

