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: $.