openalex_get_citation_graph
ActiveTool of @cyanheads/openalex-mcp-server
Walk the citation graph one hop from a seed work. Direction picks the edge: incoming citations (`cites`), the seed's own references (`cited_by`), or OpenAlex's algorithmically-related works (`related_to`). Note: `direction` follows OpenAlex's filter convention, which inverts the common English reading — `cites` returns works that cite the seed; `cited_by` returns works the seed cites. Results use the works schema; combine with filters/sort to narrow further.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"seed_id",
"direction"
],
"properties": {
"sort": {
"type": "string",
"description": "Sort field. Prefix with \"-\" for descending. Common: \"cited_by_count\", \"-publication_date\". Default is OpenAlex relevance."
},
"cursor": {
"type": "string",
"description": "Pagination cursor from a previous response. Pass to get the next page."
},
"select": {
"type": "array",
"items": {
"type": "string"
},
"description": "OpenAlex work field names to return. Always returned: id, display_name. Defaults to the curated works select if omitted."
},
"filters": {
"type": "object",
"description": "Additional filters to narrow the graph, same syntax as openalex_search_entities. Example: publication_year=\">2020\", is_oa=\"true\". Do not include cites/cited_by/related_to — those are set by the `direction` parameter.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"seed_id": {
"type": "string",
"minLength": 1,
"description": "Seed work identifier. Accepts OpenAlex ID (\"W2741809807\"), DOI (\"10.1038/nature12373\" or full URL), PMID, or PMCID. Use openalex_resolve_name first if you only have a title."
},
"per_page": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Results per page (1-100). Default 25."
},
"direction": {
"enum": [
"cites",
"cited_by",
"related_to"
],
"type": "string",
"description": "\"cites\": works that cite seed_id (incoming citations). \"cited_by\": works that seed_id cites (its reference list). \"related_to\": OpenAlex algorithmically-related works (~8-30 typical, may be empty for less-cited seeds)."
}
}
}Parent server
@cyanheads/openalex-mcp-server
https://github.com/cyanheads/openalex-mcp-server
2/7 registries