Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/getgenko-com:getgenko-com-mcp-api"
All apis
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.
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.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Genkō AgentOps MCP API
version: 1.1.0
description: MCP-native API for healthcare practice automation. API requests are authenticated via Bearer token and are designed for LLMs, AI agents, and automated pipelines.
contact:
email: support@getgenko.com
url: https://mcp.getgenko.com/docs
servers:
- url: https://mcp.getgenko.com
description: Production
- url: http://localhost:3000
description: Local dev
security:
- BearerAuth: []
tags:
- name: MCP
paths:
/mcp:
post:
summary: MCP JSON-RPC 2.0 — tool execution endpoint
description: Accepts `initialize`, `tools/list`, and `tools/call` methods. All AgentOps tool calls go through this single endpoint.
operationId: mcpJsonRpc
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/McpRequest'
examples:
tools_list:
summary: List available tools
value:
jsonrpc: '2.0'
id: 1
method: tools/list
find_or_create_patient:
summary: Find or create a patient
value:
jsonrpc: '2.0'
id: 2
method: tools/call
params:
name: find_or_create_patient
arguments:
phone: '+12125550142'
full_name: Maria Torres
date_of_birth: '1978-09-03'
check_availability:
summary: Check provider availability
value:
jsonrpc: '2.0'
id: 3
method: tools/call
params:
name: check_provider_availability
arguments:
provider_id: PRV-001
date: '2026-05-12'
timezone: America/New_York
create_appointment:
summary: Create an appointment
value:
jsonrpc: '2.0'
id: 4
method: tools/call
params:
name: create_appointment
arguments:
patient_id: PAT-0C1F2A
provider_id: PRV-001
appointment_type_id: APT-TYPE-002
starts_at: '2026-05-12T14:00:00Z'
timezone: America/New_York
responses:
'200':
description: Successful JSON-RPC response
content:
application/json:
schema:
$ref: '#/components/schemas/McpResponse'
'400':
description: Invalid JSON-RPC request
'401':
description: Missing or invalid Bearer token
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Valid key but insufficient plan for the tool
'409':
description: Slot conflict on create_appointment or update_appointment
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictResponse'
'429':
description: Rate limit exceeded. Check Retry-After header.
tags:
- MCP
/api/mcp/status:
get:
summary: Plan status and available tools
operationId: getMcpStatus
responses:
'200':
description: Plan, org_id, available tools, locked tools, and rate limits
content:
application/json:
example:
plan: starter
org_id: org_abc123
available_tools:
- find_or_create_patient
- create_appointment
- get_appointment_summary
locked_tools:
- name: run_eligibility_check
required_plan: pro
rate_limits:
requests_per_minute: 60
'401':
description: Unauthorized
tags:
- MCP
/api/mcp/tools:
get:
summary: Full MCP tool manifest for the authenticated plan
operationId: listMcpTools
description: Returns name, description, and inputSchema for all tools accessible at the caller's plan level.
responses:
'200':
description: Array of tool descriptors
'401':
description: Unauthorized
tags:
- MCP
/api/mcp/metrics:
get:
summary: Prometheus counters
operationId: getMcpMetrics
description: Returns total_requests, successes, and failures as Prometheus-format text.
responses:
'200':
description: Prometheus metrics text
'401':
description: Unauthorized
tags:
- MCP
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
hint:
type: string
McpResponse:
type: object
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
oneOf:
- type: integer
- type: string
result:
type: object
error:
type: object
properties:
code:
type: integer
message:
type: string
ConflictResponse:
type: object
properties:
error:
type: string
example: Conflict
code:
type: string
example: SLOT_CONFLICT
conflict_appointment_id:
type: string
hint:
type: string
example: Call check_provider_availability then retry
McpRequest:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
id:
oneOf:
- type: integer
- type: string
method:
type: string
example: tools/call
params:
type: object
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: 'Generate an API key from an invited private-beta account in Dashboard → Settings → API Keys. Pass as: Authorization: Bearer gk_<key>'