Science Museum Group · Capability
Science Museum Group Collection API — Documents
Science Museum Group Collection API — Documents. 2 operations. Lead operation: Get Collection Document. Self-contained Naftiko capability covering one Science Museum Group business surface.
What You Can Do
GET
Getdocument
— Get Collection Document
/v1/documents/{id}
GET
Searchdocuments
— Search Collection Documents
/v1/search/documents
MCP Tools
get-collection-document
Get Collection Document
read-only
idempotent
search-collection-documents
Search Collection Documents
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Science Museum Group Collection API — Documents
description: 'Science Museum Group Collection API — Documents. 2 operations. Lead operation: Get Collection Document. Self-contained
Naftiko capability covering one Science Museum Group business surface.'
tags:
- Science Museum Group
- Documents
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCIENCE_MUSEUM_GROUP_API_KEY: SCIENCE_MUSEUM_GROUP_API_KEY
capability:
consumes:
- type: http
namespace: collection-documents
baseUri: https://collection.sciencemuseumgroup.org.uk
description: Science Museum Group Collection API — Documents business capability. Self-contained, no shared references.
resources:
- name: documents-id
path: /documents/{id}
operations:
- name: getdocument
method: GET
description: Get Collection Document
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique document identifier
required: true
- name: search-documents
path: /search/documents
operations:
- name: searchdocuments
method: GET
description: Search Collection Documents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Full-text search query term
- name: makers
in: query
type: string
description: Filter by document creator or maker
- name: people
in: query
type: string
description: Filter by associated person
- name: archive
in: query
type: string
description: Filter by archive reference
- name: places
in: query
type: string
description: Filter by geographical association
- name: date[from]
in: query
type: string
description: Filter from date
- name: date[to]
in: query
type: string
description: Filter to date
- name: images
in: query
type: boolean
description: Filter to documents with available images
- name: page[number]
in: query
type: integer
description: Zero-indexed page number
- name: page[size]
in: query
type: integer
description: Results per page (max 100)
exposes:
- type: rest
namespace: collection-documents-rest
port: 8080
description: REST adapter for Science Museum Group Collection API — Documents. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/documents/{id}
name: documents-id
description: REST surface for documents-id.
operations:
- method: GET
name: getdocument
description: Get Collection Document
call: collection-documents.getdocument
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/search/documents
name: search-documents
description: REST surface for search-documents.
operations:
- method: GET
name: searchdocuments
description: Search Collection Documents
call: collection-documents.searchdocuments
with:
q: rest.q
makers: rest.makers
people: rest.people
archive: rest.archive
places: rest.places
date[from]: rest.date[from]
date[to]: rest.date[to]
images: rest.images
page[number]: rest.page[number]
page[size]: rest.page[size]
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: collection-documents-mcp
port: 9090
transport: http
description: MCP adapter for Science Museum Group Collection API — Documents. One tool per consumed operation, routed
inline through this capability's consumes block.
tools:
- name: get-collection-document
description: Get Collection Document
hints:
readOnly: true
destructive: false
idempotent: true
call: collection-documents.getdocument
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: search-collection-documents
description: Search Collection Documents
hints:
readOnly: true
destructive: false
idempotent: true
call: collection-documents.searchdocuments
with:
q: tools.q
makers: tools.makers
people: tools.people
archive: tools.archive
places: tools.places
date[from]: tools.date[from]
date[to]: tools.date[to]
images: tools.images
page[number]: tools.page[number]
page[size]: tools.page[size]
outputParameters:
- type: object
mapping: $.