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: IA Selecta HTTP surfaces MCP API
version: 1.20.0
summary: Machine-readable map of the real HTTP endpoints on iaselecta.com.
description: 'IA Selecta is served from this origin. Query the catalog through the MCP endpoint documented here — there is no parallel REST catalog. Unknown /api paths return JSON { error, status }. Public HTML pages also speak markdown at the same URL (Accept: text/markdown). Rate limit: 120 requests / 60s (IETF RateLimit + RateLimit-Policy; Retry-After on 429). URL path /api/v1 is the current catalog JSON. Responses also send API-Version: 1. Breaking changes ship under /api/v2. Deprecated versions get Deprecation and Sunset headers for at least 90 days. There is no v2 yet.'
servers:
- url: https://iaselecta.com
tags:
- name: MCP
paths:
/api/mcp/mcp:
post:
summary: MCP Streamable HTTP endpoint for this site's catalog
operationId: mcp
description: 'JSON-RPC MCP at https://iaselecta.com/api/mcp/mcp. Tools: search_tools, get_tool, list_alternatives, submit_tool, list_offers, create_checkout. Tenant is the Host.'
responses:
'200':
description: MCP JSON-RPC response
content:
application/json:
schema:
$ref: '#/components/schemas/McpRpc'
tags:
- MCP
/mcp:
post:
summary: Standard MCP Streamable HTTP alias of /api/mcp/mcp
operationId: mcpAlias
description: Same tools and handshake as /api/mcp/mcp. POST initialize (Accept JSON+SSE), notifications/initialized is 202, GET is SSE.
responses:
'200':
description: MCP JSON-RPC or SSE
'202':
description: initialized notification accepted
tags:
- MCP
get:
summary: Open the Streamable HTTP GET SSE stream
operationId: mcpAliasGet
responses:
'200':
description: text/event-stream
tags:
- MCP
components:
schemas:
McpRpc:
type: object
properties:
jsonrpc:
type: string
id: {}
result:
type: object
error:
type: object
securitySchemes:
CatalogScopes:
type: oauth2
description: Named permission scopes this origin documents. Public catalog reads need no token (catalog:read). catalog:write is submit_tool only. There is no agent token endpoint.
flows:
authorizationCode:
authorizationUrl: https://iaselecta.com/api/auth/signin
tokenUrl: https://iaselecta.com/api/auth/signin
scopes:
catalog:read: Public catalog reads (HTML, markdown, MCP read tools, /api/v1/listings, /ask)
catalog:write: submit_tool queues the listing when the badge is on the submitted URL, else creates a DRAFT