MCP Server

MonkeyHub exposes an MCP (Model Context Protocol) server so AI agents — Claude, Cursor, custom agents — can use MonkeyDB, MonkeyTasks, and MonkeyBuckets natively. Same auth, same data, same rate limits as the SDK.

Client Configuration

Add MonkeyHub to your MCP client config (Claude Desktop, Cursor, etc.):

json
{
  "mcpServers": {
    "monkeyhub": {
      "url": "https://api.monkeyhub.io/mcp",
      "headers": {
        "Authorization": "Bearer mk_live_your_api_key"
      }
    }
  }
}
Warning: MCP requires a mk_live_ key. Public keys (mk_pub_) return 403 on write operations.

MonkeyDB Tools

monkeyhub_db_save

Save one or more items to a collection. Upserts by ID.

json
{
  "collection": "users",
  "items": [
    { "id": "user_01", "name": "Jerry", "role": "admin" }
  ]
}

monkeyhub_db_get

Fetch a single item by ID.

json
{ "collection": "users", "id": "user_01" }

monkeyhub_db_query

Query items using indexed fields or filters.

json
{
  "collection": "users",
  "key": { "role": { "=": "admin" } },
  "limit": 20
}

monkeyhub_db_remove

Delete an item by ID.

json
{ "collection": "users", "id": "user_01" }

MonkeyTasks Tools

monkeyhub_task_create

Create a task definition with optional schedules and execution config.

json
{
  "name": "send-welcome-email",
  "execution": {
    "url": "https://api.myapp.com/hooks/email",
    "auth": { "type": "bearer", "token": "tok_..." }
  }
}

monkeyhub_task_list

List task definitions with optional group, status, or tag filters.

json
{ "group": "billing", "status": "enabled" }

monkeyhub_task_run

Fire a task immediately or with a delay.

json
{
  "idOrName": "send-welcome-email",
  "payload": { "userId": "usr_123" },
  "delay": 60
}

monkeyhub_task_get_run

Get the status of a specific run.

json
{ "idOrName": "send-welcome-email", "runId": "run_abc123" }

monkeyhub_task_list_runs

List run history for a task.

json
{
  "idOrName": "send-welcome-email",
  "status": "failed",
  "limit": 20
}

MonkeyBuckets Tools

monkeyhub_bucket_upload

Upload a file via base64 content or source URL. The MCP server handles the pre-signed URL flow internally.

json
{
  "bucket": "reports",
  "filename": "q4-summary.pdf",
  "sourceUrl": "https://example.com/report.pdf",
  "visibility": "private"
}

monkeyhub_bucket_get_url

Get a CDN URL (public) or signed URL (private) for a file.

json
{ "bucket": "reports", "filename": "q4-summary.pdf" }

monkeyhub_bucket_query

List files, optionally filtering by extension.

json
{ "bucket": "uploads", "extension": "png", "limit": 50 }

monkeyhub_bucket_remove

Delete a file from S3 and its metadata.

json
{ "bucket": "uploads", "filename": "old-file.png" }

Resources

MCP resources provide read-only context about your MonkeyHub setup. Agents can inspect these to understand what collections, tasks, and buckets are available.

Resource URIDescription
monkeyhub://collectionsAll collection names, item counts, and declared indexes
monkeyhub://collections/{name}Schema sample (first 5 items) and index config
monkeyhub://tasksTask definitions with name, status, and group
monkeyhub://bucketsBucket names with file counts and storage used
monkeyhub://orgPlan tier, usage snapshot, rate limits

Rate Limits

MCP requests share the same per-org rate limit pool as SDK requests. There are no MCP-specific limits — an mk_live_ key used via MCP and the same key used via the SDK share the same quota.