OpenAQ · Capability
OpenAQ — Sources
OpenAQ — Sources. 3 operations. Lead operation: OpenAQ Sources. Self-contained Naftiko capability covering one Openaq business surface.
What You Can Do
GET
Sourcesv1getv1sourcesget
— OpenAQ Sources
/v1/v1/sources
GET
Sourcesgetv2sourcesget
— OpenAQ Sources
/v1/v2/sources
GET
Readmegetv2sourcesreadmeslugget
— OpenAQ Source Readme
/v1/v2/sources/readme/{slug}
MCP Tools
openaq-sources
OpenAQ Sources
read-only
idempotent
openaq-sources-2
OpenAQ Sources
read-only
idempotent
openaq-source-readme
OpenAQ Source Readme
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: OpenAQ — Sources
description: 'OpenAQ — Sources. 3 operations. Lead operation: OpenAQ Sources. Self-contained Naftiko capability covering
one Openaq business surface.'
tags:
- Openaq
- Sources
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
OPENAQ_API_KEY: OPENAQ_API_KEY
capability:
consumes:
- type: http
namespace: openaq-sources
baseUri: ''
description: OpenAQ — Sources business capability. Self-contained, no shared references.
resources:
- name: v1-sources
path: /v1/sources
operations:
- name: sourcesv1getv1sourcesget
method: GET
description: OpenAQ Sources
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: string
- name: page
in: query
type: string
- name: offset
in: query
type: string
- name: sort
in: query
type: string
- name: name
in: query
type: string
- name: order_by
in: query
type: string
- name: v2-sources
path: /v2/sources
operations:
- name: sourcesgetv2sourcesget
method: GET
description: OpenAQ Sources
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: string
description: Change the number of results returned. e.g. limit=1000 will return up to 1000 results
- name: page
in: query
type: string
description: Paginate through results. e.g. page=1 will return first page of results
- name: offset
in: query
type: string
- name: sort
in: query
type: string
description: Define sort order. e.g. ?sort=asc
- name: source_name
in: query
type: string
- name: source_id
in: query
type: string
- name: source_slug
in: query
type: string
- name: order_by
in: query
type: string
description: Field by which to order the results e.g. ?order_by=sourceName or ?order_by=firstUpdated
- name: v2-sources-readme-slug
path: /v2/sources/readme/{slug}
operations:
- name: readmegetv2sourcesreadmeslugget
method: GET
description: OpenAQ Source Readme
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: slug
in: path
type: string
required: true
authentication:
type: apikey
key: X-API-Key
value: '{{env.OPENAQ_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: openaq-sources-rest
port: 8080
description: REST adapter for OpenAQ — Sources. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/v1/sources
name: v1-sources
description: REST surface for v1-sources.
operations:
- method: GET
name: sourcesv1getv1sourcesget
description: OpenAQ Sources
call: openaq-sources.sourcesv1getv1sourcesget
with:
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
name: rest.name
order_by: rest.order_by
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/sources
name: v2-sources
description: REST surface for v2-sources.
operations:
- method: GET
name: sourcesgetv2sourcesget
description: OpenAQ Sources
call: openaq-sources.sourcesgetv2sourcesget
with:
limit: rest.limit
page: rest.page
offset: rest.offset
sort: rest.sort
source_name: rest.source_name
source_id: rest.source_id
source_slug: rest.source_slug
order_by: rest.order_by
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/sources/readme/{slug}
name: v2-sources-readme-slug
description: REST surface for v2-sources-readme-slug.
operations:
- method: GET
name: readmegetv2sourcesreadmeslugget
description: OpenAQ Source Readme
call: openaq-sources.readmegetv2sourcesreadmeslugget
with:
slug: rest.slug
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: openaq-sources-mcp
port: 9090
transport: http
description: MCP adapter for OpenAQ — Sources. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: openaq-sources
description: OpenAQ Sources
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-sources.sourcesv1getv1sourcesget
with:
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
name: tools.name
order_by: tools.order_by
outputParameters:
- type: object
mapping: $.
- name: openaq-sources-2
description: OpenAQ Sources
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-sources.sourcesgetv2sourcesget
with:
limit: tools.limit
page: tools.page
offset: tools.offset
sort: tools.sort
source_name: tools.source_name
source_id: tools.source_id
source_slug: tools.source_slug
order_by: tools.order_by
outputParameters:
- type: object
mapping: $.
- name: openaq-source-readme
description: OpenAQ Source Readme
hints:
readOnly: true
destructive: false
idempotent: true
call: openaq-sources.readmegetv2sourcesreadmeslugget
with:
slug: tools.slug
outputParameters:
- type: object
mapping: $.