Skip to main content

API Overview

The PlexMCP API lets you programmatically interact with your MCPs, manage resources, and integrate PlexMCP into your applications.

Base URL

All API requests use the following base URL:

https://api.plexmcp.com/v1

Authentication

All API requests require authentication via API key:

curl -X GET https://api.plexmcp.com/v1/mcps \
-H "Authorization: Bearer YOUR_API_KEY"

See Authentication for details.

Request Format

Headers

HeaderRequiredDescription
AuthorizationYesBearer YOUR_API_KEY
Content-TypeYes*application/json for POST/PUT
AcceptNoapplication/json (default)

Body

For POST and PUT requests, send JSON:

curl -X POST https://api.plexmcp.com/v1/mcp/invoke \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mcp_id": "mcp_123",
"tool": "get_weather",
"arguments": {
"location": "San Francisco"
}
}'

Response Format

All responses are JSON with consistent structure:

Success Response

{
"success": true,
"data": {
// Response data here
}
}

Error Response

{
"success": false,
"error": {
"code": "invalid_request",
"message": "The request was invalid",
"details": {
// Additional error context
}
}
}

HTTP Status Codes

CodeDescription
200Success
201Created
400Bad Request
401Unauthorized
403Forbidden
404Not Found
429Rate Limited
500Server Error

Pagination

List endpoints support pagination:

GET /v1/mcps?page=1&per_page=20

Response includes pagination metadata:

{
"success": true,
"data": [...],
"pagination": {
"page": 1,
"per_page": 20,
"total": 45,
"total_pages": 3
}
}

Rate Limits

Rate limits vary by plan:

PlanRequests/second
Free10
Pro100
Team1,000

Rate limit headers:

  • X-RateLimit-Limit: Max requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Unix timestamp when limit resets

API Endpoints

MCP Operations

MethodEndpointDescription
GET/v1/mcpsList all MCPs
GET/v1/mcps/{id}Get MCP details
POST/v1/mcp/invokeInvoke an MCP tool
POST/v1/mcp/resourcesRead MCP resources

Organization

MethodEndpointDescription
GET/v1/organizationGet current org
GET/v1/organization/membersList members

API Keys

MethodEndpointDescription
GET/v1/api-keysList API keys
POST/v1/api-keysCreate API key
DELETE/v1/api-keys/{id}Revoke API key

Usage

MethodEndpointDescription
GET/v1/usageGet usage stats
GET/v1/usage/historyUsage history

SDKs

Official SDKs are coming soon:

  • TypeScript/JavaScript: @plexmcp/sdk (npm)
  • Python: plexmcp (PyPI)
  • Go: plexmcp-go (GitHub)

For now, use the REST API directly with cURL or your HTTP client of choice:

# List MCPs
curl -X GET https://api.plexmcp.com/v1/mcps \
-H "Authorization: Bearer YOUR_API_KEY"

# Invoke a tool
curl -X POST https://api.plexmcp.com/v1/mcp/invoke \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mcp_id": "mcp_123",
"tool": "get_weather",
"arguments": {"location": "San Francisco"}
}'

Versioning

The API uses URL versioning (/v1/). We maintain backward compatibility within a version.

Breaking changes:

  • Announced 6 months in advance
  • Old versions supported for 12 months after deprecation
  • Migration guides provided

Support