AllMCPs Agent API
The Agent API from AllMCPs — 4 operation(s) for agent.
The Agent API from AllMCPs — 4 operation(s) for agent.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/allmcps:allmcps-agent-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AllMCPs Directory Agent API
description: 'Public API for querying and managing Model Context Protocol (MCP) servers listed on AllMCPs. Designed for AI agents, LLM tool callers, and developer integrations.
**Versioning & deprecation policy**: this spec is URL-versioned (`/api/v1/...`). Endpoints are additive within v1 — existing fields are not removed or repurposed without a version bump. If an endpoint is ever deprecated, responses will carry a `Deprecation: true` header (and, once a removal date is set, a `Sunset: ` header) for at least 90 days before removal, and the change will be announced at https://allmcps.com/blog. There is currently no deprecated surface in v1.
**Auth**: most endpoints are public/unauthenticated (see each operation). Listing-mutating agent actions require a scoped Bearer token — see `components.securitySchemes.agentBearerAuth` and https://allmcps.com/auth.md.'
version: 1.0.0
contact:
name: AllMCPs Team
url: https://allmcps.com/contact
email: contact@allmcps.com
servers:
- url: https://allmcps.com
description: Production Edge Server
tags:
- name: Agent
paths:
/api/v1/agent/register:
post:
summary: Request an agent registration code
description: 'Step 1 of agent auth: sends a 6-digit email confirmation code. Optionally request a scoped subset of `listings:claim`-family permissions via `scopes`. Public, unauthenticated.'
operationId: registerAgent
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- email
properties:
email:
type: string
format: email
agentName:
type: string
scopes:
type: array
items:
type: string
enum:
- listings:claim
description: Requested scopes. Omit to receive the full default set.
responses:
'200':
description: Confirmation code sent to email.
headers:
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
message:
type: string
email:
type: string
format: email
scopes:
type: array
items:
type: string
enum:
- listings:claim
expiresAt:
type: string
format: date-time
confirm_url:
type: string
format: uri
'400':
description: Invalid email/payload, or an unsupported scope was requested.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Agent
/api/v1/agent/register/confirm:
post:
summary: Confirm registration & mint a scoped Bearer token
description: 'Step 2 of agent auth: exchanges the 6-digit code for an `amcp_...` Bearer token carrying the scopes requested in Step 1. Public, unauthenticated.'
operationId: confirmAgentRegistration
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- email
- code
properties:
email:
type: string
format: email
code:
type: string
responses:
'200':
description: Bearer token minted.
headers:
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
message:
type: string
token:
type: string
description: Opaque `amcp_...` bearer token — shown once, store it securely.
tokenType:
type: string
enum:
- Bearer
scopes:
type: array
items:
type: string
enum:
- listings:claim
expiresAt:
type: string
format: date-time
docs:
type: object
properties:
claim:
type: string
format: uri
revoke:
type: string
format: uri
authSpec:
type: string
format: uri
'400':
description: Missing/expired/incorrect code, or too many attempts.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Agent
/api/v1/agent/claim:
post:
summary: Claim a listing via agent Bearer token
description: Claim an existing MCP server listing using DNS TXT, site badge, or GitHub README ownership proof. Requires the `listings:claim` scope.
operationId: claimListing
security:
- agentBearerAuth:
- listings:claim
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
type: string
method:
type: string
enum:
- dns
- website_badge
- github
default: dns
websiteUrl:
type: string
format: uri
responses:
'200':
description: Ownership proof verified; claim approved.
headers:
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
pending:
type: boolean
enum:
- false
ownerVerified:
type: boolean
enum:
- true
description: The claim sets "Verified owner". It never sets isOfficial, which admins grant only to vendor-published servers.
reciprocalBadgeOk:
type: boolean
description: true if a reciprocal AllMCPs badge was detected on the repo README or the website. Website-link dofollow is granted specifically when the badge is on the website (verified separately from the README badge).
message:
type: string
'400':
description: Invalid payload or failed ownership verification.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Missing or invalid Bearer token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Token is valid but lacks the required `listings:claim` scope.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Listing not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Agent
/api/v1/agent/revoke:
post:
summary: Revoke the calling agent Bearer token
description: Revokes the token used to authenticate this request. Requires a valid (not-yet-revoked) Bearer token — no additional scope needed to revoke your own token.
operationId: revokeAgentToken
security:
- agentBearerAuth: []
responses:
'200':
description: Token revoked.
headers:
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
message:
type: string
'401':
description: Missing or invalid Bearer token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Agent
components:
schemas:
Error:
type: object
required:
- error
- message
properties:
error:
type: string
description: Machine-readable error code, e.g. "not_found", "unauthorized", "insufficient_scope", "invalid_scope".
message:
type: string
description: Human-readable explanation suitable for surfacing to a user or logging.
details:
type: array
items: {}
description: Optional field-level validation issues (present on 400 responses to malformed request bodies).
status:
type: integer
description: Optional echo of the HTTP status code.
docs:
type: string
format: uri
description: Optional link to the relevant documentation for resolving this error.
headers:
Deprecation:
description: RFC 8594 style. Present (value "true") only once this specific operation is deprecated; absent otherwise. Not present on any current v1 operation.
schema:
type: string
enum:
- 'true'
Sunset:
description: RFC 8594 style. Present only once a removal date has been set for a deprecated operation, at least 90 days out. Absent otherwise.
schema:
type: string
format: date-time
securitySchemes:
agentBearerAuth:
type: oauth2
description: 'Bearer token minted via POST /api/v1/agent/register + /api/v1/agent/register/confirm (email-verified, no OAuth redirect flow). Send as `Authorization: Bearer amcp_...`. Also documented at /.well-known/oauth-protected-resource and /auth.md.'
flows:
clientCredentials:
tokenUrl: https://allmcps.com/api/v1/agent/register/confirm
scopes:
listings:claim: 'Claim ownership of an existing MCP server listing via DNS TXT record, site verification badge, or GitHub README badge proof. Grants no other write access. Required by: POST /api/v1/agent/claim, MCP tool: verify_mcp_claim (with an agentToken).'
checkout:write: 'Create, update, complete and cancel Agentic Commerce Protocol checkout sessions to buy listing boosts. Payment still needs a Stripe shared payment token the buyer granted; this scope alone cannot spend money. Required by: ACP: /api/acp/checkout_sessions (all endpoints).'