MadHive MCP Protocol API
Model Context Protocol JSON-RPC endpoints
Model Context Protocol JSON-RPC endpoints
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/madhive-mcp-protocol-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: Madhive MCP MCP Protocol API
description: Model Context Protocol (MCP) API for programmatic campaign management via Apigee Gateway.
version: 1.0.0
contact:
name: API Platform Team
email: api-platform@madhive.com
servers:
- url: https://api2.madhive.com/mcp
description: Production (mad-master)
security:
- OAuth2: []
tags:
- name: MCP Protocol
description: Model Context Protocol JSON-RPC endpoints
paths:
/:
post:
tags:
- MCP Protocol
summary: MCP JSON-RPC Endpoint
description: Main endpoint for Model Context Protocol JSON-RPC requests. Supports `tools/list` to discover available tools and `tools/call` to execute specific tools.
operationId: mcpJsonRpc
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MCPRequest'
examples:
tools_list:
summary: List all available MCP tools
value:
jsonrpc: '2.0'
id: 1
method: tools/list
params: {}
tools_call_get_campaigns:
summary: Call get_campaigns tool to list all campaigns
value:
jsonrpc: '2.0'
id: 2
method: tools/call
params:
name: get_campaigns
arguments:
page_size: '20'
tools_call_get_advertisers:
summary: Call get_advertisers tool with ID
value:
jsonrpc: '2.0'
id: 3
method: tools/call
params:
name: get_advertisers
arguments:
advertiser_id: '123'
tools_call_manage_campaign:
summary: Call manage_campaign tool to create a campaign
value:
jsonrpc: '2.0'
id: 4
method: tools/call
params:
name: manage_campaign
arguments:
action: create
advertiser_id: '456'
name: Spring Sale 2024
start_date: '2024-04-01T00:00:00Z'
end_date: '2024-04-30T23:59:59Z'
tools_call_manage_advertiser:
summary: Call manage_advertiser tool to create an advertiser
value:
jsonrpc: '2.0'
id: 5
method: tools/call
params:
name: manage_advertiser
arguments:
action: create
name: ACME Corporation
domain: acme.com
iabCategory: IAB3
tools_call_get_campaign_details:
summary: Call get_campaign_details tool for comprehensive campaign info
value:
jsonrpc: '2.0'
id: 6
method: tools/call
params:
name: get_campaign_details
arguments:
campaign_id: a8MWQ2v4ZceGhsku2P5amaOXCnwe
tools_call_list_publishers:
summary: Call list_publishers tool to get all publishers
value:
jsonrpc: '2.0'
id: 7
method: tools/call
params:
name: list_publishers
arguments: {}
tools_call_manage_publisher_group:
summary: Call manage_publisher_group to create a whitelist
value:
jsonrpc: '2.0'
id: 8
method: tools/call
params:
name: manage_publisher_group
arguments:
action: create
name: Premium Publishers
media_type: CTV
product_id: prod123
publishers:
- id: pub1
cap: 1000
- id: pub2
cap: 2000
- id: pub3
cap: 1500
tools_call_get_audiences:
summary: Call get_audiences tool with search query
value:
jsonrpc: '2.0'
id: 9
method: tools/call
params:
name: get_audiences
arguments:
search: tech enthusiasts
includeStdAuds: true
tools_call_manage_creative:
summary: Call manage_creative to create a video creative
value:
jsonrpc: '2.0'
id: 10
method: tools/call
params:
name: manage_creative
arguments:
action: create
name: Spring Video Ad
advertiser_id: adv123
type: VAST
iab_category: IAB1
url: https://example.com/ad.xml
tools_call_list_metros:
summary: Call list_metros for geographic targeting
value:
jsonrpc: '2.0'
id: 11
method: tools/call
params:
name: list_metros
arguments: {}
tools_call_get_agencies:
summary: Call get_agencies to list all agencies
value:
jsonrpc: '2.0'
id: 12
method: tools/call
params:
name: get_agencies
arguments:
page_size: 50
tools_call_manage_agency:
summary: Call manage_agency to update an agency
value:
jsonrpc: '2.0'
id: 13
method: tools/call
params:
name: manage_agency
arguments:
action: update
agency_id: agency123
name: Updated Agency Name
tools_call_get_creatives:
summary: Call get_creatives to get a creative by ID
value:
jsonrpc: '2.0'
id: 14
method: tools/call
params:
name: get_creatives
arguments:
creative_id: creative456
tools_call_manage_audience:
summary: Call manage_audience to create an audience segment
value:
jsonrpc: '2.0'
id: 15
method: tools/call
params:
name: manage_audience
arguments:
action: create
name: Tech Enthusiasts
expr:
op: OR
ids:
- seg1
- seg2
- seg3
tools_call_get_publisher_groups:
summary: Call get_publisher_groups to get a whitelist by ID
value:
jsonrpc: '2.0'
id: 16
method: tools/call
params:
name: get_publisher_groups
arguments:
publisher_group_id: wl789
tools_call_list_segments:
summary: Call list_segments to list all segments with pagination
value:
jsonrpc: '2.0'
id: 17
method: tools/call
params:
name: list_segments
arguments:
page_size: 100
offset: 0
tools_call_get_retargeting:
summary: Call get_retargeting to get retargeting segment info
value:
jsonrpc: '2.0'
id: 18
method: tools/call
params:
name: get_retargeting
arguments:
retargeting_id: retarget123
tools_call_get_lineitem_info:
summary: Call get_lineitem_info to get line item details
value:
jsonrpc: '2.0'
id: 19
method: tools/call
params:
name: get_lineitem_info
arguments:
lineitem_id: li456
tools_call_get_pixel:
summary: Call get_pixel to get tracking pixel info
value:
jsonrpc: '2.0'
id: 20
method: tools/call
params:
name: get_pixel
arguments:
pixel_id: pixel789
tools_call_manage_pixel:
summary: Call manage_pixel to create a tracking pixel
value:
jsonrpc: '2.0'
id: 21
method: tools/call
params:
name: manage_pixel
arguments:
action: create
name: Conversion Tracker
advertiser_id: adv123
tools_call_list_orgs:
summary: Call list_orgs to list all organizations
value:
jsonrpc: '2.0'
id: 22
method: tools/call
params:
name: list_orgs
arguments: {}
tools_call_list_products:
summary: Call list_products to list all ad products
value:
jsonrpc: '2.0'
id: 23
method: tools/call
params:
name: list_products
arguments: {}
responses:
'200':
description: Successful MCP response
content:
application/json:
schema:
$ref: '#/components/schemas/MCPResponse'
examples:
tools_list_response:
summary: Response from tools/list
value:
jsonrpc: '2.0'
id: 1
result:
tools:
- name: get_campaigns
description: Get campaign(s) by ID or list all campaigns
inputSchema:
type: object
properties:
id:
type: string
description: Campaign ID (optional)
page_size:
type: string
description: Number of results per page
- name: manage_campaign
description: Create, update, or manage campaigns
inputSchema:
type: object
properties:
action:
type: string
enum:
- create
- update
- delete
required:
- action
tools_call_response:
summary: 'Response from tools/call (get_campaigns) - Note: all tool results are returned as plain text (JSON serialized as a string in the text field)'
value:
jsonrpc: '2.0'
id: 2
result:
content:
- type: text
text: '{"campaigns": [{"id": "123", "name": "Summer Campaign", "status": "active"}]}'
'400':
description: Bad Request - Invalid JSON-RPC format or parameters
content:
application/json:
schema:
$ref: '#/components/schemas/MCPError'
example:
jsonrpc: '2.0'
id: 1
error:
code: -32602
message: Invalid params
'401':
description: Unauthorized - Invalid or missing access token
content:
application/json:
schema:
$ref: '#/components/schemas/ApigeeError'
example:
fault:
faultstring: Invalid access token
detail:
errorcode: oauth.v2.InvalidAccessToken
'404':
description: Not Found - Method or tool not found
content:
application/json:
schema:
$ref: '#/components/schemas/MCPError'
example:
jsonrpc: '2.0'
id: 1
error:
code: -32601
message: Method not found
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/MCPError'
example:
jsonrpc: '2.0'
id: 1
error:
code: -32603
message: Internal error
security:
- OAuth2: []
get:
tags:
- MCP Protocol
summary: MCP SSE Streaming Endpoint
description: Server-Sent Events (SSE) streaming endpoint for real-time MCP protocol communication. Provides streaming responses for long-running operations.
operationId: mcpSse
responses:
'200':
description: SSE stream established
content:
text/event-stream:
schema:
type: string
description: Server-Sent Events stream
'401':
description: Unauthorized - Invalid or missing access token
content:
application/json:
schema:
$ref: '#/components/schemas/ApigeeError'
security:
- OAuth2: []
components:
schemas:
ApigeeError:
type: object
properties:
fault:
type: object
properties:
faultstring:
type: string
description: Error description
detail:
type: object
properties:
errorcode:
type: string
description: Apigee error code
reason:
type: string
description: Error reason
MCPError:
type: object
description: MCP JSON-RPC 2.0 error response
required:
- jsonrpc
- error
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC version
id:
type: integer
description: Request ID matching the request
example: 1
error:
type: object
required:
- code
- message
properties:
code:
type: integer
description: JSON-RPC error code
enum:
- -32700
- -32600
- -32601
- -32602
- -32603
example: -32601
message:
type: string
description: Error message
example: Method not found
data:
type: object
description: Additional error information
MCPResponse:
type: object
description: MCP JSON-RPC 2.0 success response
required:
- jsonrpc
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC version
id:
type: integer
description: Request ID matching the request
example: 1
result:
type: object
description: Response result
additionalProperties: true
MCPRequest:
type: object
description: MCP JSON-RPC 2.0 request
required:
- jsonrpc
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC version
id:
type: integer
description: Request ID for matching responses
example: 1
method:
type: string
enum:
- tools/list
- tools/call
description: MCP method to call
params:
type: object
description: Method parameters
properties:
name:
type: string
description: Tool name (for tools/call)
example: get_campaigns
arguments:
type: object
description: Tool-specific arguments (for tools/call)
additionalProperties: true
securitySchemes:
OAuth2:
type: oauth2
description: OAuth 2.0 authentication using client credentials grant
flows:
clientCredentials:
tokenUrl: https://api2.madhive.com/oauth/token
scopes: {}