GitHub · Capability
GitHub Repos API — Tags
GitHub Repos API — Tags. 7 operations. Lead operation: Create Tag Object. Self-contained Naftiko capability covering one Github business surface.
What You Can Do
POST
Createtagobject
— Create Tag Object
/v1/repos/{owner}/{repo}/git/tags
GET
Gettag
— Get Tag
/v1/repos/{owner}/{repo}/git/tags/{tag-sha}
GET
Getreleasebytagname
— Get Release By Tag Name
/v1/repos/{owner}/{repo}/releases/tags/{tag}
GET
Listrepositorytags
— List Repository Tags
/v1/repos/{owner}/{repo}/tags
GET
Listtagprotectionstatesforrepository
— List Tag Protection States For Repository
/v1/repos/{owner}/{repo}/tags/protection
POST
Createtagprotectionstateforrepository
— Create Tag Protection State For Repository
/v1/repos/{owner}/{repo}/tags/protection
DELETE
Deletetagprotectionstateforrepository
— Delete Tag Protection State For Repository
/v1/repos/{owner}/{repo}/tags/protection/{tag-protection-id}
MCP Tools
create-tag-object
Create Tag Object
get-tag
Get Tag
read-only
idempotent
get-release-tag-name
Get Release By Tag Name
read-only
idempotent
list-repository-tags
List Repository Tags
read-only
idempotent
list-tag-protection-states-repository
List Tag Protection States For Repository
read-only
idempotent
create-tag-protection-state-repository
Create Tag Protection State For Repository
delete-tag-protection-state-repository
Delete Tag Protection State For Repository
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: GitHub Repos API — Tags
description: 'GitHub Repos API — Tags. 7 operations. Lead operation: Create Tag Object. Self-contained Naftiko capability
covering one Github business surface.'
tags:
- Github
- Tags
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GITHUB_API_KEY: GITHUB_API_KEY
capability:
consumes:
- type: http
namespace: temp-tags
baseUri: ''
description: GitHub Repos API — Tags business capability. Self-contained, no shared references.
resources:
- name: repos-owner-repo-git-tags
path: /repos/{owner}/{repo}/git/tags
operations:
- name: createtagobject
method: POST
description: Create Tag Object
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
- name: X-GitHub-Api-Version
in: header
type: string
- name: Accept
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: repos-owner-repo-git-tags-tag_sha
path: /repos/{owner}/{repo}/git/tags/{tag_sha}
operations:
- name: gettag
method: GET
description: Get Tag
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tag_sha
in: path
type: string
required: true
- name: Authorization
in: header
type: string
- name: X-GitHub-Api-Version
in: header
type: string
- name: Accept
in: header
type: string
- name: repos-owner-repo-releases-tags-tag
path: /repos/{owner}/{repo}/releases/tags/{tag}
operations:
- name: getreleasebytagname
method: GET
description: Get Release By Tag Name
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tag
in: path
type: string
description: tag parameter
required: true
- name: Authorization
in: header
type: string
- name: X-GitHub-Api-Version
in: header
type: string
- name: Accept
in: header
type: string
- name: repos-owner-repo-tags
path: /repos/{owner}/{repo}/tags
operations:
- name: listrepositorytags
method: GET
description: List Repository Tags
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
- name: X-GitHub-Api-Version
in: header
type: string
- name: Accept
in: header
type: string
- name: repos-owner-repo-tags-protection
path: /repos/{owner}/{repo}/tags/protection
operations:
- name: listtagprotectionstatesforrepository
method: GET
description: List Tag Protection States For Repository
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
- name: X-GitHub-Api-Version
in: header
type: string
- name: Accept
in: header
type: string
- name: createtagprotectionstateforrepository
method: POST
description: Create Tag Protection State For Repository
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
- name: X-GitHub-Api-Version
in: header
type: string
- name: Accept
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: repos-owner-repo-tags-protection-tag_protection_id
path: /repos/{owner}/{repo}/tags/protection/{tag_protection_id}
operations:
- name: deletetagprotectionstateforrepository
method: DELETE
description: Delete Tag Protection State For Repository
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
- name: X-GitHub-Api-Version
in: header
type: string
- name: Accept
in: header
type: string
authentication:
type: bearer
token: '{{env.GITHUB_API_KEY}}'
exposes:
- type: rest
namespace: temp-tags-rest
port: 8080
description: REST adapter for GitHub Repos API — Tags. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/repos/{owner}/{repo}/git/tags
name: repos-owner-repo-git-tags
description: REST surface for repos-owner-repo-git-tags.
operations:
- method: POST
name: createtagobject
description: Create Tag Object
call: temp-tags.createtagobject
with:
Authorization: rest.Authorization
X-GitHub-Api-Version: rest.X-GitHub-Api-Version
Accept: rest.Accept
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/repos/{owner}/{repo}/git/tags/{tag-sha}
name: repos-owner-repo-git-tags-tag-sha
description: REST surface for repos-owner-repo-git-tags-tag_sha.
operations:
- method: GET
name: gettag
description: Get Tag
call: temp-tags.gettag
with:
tag_sha: rest.tag_sha
Authorization: rest.Authorization
X-GitHub-Api-Version: rest.X-GitHub-Api-Version
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- path: /v1/repos/{owner}/{repo}/releases/tags/{tag}
name: repos-owner-repo-releases-tags-tag
description: REST surface for repos-owner-repo-releases-tags-tag.
operations:
- method: GET
name: getreleasebytagname
description: Get Release By Tag Name
call: temp-tags.getreleasebytagname
with:
tag: rest.tag
Authorization: rest.Authorization
X-GitHub-Api-Version: rest.X-GitHub-Api-Version
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- path: /v1/repos/{owner}/{repo}/tags
name: repos-owner-repo-tags
description: REST surface for repos-owner-repo-tags.
operations:
- method: GET
name: listrepositorytags
description: List Repository Tags
call: temp-tags.listrepositorytags
with:
Authorization: rest.Authorization
X-GitHub-Api-Version: rest.X-GitHub-Api-Version
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- path: /v1/repos/{owner}/{repo}/tags/protection
name: repos-owner-repo-tags-protection
description: REST surface for repos-owner-repo-tags-protection.
operations:
- method: GET
name: listtagprotectionstatesforrepository
description: List Tag Protection States For Repository
call: temp-tags.listtagprotectionstatesforrepository
with:
Authorization: rest.Authorization
X-GitHub-Api-Version: rest.X-GitHub-Api-Version
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- method: POST
name: createtagprotectionstateforrepository
description: Create Tag Protection State For Repository
call: temp-tags.createtagprotectionstateforrepository
with:
Authorization: rest.Authorization
X-GitHub-Api-Version: rest.X-GitHub-Api-Version
Accept: rest.Accept
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/repos/{owner}/{repo}/tags/protection/{tag-protection-id}
name: repos-owner-repo-tags-protection-tag-protection-id
description: REST surface for repos-owner-repo-tags-protection-tag_protection_id.
operations:
- method: DELETE
name: deletetagprotectionstateforrepository
description: Delete Tag Protection State For Repository
call: temp-tags.deletetagprotectionstateforrepository
with:
Authorization: rest.Authorization
X-GitHub-Api-Version: rest.X-GitHub-Api-Version
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: temp-tags-mcp
port: 9090
transport: http
description: MCP adapter for GitHub Repos API — Tags. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: create-tag-object
description: Create Tag Object
hints:
readOnly: false
destructive: false
idempotent: false
call: temp-tags.createtagobject
with:
Authorization: tools.Authorization
X-GitHub-Api-Version: tools.X-GitHub-Api-Version
Accept: tools.Accept
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-tag
description: Get Tag
hints:
readOnly: true
destructive: false
idempotent: true
call: temp-tags.gettag
with:
tag_sha: tools.tag_sha
Authorization: tools.Authorization
X-GitHub-Api-Version: tools.X-GitHub-Api-Version
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.
- name: get-release-tag-name
description: Get Release By Tag Name
hints:
readOnly: true
destructive: false
idempotent: true
call: temp-tags.getreleasebytagname
with:
tag: tools.tag
Authorization: tools.Authorization
X-GitHub-Api-Version: tools.X-GitHub-Api-Version
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.
- name: list-repository-tags
description: List Repository Tags
hints:
readOnly: true
destructive: false
idempotent: true
call: temp-tags.listrepositorytags
with:
Authorization: tools.Authorization
X-GitHub-Api-Version: tools.X-GitHub-Api-Version
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.
- name: list-tag-protection-states-repository
description: List Tag Protection States For Repository
hints:
readOnly: true
destructive: false
idempotent: true
call: temp-tags.listtagprotectionstatesforrepository
with:
Authorization: tools.Authorization
X-GitHub-Api-Version: tools.X-GitHub-Api-Version
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.
- name: create-tag-protection-state-repository
description: Create Tag Protection State For Repository
hints:
readOnly: false
destructive: false
idempotent: false
call: temp-tags.createtagprotectionstateforrepository
with:
Authorization: tools.Authorization
X-GitHub-Api-Version: tools.X-GitHub-Api-Version
Accept: tools.Accept
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-tag-protection-state-repository
description: Delete Tag Protection State For Repository
hints:
readOnly: false
destructive: true
idempotent: true
call: temp-tags.deletetagprotectionstateforrepository
with:
Authorization: tools.Authorization
X-GitHub-Api-Version: tools.X-GitHub-Api-Version
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.