LangChain · Capability
LangSmith — repos
LangSmith — repos. 9 operations. Lead operation: List Repos. Self-contained Naftiko capability covering one Langchain business surface.
What You Can Do
GET
Listreposapiv1reposget
— List Repos
/v1/api/v1/repos
POST
Createrepoapiv1repospost
— Create Repo
/v1/api/v1/repos
DELETE
Deletereposapiv1reposdelete
— Delete Repos
/v1/api/v1/repos
POST
Optimizepromptjobapiv1reposoptimizejobpost
— Optimize Prompt Job
/v1/api/v1/repos/optimize-job
GET
Listrepotagsapiv1repostagsget
— List Repo Tags
/v1/api/v1/repos/tags
GET
Getrepoapiv1reposownerrepoget
— Get Repo
/v1/api/v1/repos/{owner}/{repo}
PATCH
Updaterepoapiv1reposownerrepopatch
— Update Repo
/v1/api/v1/repos/{owner}/{repo}
DELETE
Deleterepoapiv1reposownerrepodelete
— Delete Repo
/v1/api/v1/repos/{owner}/{repo}
POST
Forkrepoapiv1reposownerrepoforkpost
— Fork Repo
/v1/api/v1/repos/{owner}/{repo}/fork
MCP Tools
list-repos
List Repos
read-only
idempotent
create-repo
Create Repo
delete-repos
Delete Repos
idempotent
optimize-prompt-job
Optimize Prompt Job
list-repo-tags
List Repo Tags
read-only
idempotent
get-repo
Get Repo
read-only
idempotent
update-repo
Update Repo
idempotent
delete-repo
Delete Repo
idempotent
fork-repo
Fork Repo
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: LangSmith — repos
description: 'LangSmith — repos. 9 operations. Lead operation: List Repos. Self-contained Naftiko capability covering one
Langchain business surface.'
tags:
- Langchain
- repos
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
LANGCHAIN_API_KEY: LANGCHAIN_API_KEY
capability:
consumes:
- type: http
namespace: langchain-repos
baseUri: ''
description: LangSmith — repos business capability. Self-contained, no shared references.
resources:
- name: api-v1-repos
path: /api/v1/repos
operations:
- name: listreposapiv1reposget
method: GET
description: List Repos
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: with_latest_manifest
in: query
type: boolean
- name: limit
in: query
type: integer
- name: offset
in: query
type: integer
- name: tenant_handle
in: query
type: string
- name: tenant_id
in: query
type: string
- name: query
in: query
type: string
- name: has_commits
in: query
type: string
- name: tags
in: query
type: string
- name: is_archived
in: query
type: string
- name: is_public
in: query
type: string
- name: upstream_repo_owner
in: query
type: string
- name: upstream_repo_handle
in: query
type: string
- name: tag_value_id
in: query
type: string
- name: repo_type
in: query
type: string
- name: repo_types
in: query
type: string
- name: sort_field
in: query
type: string
- name: sort_direction
in: query
type: string
- name: createrepoapiv1repospost
method: POST
description: Create Repo
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletereposapiv1reposdelete
method: DELETE
description: Delete Repos
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: repo_ids
in: query
type: array
required: true
- name: api-v1-repos-optimize-job
path: /api/v1/repos/optimize-job
operations:
- name: optimizepromptjobapiv1reposoptimizejobpost
method: POST
description: Optimize Prompt Job
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: api-v1-repos-tags
path: /api/v1/repos/tags
operations:
- name: listrepotagsapiv1repostagsget
method: GET
description: List Repo Tags
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: limit
in: query
type: integer
- name: offset
in: query
type: integer
- name: tenant_handle
in: query
type: string
- name: tenant_id
in: query
type: string
- name: query
in: query
type: string
- name: has_commits
in: query
type: string
- name: tags
in: query
type: string
- name: is_archived
in: query
type: string
- name: is_public
in: query
type: string
- name: upstream_repo_owner
in: query
type: string
- name: upstream_repo_handle
in: query
type: string
- name: tag_value_id
in: query
type: string
- name: repo_type
in: query
type: string
- name: repo_types
in: query
type: string
- name: api-v1-repos-owner-repo
path: /api/v1/repos/{owner}/{repo}
operations:
- name: getrepoapiv1reposownerrepoget
method: GET
description: Get Repo
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
required: true
- name: repo
in: path
type: string
required: true
- name: updaterepoapiv1reposownerrepopatch
method: PATCH
description: Update Repo
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
required: true
- name: repo
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deleterepoapiv1reposownerrepodelete
method: DELETE
description: Delete Repo
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
required: true
- name: repo
in: path
type: string
required: true
- name: api-v1-repos-owner-repo-fork
path: /api/v1/repos/{owner}/{repo}/fork
operations:
- name: forkrepoapiv1reposownerrepoforkpost
method: POST
description: Fork Repo
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
required: true
- name: repo
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: bearer
token: '{{env.LANGCHAIN_API_KEY}}'
exposes:
- type: rest
namespace: langchain-repos-rest
port: 8080
description: REST adapter for LangSmith — repos. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/api/v1/repos
name: api-v1-repos
description: REST surface for api-v1-repos.
operations:
- method: GET
name: listreposapiv1reposget
description: List Repos
call: langchain-repos.listreposapiv1reposget
with:
with_latest_manifest: rest.with_latest_manifest
limit: rest.limit
offset: rest.offset
tenant_handle: rest.tenant_handle
tenant_id: rest.tenant_id
query: rest.query
has_commits: rest.has_commits
tags: rest.tags
is_archived: rest.is_archived
is_public: rest.is_public
upstream_repo_owner: rest.upstream_repo_owner
upstream_repo_handle: rest.upstream_repo_handle
tag_value_id: rest.tag_value_id
repo_type: rest.repo_type
repo_types: rest.repo_types
sort_field: rest.sort_field
sort_direction: rest.sort_direction
outputParameters:
- type: object
mapping: $.
- method: POST
name: createrepoapiv1repospost
description: Create Repo
call: langchain-repos.createrepoapiv1repospost
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletereposapiv1reposdelete
description: Delete Repos
call: langchain-repos.deletereposapiv1reposdelete
with:
repo_ids: rest.repo_ids
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/repos/optimize-job
name: api-v1-repos-optimize-job
description: REST surface for api-v1-repos-optimize-job.
operations:
- method: POST
name: optimizepromptjobapiv1reposoptimizejobpost
description: Optimize Prompt Job
call: langchain-repos.optimizepromptjobapiv1reposoptimizejobpost
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/repos/tags
name: api-v1-repos-tags
description: REST surface for api-v1-repos-tags.
operations:
- method: GET
name: listrepotagsapiv1repostagsget
description: List Repo Tags
call: langchain-repos.listrepotagsapiv1repostagsget
with:
limit: rest.limit
offset: rest.offset
tenant_handle: rest.tenant_handle
tenant_id: rest.tenant_id
query: rest.query
has_commits: rest.has_commits
tags: rest.tags
is_archived: rest.is_archived
is_public: rest.is_public
upstream_repo_owner: rest.upstream_repo_owner
upstream_repo_handle: rest.upstream_repo_handle
tag_value_id: rest.tag_value_id
repo_type: rest.repo_type
repo_types: rest.repo_types
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/repos/{owner}/{repo}
name: api-v1-repos-owner-repo
description: REST surface for api-v1-repos-owner-repo.
operations:
- method: GET
name: getrepoapiv1reposownerrepoget
description: Get Repo
call: langchain-repos.getrepoapiv1reposownerrepoget
with:
owner: rest.owner
repo: rest.repo
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updaterepoapiv1reposownerrepopatch
description: Update Repo
call: langchain-repos.updaterepoapiv1reposownerrepopatch
with:
owner: rest.owner
repo: rest.repo
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deleterepoapiv1reposownerrepodelete
description: Delete Repo
call: langchain-repos.deleterepoapiv1reposownerrepodelete
with:
owner: rest.owner
repo: rest.repo
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/repos/{owner}/{repo}/fork
name: api-v1-repos-owner-repo-fork
description: REST surface for api-v1-repos-owner-repo-fork.
operations:
- method: POST
name: forkrepoapiv1reposownerrepoforkpost
description: Fork Repo
call: langchain-repos.forkrepoapiv1reposownerrepoforkpost
with:
owner: rest.owner
repo: rest.repo
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: langchain-repos-mcp
port: 9090
transport: http
description: MCP adapter for LangSmith — repos. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-repos
description: List Repos
hints:
readOnly: true
destructive: false
idempotent: true
call: langchain-repos.listreposapiv1reposget
with:
with_latest_manifest: tools.with_latest_manifest
limit: tools.limit
offset: tools.offset
tenant_handle: tools.tenant_handle
tenant_id: tools.tenant_id
query: tools.query
has_commits: tools.has_commits
tags: tools.tags
is_archived: tools.is_archived
is_public: tools.is_public
upstream_repo_owner: tools.upstream_repo_owner
upstream_repo_handle: tools.upstream_repo_handle
tag_value_id: tools.tag_value_id
repo_type: tools.repo_type
repo_types: tools.repo_types
sort_field: tools.sort_field
sort_direction: tools.sort_direction
outputParameters:
- type: object
mapping: $.
- name: create-repo
description: Create Repo
hints:
readOnly: false
destructive: false
idempotent: false
call: langchain-repos.createrepoapiv1repospost
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-repos
description: Delete Repos
hints:
readOnly: false
destructive: true
idempotent: true
call: langchain-repos.deletereposapiv1reposdelete
with:
repo_ids: tools.repo_ids
outputParameters:
- type: object
mapping: $.
- name: optimize-prompt-job
description: Optimize Prompt Job
hints:
readOnly: false
destructive: false
idempotent: false
call: langchain-repos.optimizepromptjobapiv1reposoptimizejobpost
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-repo-tags
description: List Repo Tags
hints:
readOnly: true
destructive: false
idempotent: true
call: langchain-repos.listrepotagsapiv1repostagsget
with:
limit: tools.limit
offset: tools.offset
tenant_handle: tools.tenant_handle
tenant_id: tools.tenant_id
query: tools.query
has_commits: tools.has_commits
tags: tools.tags
is_archived: tools.is_archived
is_public: tools.is_public
upstream_repo_owner: tools.upstream_repo_owner
upstream_repo_handle: tools.upstream_repo_handle
tag_value_id: tools.tag_value_id
repo_type: tools.repo_type
repo_types: tools.repo_types
outputParameters:
- type: object
mapping: $.
- name: get-repo
description: Get Repo
hints:
readOnly: true
destructive: false
idempotent: true
call: langchain-repos.getrepoapiv1reposownerrepoget
with:
owner: tools.owner
repo: tools.repo
outputParameters:
- type: object
mapping: $.
- name: update-repo
description: Update Repo
hints:
readOnly: false
destructive: false
idempotent: true
call: langchain-repos.updaterepoapiv1reposownerrepopatch
with:
owner: tools.owner
repo: tools.repo
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-repo
description: Delete Repo
hints:
readOnly: false
destructive: true
idempotent: true
call: langchain-repos.deleterepoapiv1reposownerrepodelete
with:
owner: tools.owner
repo: tools.repo
outputParameters:
- type: object
mapping: $.
- name: fork-repo
description: Fork Repo
hints:
readOnly: false
destructive: false
idempotent: false
call: langchain-repos.forkrepoapiv1reposownerrepoforkpost
with:
owner: tools.owner
repo: tools.repo
body: tools.body
outputParameters:
- type: object
mapping: $.