Stack Exchange · Capability

Stack Exchange API v2.3 — Tags

Tags surface of the Stack Exchange API. 7 operations. Lead operation: List Tags. Self-contained Naftiko capability covering one Stack Exchange business surface.

Run with Naftiko Stack ExchangeQ And ATags

What You Can Do

GET
Listtags — List Tags
/v1/tags
GET
Listtagsynonyms — List Tag Synonyms
/v1/tags/synonyms
GET
Gettagsinfo — Get Tags Info
/v1/tags/{tags}/info
GET
Listtopaskersintags — List Top Askers in Tags
/v1/tags/{tags}/top-askers/{period}
GET
Listtopanswerersintags — List Top Answerers in Tags
/v1/tags/{tags}/top-answerers/{period}
GET
Listrelatedtags — List Related Tags
/v1/tags/{tags}/related
GET
Gettagwikis — Get Tag Wikis
/v1/tags/{tag}/wikis

MCP Tools

list-tags

List Tags

read-only idempotent
list-tag-synonyms

List Tag Synonyms

read-only idempotent
get-tags-info

Get Tags Info

read-only idempotent
list-top-askers-tags

List Top Askers in Tags

read-only idempotent
list-top-answerers-tags

List Top Answerers in Tags

read-only idempotent
list-related-tags

List Related Tags

read-only idempotent
get-tag-wikis

Get Tag Wikis

read-only idempotent

Capability Spec

stack-exchange-tags.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stack Exchange API v2.3 — Tags
  description: 'Tags surface of the Stack Exchange API. 7 operations. Lead operation: List Tags. Self-contained Naftiko capability covering one Stack Exchange business surface.'
  tags:
  - Stack Exchange
  - Q And A
  - Tags
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
- namespace: env
  keys:
    STACK_EXCHANGE_KEY: STACK_EXCHANGE_KEY
    STACK_EXCHANGE_ACCESS_TOKEN: STACK_EXCHANGE_ACCESS_TOKEN
capability:
  consumes:
  - type: http
    namespace: stack-exchange-tags
    baseUri: https://api.stackexchange.com/2.3
    description: Stack Exchange API v2.3 — Tags business capability. Self-contained, no shared references.
    authentication:
      type: apikey
      key: key
      value: '{{env.STACK_EXCHANGE_KEY}}'
      placement: query
    resources:
    - name: tags
      path: /tags
      operations:
      - name: listTags
        method: GET
        description: List Tags
        inputParameters:
        - name: site
          in: query
          type: string
          required: true
          description: Target Q&A community. Either the api_site_parameter from a `/sites` entry (e.g. `stackoverflow`, `serverfault`, `superuser`) or a full domain (`stackoverflow.com`).
        - name: key
          in: query
          type: string
          required: false
          description: App key from stackapps.com. Raises the daily quota to 10,000/IP.
        - name: filter
          in: query
          type: string
          required: false
          description: Custom response filter id created via /filters/create.
        - name: page
          in: query
          type: integer
          required: false
          description: 1-indexed page number.
        - name: pagesize
          in: query
          type: integer
          required: false
          description: Items per page (max 100).
        - name: order
          in: query
          type: string
          required: false
          description: Sort direction.
        - name: sort
          in: query
          type: string
          required: false
          description: sort parameter
        - name: inname
          in: query
          type: string
          required: false
          description: inname parameter
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tags-synonyms
      path: /tags/synonyms
      operations:
      - name: listTagSynonyms
        method: GET
        description: List Tag Synonyms
        inputParameters:
        - name: site
          in: query
          type: string
          required: true
          description: Target Q&A community. Either the api_site_parameter from a `/sites` entry (e.g. `stackoverflow`, `serverfault`, `superuser`) or a full domain (`stackoverflow.com`).
        - name: key
          in: query
          type: string
          required: false
          description: App key from stackapps.com. Raises the daily quota to 10,000/IP.
        - name: filter
          in: query
          type: string
          required: false
          description: Custom response filter id created via /filters/create.
        - name: page
          in: query
          type: integer
          required: false
          description: 1-indexed page number.
        - name: pagesize
          in: query
          type: integer
          required: false
          description: Items per page (max 100).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tags-tags-info
      path: /tags/{tags}/info
      operations:
      - name: getTagsInfo
        method: GET
        description: Get Tags Info
        inputParameters:
        - name: tags
          in: path
          type: string
          required: true
          description: Up to 100 semicolon-delimited tag names.
        - name: site
          in: query
          type: string
          required: true
          description: Target Q&A community. Either the api_site_parameter from a `/sites` entry (e.g. `stackoverflow`, `serverfault`, `superuser`) or a full domain (`stackoverflow.com`).
        - name: key
          in: query
          type: string
          required: false
          description: App key from stackapps.com. Raises the daily quota to 10,000/IP.
        - name: filter
          in: query
          type: string
          required: false
          description: Custom response filter id created via /filters/create.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tags-tags-top-askers-period
      path: /tags/{tags}/top-askers/{period}
      operations:
      - name: listTopAskersInTags
        method: GET
        description: List Top Askers in Tags
        inputParameters:
        - name: tags
          in: path
          type: string
          required: true
          description: tags parameter
        - name: period
          in: path
          type: string
          required: true
          description: period parameter
        - name: site
          in: query
          type: string
          required: true
          description: Target Q&A community. Either the api_site_parameter from a `/sites` entry (e.g. `stackoverflow`, `serverfault`, `superuser`) or a full domain (`stackoverflow.com`).
        - name: key
          in: query
          type: string
          required: false
          description: App key from stackapps.com. Raises the daily quota to 10,000/IP.
        - name: filter
          in: query
          type: string
          required: false
          description: Custom response filter id created via /filters/create.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tags-tags-top-answerers-period
      path: /tags/{tags}/top-answerers/{period}
      operations:
      - name: listTopAnswerersInTags
        method: GET
        description: List Top Answerers in Tags
        inputParameters:
        - name: tags
          in: path
          type: string
          required: true
          description: tags parameter
        - name: period
          in: path
          type: string
          required: true
          description: period parameter
        - name: site
          in: query
          type: string
          required: true
          description: Target Q&A community. Either the api_site_parameter from a `/sites` entry (e.g. `stackoverflow`, `serverfault`, `superuser`) or a full domain (`stackoverflow.com`).
        - name: key
          in: query
          type: string
          required: false
          description: App key from stackapps.com. Raises the daily quota to 10,000/IP.
        - name: filter
          in: query
          type: string
          required: false
          description: Custom response filter id created via /filters/create.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tags-tags-related
      path: /tags/{tags}/related
      operations:
      - name: listRelatedTags
        method: GET
        description: List Related Tags
        inputParameters:
        - name: tags
          in: path
          type: string
          required: true
          description: tags parameter
        - name: site
          in: query
          type: string
          required: true
          description: Target Q&A community. Either the api_site_parameter from a `/sites` entry (e.g. `stackoverflow`, `serverfault`, `superuser`) or a full domain (`stackoverflow.com`).
        - name: key
          in: query
          type: string
          required: false
          description: App key from stackapps.com. Raises the daily quota to 10,000/IP.
        - name: filter
          in: query
          type: string
          required: false
          description: Custom response filter id created via /filters/create.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: tags-tag-wikis
      path: /tags/{tag}/wikis
      operations:
      - name: getTagWikis
        method: GET
        description: Get Tag Wikis
        inputParameters:
        - name: tag
          in: path
          type: string
          required: true
          description: tag parameter
        - name: site
          in: query
          type: string
          required: true
          description: Target Q&A community. Either the api_site_parameter from a `/sites` entry (e.g. `stackoverflow`, `serverfault`, `superuser`) or a full domain (`stackoverflow.com`).
        - name: key
          in: query
          type: string
          required: false
          description: App key from stackapps.com. Raises the daily quota to 10,000/IP.
        - name: filter
          in: query
          type: string
          required: false
          description: Custom response filter id created via /filters/create.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: stack-exchange-tags-rest
    port: 8080
    description: REST adapter for Stack Exchange API v2.3 — Tags. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/tags
      name: tags
      description: REST surface for tags.
      operations:
      - method: GET
        name: listTags
        description: List Tags
        call: stack-exchange-tags.listTags
        with:
          site: rest.site
          key: rest.key
          filter: rest.filter
          page: rest.page
          pagesize: rest.pagesize
          order: rest.order
          sort: rest.sort
          inname: rest.inname
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tags/synonyms
      name: synonyms
      description: REST surface for tags.
      operations:
      - method: GET
        name: listTagSynonyms
        description: List Tag Synonyms
        call: stack-exchange-tags.listTagSynonyms
        with:
          site: rest.site
          key: rest.key
          filter: rest.filter
          page: rest.page
          pagesize: rest.pagesize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tags/{tags}/info
      name: info
      description: REST surface for tags.
      operations:
      - method: GET
        name: getTagsInfo
        description: Get Tags Info
        call: stack-exchange-tags.getTagsInfo
        with:
          tags: rest.tags
          site: rest.site
          key: rest.key
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tags/{tags}/top-askers/{period}
      name: top-askers
      description: REST surface for tags.
      operations:
      - method: GET
        name: listTopAskersInTags
        description: List Top Askers in Tags
        call: stack-exchange-tags.listTopAskersInTags
        with:
          tags: rest.tags
          period: rest.period
          site: rest.site
          key: rest.key
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tags/{tags}/top-answerers/{period}
      name: top-answerers
      description: REST surface for tags.
      operations:
      - method: GET
        name: listTopAnswerersInTags
        description: List Top Answerers in Tags
        call: stack-exchange-tags.listTopAnswerersInTags
        with:
          tags: rest.tags
          period: rest.period
          site: rest.site
          key: rest.key
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tags/{tags}/related
      name: related
      description: REST surface for tags.
      operations:
      - method: GET
        name: listRelatedTags
        description: List Related Tags
        call: stack-exchange-tags.listRelatedTags
        with:
          tags: rest.tags
          site: rest.site
          key: rest.key
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tags/{tag}/wikis
      name: wikis
      description: REST surface for tags.
      operations:
      - method: GET
        name: getTagWikis
        description: Get Tag Wikis
        call: stack-exchange-tags.getTagWikis
        with:
          tag: rest.tag
          site: rest.site
          key: rest.key
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: stack-exchange-tags-mcp
    port: 9090
    transport: http
    description: MCP adapter for Stack Exchange API v2.3 — Tags. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: list-tags
      description: List Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-tags.listTags
      with:
        site: tools.site
        key: tools.key
        filter: tools.filter
        page: tools.page
        pagesize: tools.pagesize
        order: tools.order
        sort: tools.sort
        inname: tools.inname
      outputParameters:
      - type: object
        mapping: $.
    - name: list-tag-synonyms
      description: List Tag Synonyms
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-tags.listTagSynonyms
      with:
        site: tools.site
        key: tools.key
        filter: tools.filter
        page: tools.page
        pagesize: tools.pagesize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tags-info
      description: Get Tags Info
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-tags.getTagsInfo
      with:
        tags: tools.tags
        site: tools.site
        key: tools.key
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: list-top-askers-tags
      description: List Top Askers in Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-tags.listTopAskersInTags
      with:
        tags: tools.tags
        period: tools.period
        site: tools.site
        key: tools.key
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: list-top-answerers-tags
      description: List Top Answerers in Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-tags.listTopAnswerersInTags
      with:
        tags: tools.tags
        period: tools.period
        site: tools.site
        key: tools.key
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: list-related-tags
      description: List Related Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-tags.listRelatedTags
      with:
        tags: tools.tags
        site: tools.site
        key: tools.key
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: get-tag-wikis
      description: Get Tag Wikis
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-tags.getTagWikis
      with:
        tag: tools.tag
        site: tools.site
        key: tools.key
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.