Science Museum Group · Capability
Science Museum Group Collection API — People
Science Museum Group Collection API — People. 2 operations. Lead operation: Get Collection Person. Self-contained Naftiko capability covering one Science Museum Group business surface.
What You Can Do
GET
Getperson
— Get Collection Person
/v1/people/{id}
GET
Searchpeople
— Search Collection People
/v1/search/people
MCP Tools
get-collection-person
Get Collection Person
read-only
idempotent
search-collection-people
Search Collection People
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Science Museum Group Collection API — People
description: 'Science Museum Group Collection API — People. 2 operations. Lead operation: Get Collection Person. Self-contained
Naftiko capability covering one Science Museum Group business surface.'
tags:
- Science Museum Group
- People
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-people
baseUri: https://collection.sciencemuseumgroup.org.uk
description: Science Museum Group Collection API — People business capability. Self-contained, no shared references.
resources:
- name: people-id
path: /people/{id}
operations:
- name: getperson
method: GET
description: Get Collection Person
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique person identifier
required: true
- name: search-people
path: /search/people
operations:
- name: searchpeople
method: GET
description: Search Collection People
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Full-text search query term
- name: birth[place]
in: query
type: string
description: Filter by birth place
- name: birth[date]
in: query
type: string
description: Filter by birth date (year or year-month)
- name: death[date]
in: query
type: string
description: Filter by death date (year or year-month)
- name: occupation
in: query
type: string
description: Filter by occupation or profession
- name: places
in: query
type: string
description: Filter by geographical association
- name: images
in: query
type: boolean
description: Filter to people 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-people-rest
port: 8080
description: REST adapter for Science Museum Group Collection API — People. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/people/{id}
name: people-id
description: REST surface for people-id.
operations:
- method: GET
name: getperson
description: Get Collection Person
call: collection-people.getperson
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/search/people
name: search-people
description: REST surface for search-people.
operations:
- method: GET
name: searchpeople
description: Search Collection People
call: collection-people.searchpeople
with:
q: rest.q
birth[place]: rest.birth[place]
birth[date]: rest.birth[date]
death[date]: rest.death[date]
occupation: rest.occupation
places: rest.places
images: rest.images
page[number]: rest.page[number]
page[size]: rest.page[size]
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: collection-people-mcp
port: 9090
transport: http
description: MCP adapter for Science Museum Group Collection API — People. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: get-collection-person
description: Get Collection Person
hints:
readOnly: true
destructive: false
idempotent: true
call: collection-people.getperson
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: search-collection-people
description: Search Collection People
hints:
readOnly: true
destructive: false
idempotent: true
call: collection-people.searchpeople
with:
q: tools.q
birth[place]: tools.birth[place]
birth[date]: tools.birth[date]
death[date]: tools.death[date]
occupation: tools.occupation
places: tools.places
images: tools.images
page[number]: tools.page[number]
page[size]: tools.page[size]
outputParameters:
- type: object
mapping: $.