Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API 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.
openapi: 3.2.0
info:
title: AllMCPs Directory Health 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: Health
paths:
/api/v1/health:
get:
summary: Service health check
description: Lightweight health probe for monitors and agents. Public, unauthenticated.
operationId: getHealth
responses:
'200':
description: Service is healthy
content:
application/json:
schema:
type: object
properties:
status:
type: string
timestamp:
type: string
format: date-time
'500':
description: Service is unhealthy (e.g. database unreachable).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Health
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.
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).'