Apiosk Connect
Server Details
Discover, pay for, execute, and publish APIs through Apiosk.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 47.4% over 36 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- obcraft/apiosk-mcp
- GitHub Stars
- 0
- Server Listing
- Apiosk MCP Server
TDQS
Scored across 3 tools
Each tool targets a clearly distinct phase: discover plans a new data question, execute continues and manages the in-progress question, and sources handles catalog browsing. There is no meaningful overlap, and the descriptions reinforce the boundaries.
All tools share the apiosk_ prefix and lowercase snake_case style, which creates a cohesive pattern. The only minor deviation is that apiosk_sources uses a noun instead of a verb like the other two tools (e.g., apiosk_discover, apiosk_execute).
Three tools is a well-scoped size for this server's purpose, and each tool serves a necessary function in the lifecycle. No redundant tools are present, and the count falls within the ideal range.
The toolset covers the full visible workflow: discovering a question, executing and interacting through next_actions, and finding sources. It also supports polling, cancellation, and result reading via execute, so agents should not hit dead ends.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
apiosk_discover1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "protocol_version", + "request_id", + "status", + "context_view", + "proposal", + "result", + "next_actions", + "state", + "errors" + ] + }, + { + "required": [ + "error_code", + "message" + ] + } + ], + "properties": { + "billing": {}, + "context_view": { + "additionalProperties": true, + "type": "object" + }, + "error_code": { + "type": "string" + }, + "errors": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "idempotency_key": { + "format": "uuid", + "type": "string" + }, + "intent_ref": { + "format": "uuid", + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "next_actions": { + "items": { + "additionalProperties": false, + "properties": { + "action_id": { + "format": "uuid", + "type": "string" + }, + "input_schema": { + "type": "object" + }, + "kind": { + "type": "string" + }, + "label": { + "type": "string" + }, + "requires_authorization": { + "type": "boolean" + } + }, + "required": [ + "action_id", + "kind", + "label", + "requires_authorization", + "input_schema" + ], + "type": "object" + }, + "type": "array" + }, + "proposal": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "approval_url": { + "format": "uri", + "type": "string" + }, + "currency": { + "type": "string" + }, + "expires_at": { + "format": "date-time", + "type": "string" + }, + "label": { + "type": "string" + }, + "max_total_atomic": { + "pattern": "^[0-9]+$", + "type": "string" + }, + "price_status": { + "type": "string" + }, + "quote_ref": { + "format": "uuid", + "type": "string" + }, + "step_details": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "steps": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "label", + "quote_ref", + "price_status", + "currency", + "max_total_atomic", + "expires_at", + "approval_url", + "steps", + "step_details" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "protocol_version": { + "const": "2", + "type": "string" + }, + "recover_task_ref": { + "format": "uuid", + "type": "string" + }, + "request_id": { + "format": "uuid", + "type": "string" + }, + "result": {}, + "retry_after_ms": { + "minimum": 0, + "type": "integer" + }, + "state": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "expires_at": { + "format": "date-time", + "type": "string" + }, + "focus": { + "additionalProperties": false, + "properties": { + "entity_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "goal_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entity_refs", + "goal_refs" + ], + "type": "object" + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "schema_version": { + "const": "2", + "type": "string" + }, + "state_ref": { + "format": "uuid", + "type": "string" + }, + "state_token": { + "maxLength": 128, + "type": "string" + } + }, + "required": [ + "schema_version", + "state_ref", + "revision", + "expires_at", + "focus", + "state_token" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "ready", + "needs_input", + "needs_selection", + "requires_approval", + "running", + "succeeded", + "partial", + "unsupported", + "state_conflict", + "failed" + ], + "type": "string" + } + }, + "type": "object" +}
- Changed
apiosk_execute1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "protocol_version", + "request_id", + "status", + "context_view", + "proposal", + "result", + "next_actions", + "state", + "errors" + ] + }, + { + "required": [ + "error_code", + "message" + ] + } + ], + "properties": { + "billing": {}, + "context_view": { + "additionalProperties": true, + "type": "object" + }, + "error_code": { + "type": "string" + }, + "errors": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "idempotency_key": { + "format": "uuid", + "type": "string" + }, + "intent_ref": { + "format": "uuid", + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "next_actions": { + "items": { + "additionalProperties": false, + "properties": { + "action_id": { + "format": "uuid", + "type": "string" + }, + "input_schema": { + "type": "object" + }, + "kind": { + "type": "string" + }, + "label": { + "type": "string" + }, + "requires_authorization": { + "type": "boolean" + } + }, + "required": [ + "action_id", + "kind", + "label", + "requires_authorization", + "input_schema" + ], + "type": "object" + }, + "type": "array" + }, + "proposal": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "approval_url": { + "format": "uri", + "type": "string" + }, + "currency": { + "type": "string" + }, + "expires_at": { + "format": "date-time", + "type": "string" + }, + "label": { + "type": "string" + }, + "max_total_atomic": { + "pattern": "^[0-9]+$", + "type": "string" + }, + "price_status": { + "type": "string" + }, + "quote_ref": { + "format": "uuid", + "type": "string" + }, + "step_details": { + "items": { + "additionalProperties": true, + "type": "object" + }, + "type": "array" + }, + "steps": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "label", + "quote_ref", + "price_status", + "currency", + "max_total_atomic", + "expires_at", + "approval_url", + "steps", + "step_details" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "protocol_version": { + "const": "2", + "type": "string" + }, + "recover_task_ref": { + "format": "uuid", + "type": "string" + }, + "request_id": { + "format": "uuid", + "type": "string" + }, + "result": {}, + "retry_after_ms": { + "minimum": 0, + "type": "integer" + }, + "state": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "expires_at": { + "format": "date-time", + "type": "string" + }, + "focus": { + "additionalProperties": false, + "properties": { + "entity_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "goal_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entity_refs", + "goal_refs" + ], + "type": "object" + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "schema_version": { + "const": "2", + "type": "string" + }, + "state_ref": { + "format": "uuid", + "type": "string" + }, + "state_token": { + "maxLength": 128, + "type": "string" + } + }, + "required": [ + "schema_version", + "state_ref", + "revision", + "expires_at", + "focus", + "state_token" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "status": { + "enum": [ + "ready", + "needs_input", + "needs_selection", + "requires_approval", + "running", + "succeeded", + "partial", + "unsupported", + "state_conflict", + "failed" + ], + "type": "string" + } + }, + "type": "object" +}
- Changed
apiosk_sources1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "anyOf": [ + { + "required": [ + "protocol_version", + "sources", + "total", + "offset", + "categories", + "tags", + "sectors", + "capabilities", + "notice" + ] + }, + { + "required": [ + "error_code", + "message" + ] + } + ], + "properties": { + "capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "error_code": { + "type": "string" + }, + "idempotency_key": { + "format": "uuid", + "type": "string" + }, + "message": { + "type": "string" + }, + "next_offset": { + "minimum": 0, + "type": [ + "integer", + "null" + ] + }, + "notice": { + "type": "string" + }, + "offset": { + "minimum": 0, + "type": "integer" + }, + "protocol_version": { + "const": "2", + "type": "string" + }, + "recover_task_ref": { + "format": "uuid", + "type": "string" + }, + "request_id": { + "format": "uuid", + "type": "string" + }, + "sectors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sources": { + "items": { + "additionalProperties": false, + "properties": { + "capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endpoint_count": { + "description": "Published endpoints in this source, not chatbot tools.", + "minimum": 0, + "type": "integer" + }, + "input_types": { + "items": { + "type": "string" + }, + "type": "array" + }, + "logo_url": { + "type": [ + "string", + "null" + ] + }, + "name": { + "type": "string" + }, + "provider_slug": { + "type": [ + "string", + "null" + ] + }, + "sectors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "slug": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "total": { + "minimum": 0, + "type": "integer" + } + }, + "type": "object" +}
1 tool update
- Changed
apiosk_discover5 fields changed- added
Input schema / properties / state / additionalPropertiesAdded value: +false - removed
Input schema / properties / state / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "expires_at": { - "format": "date-time", - "type": "string" - }, - "focus": { - "additionalProperties": false, - "properties": { - "entity_refs": { - "items": { - "format": "uuid", - "type": "string" - }, - "type": "array" - }, - "goal_refs": { - "items": { - "format": "uuid", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "entity_refs", - "goal_refs" - ], - "type": "object" - }, - "revision": { - "minimum": 0, - "type": "integer" - }, - "schema_version": { - "const": "2", - "type": "string" - }, - "state_ref": { - "format": "uuid", - "type": "string" - }, - "state_token": { - "maxLength": 128, - "type": "string" - } - }, - "required": [ - "schema_version", - "state_ref", - "revision", - "expires_at", - "focus", - "state_token" - ], - "type": "object" - }, - { - "type": "null" - } -] - added
Input schema / properties / state / propertiesAdded value: +{ + "expires_at": { + "format": "date-time", + "type": "string" + }, + "focus": { + "additionalProperties": false, + "properties": { + "entity_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "goal_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entity_refs", + "goal_refs" + ], + "type": "object" + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "schema_version": { + "const": "2", + "type": "string" + }, + "state_ref": { + "format": "uuid", + "type": "string" + }, + "state_token": { + "maxLength": 128, + "type": "string" + } +} - added
Input schema / properties / state / requiredAdded value: +[ + "schema_version", + "state_ref", + "revision", + "expires_at", + "focus", + "state_token" +] - added
Input schema / properties / state / typeAdded value: +"object"
12 tool updates
- Removed
apiosk - Removed
apiosk_approval_status - Removed
apiosk_cancel_job - Removed
apiosk_compare - Removed
apiosk_connect - Changed
apiosk_discover13 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / chooseRemoved value: -{ - "description": "Whether this search ends in the user picking one. Default true: where the host can draw a picker, they are shown the runnable offers and their prices, and the answer comes back in `chosen` ready for apiosk_execute. Pass false for a sweep you run on your own behalf.", - "type": "boolean" -} - added
Input schema / properties / context_deltaAdded value: +{ + "additionalProperties": false, + "properties": { + "explicit_values": { + "items": { + "additionalProperties": false, + "properties": { + "entity_ref": { + "format": "uuid", + "type": "string" + }, + "semantic_type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "entity_ref", + "semantic_type", + "value" + ], + "type": "object" + }, + "maxItems": 32, + "type": "array" + }, + "requested_focus_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "maxItems": 8, + "type": "array" + } + }, + "type": "object" +} - removed
Input schema / properties / max_price_usdcRemoved value: -{ - "description": "Optional per-call price ceiling, measured against the buyer total. Results above it are dropped.", - "type": "number" -} - removed
Input schema / properties / max_resultsRemoved value: -{ - "description": "Maximum reviewed candidates to return (default 8, max 25). External hits are listed alongside them.", - "type": "number" -} - removed
Input schema / properties / optimize_forRemoved value: -{ - "description": "Which dimension the candidate ranking favours. Default 'price'.", - "enum": [ - "price", - "latency", - "reliability", - "balanced" - ], - "type": "string" -} - removed
Input schema / properties / queryRemoved value: -{ - "description": "The job, in plain words — a full sentence is better than keywords, because the gateway reads it into needs and search terms before it searches anything. Name the entities you care about (a company, a ticker, a topic) in the sentence; they are read as arguments for the endpoint, not as providers to find.", - "type": "string" -} - added
Input schema / properties / questionAdded value: +{ + "maxLength": 4000, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / request_idAdded value: +{ + "format": "uuid", + "type": "string" +} - removed
Input schema / properties / segmentsRemoved value: -{ - "description": "Optional: the request pre-split into distinct data needs, when one request clearly needs two different kinds of data. Each is discovered separately and the results merged. Up to three.", - "items": { - "type": "string" - }, - "type": "array" -} - added
Input schema / properties / stateAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "expires_at": { + "format": "date-time", + "type": "string" + }, + "focus": { + "additionalProperties": false, + "properties": { + "entity_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "goal_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entity_refs", + "goal_refs" + ], + "type": "object" + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "schema_version": { + "const": "2", + "type": "string" + }, + "state_ref": { + "format": "uuid", + "type": "string" + }, + "state_token": { + "maxLength": 128, + "type": "string" + } + }, + "required": [ + "schema_version", + "state_ref", + "revision", + "expires_at", + "focus", + "state_token" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - changed
Input schema / requiredPrevious value: -[ - "query" -]New value: +[ + "question" +] - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "properties": {}, - "type": "object" -}New value: +null
- Changed
apiosk_execute22 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / oneOfAdded value: +[ + { + "not": { + "required": [ + "recover_task_ref" + ] + }, + "required": [ + "action_id", + "state" + ] + }, + { + "not": { + "required": [ + "action_id" + ] + }, + "required": [ + "recover_task_ref" + ] + } +] - added
Input schema / properties / action_idAdded value: +{ + "format": "uuid", + "type": "string" +} - removed
Input schema / properties / approval_idRemoved value: -{ - "description": "Optional approval id returned by apiosk_execute after an approval_required hold.", - "type": "string" -} - added
Input schema / properties / authorization_refAdded value: +{ + "format": "uuid", + "type": [ + "string", + "null" + ] +} - added
Input schema / properties / idempotency_keyAdded value: +{ + "format": "uuid", + "type": "string" +} - removed
Input schema / properties / input / additionalPropertiesRemoved value: -true - removed
Input schema / properties / input / descriptionRemoved value: -"The request body, in the provider's own schema." - removed
Input schema / properties / input / typeRemoved value: -"object" - removed
Input schema / properties / input_partsRemoved value: -{ - "additionalProperties": false, - "description": "Optional exact split of provider inputs by path, query and body. The Apiosk approval card supplies this automatically.", - "properties": { - "body": { - "additionalProperties": true, - "type": "object" - }, - "path": { - "additionalProperties": true, - "type": "object" - }, - "query": { - "additionalProperties": true, - "type": "object" - } - }, - "type": "object" -} - removed
Input schema / properties / max_price_usdcRemoved value: -{ - "description": "The price ceiling — the exact price you showed the user. The call is refused, not paid, if the real price exceeds it.", - "type": "number" -} - removed
Input schema / properties / offer_tokenRemoved value: -{ - "description": "The row the user chose, as `offer_token` from apiosk_discover. Opaque: pass it back exactly as given. It pins the endpoint AND the price the user was shown, and is good for one hour.", - "type": "string" -} - removed
Input schema / properties / operationRemoved value: -{ - "description": "Optional explicit operation id or path.", - "type": "string" -} - removed
Input schema / properties / path_paramsRemoved value: -{ - "additionalProperties": true, - "description": "Optional path parameters.", - "type": "object" -} - removed
Input schema / properties / promptRemoved value: -{ - "description": "The job you searched for, in the user's own words. Recorded with the pick so the purchase reads back as an answer to a question rather than a bare charge.", - "type": "string" -} - removed
Input schema / properties / queryRemoved value: -{ - "additionalProperties": true, - "description": "Optional query-string parameters.", - "type": "object" -} - added
Input schema / properties / quote_refAdded value: +{ + "format": "uuid", + "type": [ + "string", + "null" + ] +} - added
Input schema / properties / recover_task_refAdded value: +{ + "description": "Recover state using a previously gateway-issued task reference. Reads only; does not execute or parse.", + "format": "uuid", + "type": "string" +} - added
Input schema / properties / request_idAdded value: +{ + "format": "uuid", + "type": "string" +} - added
Input schema / properties / stateAdded value: +{ + "additionalProperties": false, + "properties": { + "expires_at": { + "format": "date-time", + "type": "string" + }, + "focus": { + "additionalProperties": false, + "properties": { + "entity_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "goal_refs": { + "items": { + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "entity_refs", + "goal_refs" + ], + "type": "object" + }, + "revision": { + "minimum": 0, + "type": "integer" + }, + "schema_version": { + "const": "2", + "type": "string" + }, + "state_ref": { + "format": "uuid", + "type": "string" + }, + "state_token": { + "maxLength": 128, + "type": "string" + } + }, + "required": [ + "schema_version", + "state_ref", + "revision", + "expires_at", + "focus", + "state_token" + ], + "type": "object" +} - removed
Input schema / requiredRemoved value: -[ - "offer_token", - "prompt", - "max_price_usdc" -] - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "properties": {}, - "type": "object" -}New value: +null
- Removed
apiosk_execute_plan - Removed
apiosk_job_status - Removed
apiosk_plan - Removed
apiosk_resolve_job - Added
apiosk_sources
1 tool update
- Changed
apiosk_plan2 fields changed- changed
Input schema / properties / question / descriptionPrevious value: -"The goal in the user's own words. Shown on the plan card and recorded with the approval; the compiler never reads it."New value: +"The goal in the user's own words, including the company and information needed. The Gateway interprets it when intent is omitted and asks for missing context." - changed
Input schema / requiredPrevious value: -[ - "question", - "intent" -]New value: +[ + "question" +]
5 tool updates
- Added
apiosk_cancel_job - Added
apiosk_execute_plan - Added
apiosk_job_status - Added
apiosk_plan - Added
apiosk_resolve_job
2 tool updates
- Changed
apiosk1 field changed- changed
Input schema / properties / max_results / descriptionPrevious value: -"How many offers to inspect before returning the shared ranking's top runnable pick (default 8, max 25)."New value: +"How many offers to inspect before returning the shared ranking's top runnable pick (default 8, max 10)."
- Changed
apiosk_discover1 field changed- added
Input schema / properties / chooseAdded value: +{ + "description": "Whether this search ends in the user picking one. Default true: where the host can draw a picker, they are shown the runnable offers and their prices, and the answer comes back in `chosen` ready for apiosk_execute. Pass false for a sweep you run on your own behalf.", + "type": "boolean" +}
Related MCP Connectors
Discover, rate and compare APIs and providers in the APIs.io catalog; manage a listing you own.
Search the JoJ API marketplace, read endpoint docs, and call any API with one key via one gateway.
Discover and call 10,000+ production APIs from one MCP server. Pay-per-call billing for AI agents.
Discover and call 2,000+ x402 machine-payable services through one graded API key + gateway.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables autonomous agents to discover, price, and call hosted AI models and tools, and manage payments via a self-serve API marketplace.1MIT
- AlicenseAqualityCmaintenanceDiscover and evaluate APIs for AI agents with AN Score, then access them through MCP or REST with zero-signup discovery and managed execution paths.165 npm4MIT

@1ly/mcp-serverofficial
AlicenseNot gradedqualityFmaintenanceEnables AI agents to discover, pay for, and sell APIs using crypto on Solana and Base networks, with support for automated x402 payments.38 npm3MIT- AlicenseAqualityCmaintenanceLets AI agents discover, pay for, and call any HTTP API per request using USDC, with gasless nanopayments and no API keys or accounts needed.532 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.