Skip to content

apps.discoverApp

POST
/v1/apps/discover
curl --request POST \
--url https://example.com/v1/apps/discover \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "input": "example" }'

Finds Apps at a domain or HTTPS link. Returns OpenBot App Protocol candidates, configuration requirements and provenance (where each candidate came from). It does not add a connection, authorize an account or index a service.

Media typeapplication/json
object
input
required
string
>= 1 characters

Example generated

{
"input": "example"
}

Success

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: Single
candidate
required
object
cardUrl
required
string
card
required
object
$schema
required
string
Allowed values: https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json
name
required
string
>= 2 characters <= 200 characters
version
required
string
>= 1 characters <= 255 characters
description
required
string
>= 1 characters <= 100 characters
title
Any of:
string
>= 1 characters <= 100 characters
websiteUrl
Any of:
string
repository
Any of:
object
url
required
string
source
required
string
subfolder
Any of:
string
id
Any of:
string
icons
Any of:
Array<object>
object
src
required
string
mimeType
Any of:
string
sizes
Any of:
Array<string>
theme
Any of:
string
Allowed values: light dark
remotes
Any of:
Array<object>
object
type
required
string
Allowed values: streamable-http sse
url
required
string
headers
Any of:
Array<object>
object
description
Any of:
string
isRequired
Any of:
boolean
isSecret
Any of:
boolean
format
Any of:
string
Allowed values: string number boolean filepath
default
Any of:
string
placeholder
Any of:
string
value
Any of:
string
choices
Any of:
Array<string>
name
required
string
variables
Any of:
object
key
additional properties
object
description
Any of:
string
isRequired
Any of:
boolean
isSecret
Any of:
boolean
format
Any of:
string
Allowed values: string number boolean filepath
default
Any of:
string
placeholder
Any of:
string
value
Any of:
string
choices
Any of:
Array<string>
variables
Any of:
object
key
additional properties
object
description
Any of:
string
isRequired
Any of:
boolean
isSecret
Any of:
boolean
format
Any of:
string
Allowed values: string number boolean filepath
default
Any of:
string
placeholder
Any of:
string
value
Any of:
string
choices
Any of:
Array<string>
supportedProtocolVersions
Any of:
Array<string>
_meta
Any of:
object
endpoints
required
Array<object>
object
index
required
integer
<= 9007199254740991
remote
required
object
type
required
string
Allowed values: streamable-http sse
url
required
string
headers
Any of:
Array<object>
object
description
Any of:
string
isRequired
Any of:
boolean
isSecret
Any of:
boolean
format
Any of:
string
Allowed values: string number boolean filepath
default
Any of:
string
placeholder
Any of:
string
value
Any of:
string
choices
Any of:
Array<string>
name
required
string
variables
Any of:
object
key
additional properties
object
description
Any of:
string
isRequired
Any of:
boolean
isSecret
Any of:
boolean
format
Any of:
string
Allowed values: string number boolean filepath
default
Any of:
string
placeholder
Any of:
string
value
Any of:
string
choices
Any of:
Array<string>
variables
Any of:
object
key
additional properties
object
description
Any of:
string
isRequired
Any of:
boolean
isSecret
Any of:
boolean
format
Any of:
string
Allowed values: string number boolean filepath
default
Any of:
string
placeholder
Any of:
string
value
Any of:
string
choices
Any of:
Array<string>
supportedProtocolVersions
Any of:
Array<string>
requirements
required
Array<object>
object
key
required
string
description
Any of:
string
isSecret
required
boolean
format
Any of:
string
choices
Any of:
Array<string>
sources
required
Array<object>
object
role
required
string
Allowed values: input page catalog card endpoint manual
url
required
string
originalInput
Any of:
string
issues
required
Array<object>
object
url
required
string
reason
required
string
fieldPath
string

Example

{
"_tag": "Single",
"candidate": {
"card": {
"$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
"icons": [
{
"theme": "light"
}
],
"remotes": [
{
"type": "streamable-http",
"headers": [
{
"format": "string",
"variables": {
"additionalProperty": {
"format": "string"
}
}
}
],
"variables": {
"additionalProperty": {
"format": "string"
}
}
}
]
},
"endpoints": [
{
"remote": {
"type": "streamable-http",
"headers": [
{
"format": "string",
"variables": {
"additionalProperty": {
"format": "string"
}
}
}
],
"variables": {
"additionalProperty": {
"format": "string"
}
}
}
}
],
"sources": [
{
"role": "input"
}
]
}
}

BadRequest | OrganizationRequired

Media typeapplication/json
object
_tag
required
string
Allowed values: OrganizationRequired

Example

{
"_tag": "OrganizationRequired"
}

AuthenticationRequired

Media typeapplication/json
object
_tag
required
string
Allowed values: AuthenticationRequired

Example

{
"_tag": "AuthenticationRequired"
}

@nmnmcc/ability/Authorizer/Forbidden | MembershipRequired | ForbiddenOrigin

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: Forbidden
action
required
string
kind
required
string
field
string
reason
string

Example

{
"_tag": "Forbidden"
}

@nmnmcc/ability/Authorizer/Pending

Media typeapplication/json
object
_tag
required
string
Allowed values: Pending
ticket
required
string
reason
string

Example

{
"_tag": "Pending"
}

AppDiscoveryFailed

Media typeapplication/json
object
_tag
required
string
Allowed values: AppDiscoveryFailed
reason
required
string
Allowed values: InvalidInput IncompatibleCard NoDeclaration NoUsableServices Document Http BlockedTarget Transport TooLarge Timeout Redirect Encoding
issues
required
Array<object>
object
url
required
string
reason
required
string
fieldPath
string

Example

{
"_tag": "AppDiscoveryFailed",
"reason": "InvalidInput"
}

RateLimited

Media typeapplication/json
object
_tag
required
string
Allowed values: RateLimited
retryAfterSeconds
required
integer
>= -9007199254740991 <= 9007199254740991

Example

{
"_tag": "RateLimited"
}

AuthenticationUnavailable | RequestFailed

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: PolicyUnavailable

Example

{
"_tag": "PolicyUnavailable"
}