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.

Run with Naftiko Science Museum GroupDocuments

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

collection-documents.yaml Raw ↑
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: $.