Skip to main content

IO River MCP Server — Usage Guide

The IO River MCP server exposes your IO River account as a set of AI-callable tools via the Model Context Protocol. It allows AI assistants (such as Claude) to manage CDN services, traffic policies, certificates, monitors, analytics, and more — all through natural language.


Authentication

Every request to the MCP endpoint must include a Bearer token in the Authorization header:

Authorization: Bearer <your-ioriver-api-token>

You can generate an API token from your IO River dashboard. The token is passed through transparently to the IO River API and is never stored server-side.


Connecting an AI Client

Claude Desktop (via mcp-remote)

Add the following to your Claude Desktop configuration file (claude_desktop_config.json):

{
"mcpServers": {
"ioriver": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.ioriver.io/mcp", "--header", "Authorization: Bearer ${IORIVER_API_TOKEN}"]
}
}
}

Set the IORIVER_API_TOKEN environment variable to your API token, or replace ${IORIVER_API_TOKEN} with the token value directly.

Direct HTTP (Streamable HTTP transport)

The server speaks the MCP Streamable HTTP transport. Send requests to:

POST https://mcp.ioriver.io/mcp
Authorization: Bearer <your-ioriver-api-token>
Content-Type: application/json

Available Tools

Account Providers

Manage CDN providers connected to your IO River account (e.g. Cloudflare, Akamai, Fastly).

ToolDescription
list_account_providersList all CDN providers connected to your account
get_account_providerGet details of a specific provider by ID
create_account_providerConnect a new CDN provider to your account
update_account_providerUpdate credentials or display name of a provider
delete_account_providerRemove a CDN provider from the account permanently

Services

A service is the top-level resource representing a CDN-accelerated application.

ToolDescription
list_servicesList all services in your account
get_serviceGet details of a specific service
create_serviceCreate a new service
update_serviceUpdate a service's name or description
delete_serviceDelete a service permanently

Domains

ToolDescription
list_domainsList all domains for a service
create_domainAdd a domain to a service
update_domainUpdate an existing domain
delete_domainDelete a domain from a service

Origins

ToolDescription
list_originsList all origin (backend) servers for a service
create_originAdd an origin server (required: host)
update_originUpdate an existing origin
delete_originRemove an origin from a service

Service Providers

ToolDescription
list_service_providersList CDN providers attached to a service
add_service_providerAttach a CDN provider to a service
remove_service_providerDetach a CDN provider from a service

Traffic Policies

Traffic policies control how requests are routed across CDN providers.

ToolDescription
list_traffic_policiesList all traffic policies for a service
get_traffic_policyGet details of a specific policy
create_traffic_policyCreate a new traffic policy
update_traffic_policyUpdate an existing traffic policy
delete_traffic_policyDelete a traffic policy

Behaviors

Behaviors define cache rules, routing logic, and request/response transformations.

ToolDescription
list_behaviorsList all behaviors for a service
get_behaviorGet details of a specific behavior
create_behaviorCreate a new behavior
update_behaviorUpdate an existing behavior
delete_behaviorDelete a behavior from a service

Certificates

ToolDescription
list_certificatesList all SSL/TLS certificates in your account
get_certificateGet details of a specific certificate
create_certificateAdd a new certificate
update_certificateUpdate an existing certificate
delete_certificateDelete a certificate

Monitors

Health Checks

ToolDescription
list_health_checksList all health checks for a service
get_health_checkGet a specific health check by ID
create_health_checkCreate a new health check
update_health_checkUpdate an existing health check
delete_health_checkDelete a health check

Performance Checks

ToolDescription
list_performance_checksList all performance checks for a service
get_performance_checkGet a specific performance check by ID
create_performance_checkCreate a new performance check
update_performance_checkUpdate an existing performance check
delete_performance_checkDelete a performance check

Alerts

ToolDescription
list_alertsList all alerts configured in your account
list_alert_channelsList notification channels (Slack, email, etc.)
test_alertTrigger a test notification for an alert

Cache Purge

ToolDescription
get_purge_historyGet purge history for a service within a time range
purge_cachePurge specific URLs or URL patterns from CDN cache
purge_cache_tagsPurge cached content by cache tags
purge_allPurge the entire CDN cache for a service (use with caution)

Analytics

Traffic Analytics

ToolDescription
get_traffic_analytics_overtimeGet traffic metrics over time
get_traffic_analytics_top_statsGet top-N traffic statistics (e.g. top URLs, ASNs)
get_traffic_analytics_sampled_logsGet sampled request logs

Traffic Stats

ToolDescription
get_traffic_statsGet traffic statistics over time per CDN provider, useful for cost and performance analysis

Security Analytics

ToolDescription
get_security_requests_overtimeGet security event counts over time
get_security_top_statsGet top security statistics (e.g. top blocked IPs)
get_security_sampled_logsGet sampled security event logs

Events

ToolDescription
get_traffic_events_for_serviceGet traffic events for a specific service
get_traffic_events_for_accountGet traffic events across the entire account

Example Prompts

Below are example prompts you can use with an AI assistant connected to this MCP server:

  • "List all my IO River services"
  • "Show traffic policies for service abc123"
  • "Purge the cache for /images/* on service abc123"
  • "Show traffic stats for the last 24 hours on service abc123"
  • "Which countries had the most traffic in the last day?"
  • "What traffic was blocked by security in the last 24 hours?"
  • "Show me the top security threats on service abc123 today"
  • "Create a behavior to cache /static/* for 5 minutes"
  • "Add a Fastly provider to my service abc123 and route 50% of the traffic to it"
  • "Are there any active alerts?"

Self-Hosting

You can run your own instance of the IO River MCP server. The source code is available on GitHub:

github.com/ioriver/mcp

Running with Docker

docker build -t ioriver-mcp .
docker run -p 8000:80 ioriver-mcp

Running locally

# Install dependencies
pip install pipenv
pipenv install

# Start the server
pipenv run python src/main.py

The server will be available at http://localhost:8000/mcp.