AllMCPs Submit API
The Submit API from AllMCPs — 1 operation(s) for submit.
The Submit API from AllMCPs — 1 operation(s) for submit.
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-submit-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 Submit 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: Submit
paths:
/api/v1/submit:
post:
summary: Submit a new MCP server listing
description: Programmatic submission — no CAPTCHA (unlike the human /submit form). Public, unauthenticated; requires a contact email in the body.
operationId: submitServer
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- url
- description
- category
- email
properties:
name:
type: string
url:
type: string
format: uri
description:
type: string
category:
type: string
email:
type: string
format: email
tags:
type: array
items:
type: string
license:
type: string
authType:
type: string
enum:
- none
- api_key
- oauth
- other
pricingModel:
type: string
enum:
- free
- freemium
- paid
- byok
maintenanceStatus:
type: string
enum:
- active
- stable
- experimental
- archived
compatibleClients:
type: array
items:
type: string
supportUrl:
type: string
format: uri
responses:
'200':
description: Listing accepted; queued for review (status "pending" until claimed or manually approved).
headers:
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
message:
type: string
id:
type: string
description: Assigned listing ID.
name:
type: string
url:
type: string
format: uri
category:
type: string
status:
type: string
enum:
- pending
claim_url:
type: string
format: uri
description: Human ownership-verification page — verifying auto-approves the listing.
badge_markdown:
type: string
description: Ready-to-paste public README badge; earns a dofollow backlink once detected. It does not prove ownership — claiming uses the personalized badge from claim_url.
'400':
description: Missing or invalid required fields.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Submit
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).'