Crossref · Capability
Crossref — Members
Crossref — Members. 3 operations. Lead operation: Members. Self-contained Naftiko capability covering one Crossref business surface.
What You Can Do
GET
Get
— Returns a list of all Crossref members (mostly publishers).
/v1/members
GET
Get
— Returns metadata for a Crossref member, as an example use id 324
/v1/members/{id}
GET
Get
— Returns list of works associated with a Crossref member (deposited by a Crossref member) with {id}.
/v1/members/{id}/works
MCP Tools
returns-list-all-crossref-members
Returns a list of all Crossref members (mostly publishers).
read-only
idempotent
returns-metadata-crossref-member-example
Returns metadata for a Crossref member, as an example use id 324
read-only
idempotent
returns-list-works-associated-crossref
Returns list of works associated with a Crossref member (deposited by a Crossref member) with {id}.
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Crossref — Members
description: 'Crossref — Members. 3 operations. Lead operation: Members. Self-contained Naftiko capability covering one
Crossref business surface.'
tags:
- Crossref
- Members
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
CROSSREF_API_KEY: CROSSREF_API_KEY
capability:
consumes:
- type: http
namespace: crossref-members
baseUri: ''
description: Crossref — Members business capability. Self-contained, no shared references.
resources:
- name: members
path: /members
operations:
- name: get
method: GET
description: Returns a list of all Crossref members (mostly publishers).
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: cursor
in: query
type: string
description: Exposes the ability to deep page through large result sets, where offset would cause performance problems
- name: filter
in: query
type: string
description: Exposes the ability to filter by certain fields, supports a comma separated list of lucene filters,
e.g. `content-domain:psychoceramics.labs.crossref.org`
- name: query
in: query
type: string
description: Exposes the ability to free text query certain fields
- name: rows
in: query
type: integer
description: The number of rows per page
- name: mailto
in: query
type: string
description: The email address to identify yourself and be in the "polite pool"
- name: offset
in: query
type: integer
description: The number of rows to skip before returning
- name: members-id
path: /members/{id}
operations:
- name: get
method: GET
description: Returns metadata for a Crossref member, as an example use id 324
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: integer
required: true
- name: members-id-works
path: /members/{id}/works
operations:
- name: get
method: GET
description: Returns list of works associated with a Crossref member (deposited by a Crossref member) with {id}.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: rows
in: query
type: integer
description: The number of rows per page
- name: order
in: query
type: string
description: Combined with sort can be used to specify the order of results, e.g. asc or desc
- name: facet
in: query
type: string
description: Exposes the ability to retrieve counts for pre-defined facets e.g. `type-name:*` returns counts of
all works by type
- name: sample
in: query
type: integer
description: Exposes the ability to return `N` randomly sampled items
- name: sort
in: query
type: string
description: Exposes the ability to sort results by a certain field, e.g. `score`
- name: offset
in: query
type: integer
description: The number of rows to skip before returning
- name: mailto
in: query
type: string
description: The email address to identify yourself and be in the "polite pool"
- name: select
in: query
type: string
description: Exposes the ability to select certain fields, supports a comma separated list of fields, e.g. `DOI,volume`
- name: query
in: query
type: string
description: Exposes the ability to free text query certain fields
- name: filter
in: query
type: string
description: Exposes the ability to filter by certain fields, supports a comma separated list of lucene filters,
e.g. `content-domain:psychoceramics.labs.crossref.org`
- name: cursor
in: query
type: string
description: Exposes the ability to deep page through large result sets, where offset would cause performance problems
- name: id
in: path
type: integer
required: true
exposes:
- type: rest
namespace: crossref-members-rest
port: 8080
description: REST adapter for Crossref — Members. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/members
name: members
description: REST surface for members.
operations:
- method: GET
name: get
description: Returns a list of all Crossref members (mostly publishers).
call: crossref-members.get
with:
cursor: rest.cursor
filter: rest.filter
query: rest.query
rows: rest.rows
mailto: rest.mailto
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/members/{id}
name: members-id
description: REST surface for members-id.
operations:
- method: GET
name: get
description: Returns metadata for a Crossref member, as an example use id 324
call: crossref-members.get
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/members/{id}/works
name: members-id-works
description: REST surface for members-id-works.
operations:
- method: GET
name: get
description: Returns list of works associated with a Crossref member (deposited by a Crossref member) with {id}.
call: crossref-members.get
with:
rows: rest.rows
order: rest.order
facet: rest.facet
sample: rest.sample
sort: rest.sort
offset: rest.offset
mailto: rest.mailto
select: rest.select
query: rest.query
filter: rest.filter
cursor: rest.cursor
id: rest.id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: crossref-members-mcp
port: 9090
transport: http
description: MCP adapter for Crossref — Members. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: returns-list-all-crossref-members
description: Returns a list of all Crossref members (mostly publishers).
hints:
readOnly: true
destructive: false
idempotent: true
call: crossref-members.get
with:
cursor: tools.cursor
filter: tools.filter
query: tools.query
rows: tools.rows
mailto: tools.mailto
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: returns-metadata-crossref-member-example
description: Returns metadata for a Crossref member, as an example use id 324
hints:
readOnly: true
destructive: false
idempotent: true
call: crossref-members.get
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: returns-list-works-associated-crossref
description: Returns list of works associated with a Crossref member (deposited by a Crossref member) with {id}.
hints:
readOnly: true
destructive: false
idempotent: true
call: crossref-members.get
with:
rows: tools.rows
order: tools.order
facet: tools.facet
sample: tools.sample
sort: tools.sort
offset: tools.offset
mailto: tools.mailto
select: tools.select
query: tools.query
filter: tools.filter
cursor: tools.cursor
id: tools.id
outputParameters:
- type: object
mapping: $.