The serverless
database built
for agents.
One isolated database store, native Model Context Protocol (MCP) endpoints, and hourly metered operations unified under one organization model.
Serverless database for agents
const monkey = new MonkeyHubClient({ apiKey })
const memories = monkey.db("prod").collection({
name: "memories",
key: "agentId",
indexes: [{ field: "status" }]
})
await memories.save({
agentId: "agent_7",
status: "active",
score: 0.98
})Start free. Scale with your agents.
Base subscriptions with explicit monthly operation quotas. Move to a larger included quota as your agent traffic grows.
MonkeyDB Free
Build and test agents with the complete MonkeyDB surface.
- 10,000 operations / month
- Database-scoped API keys
- Console, SDK, and MCP access
MonkeyDB Pro
Increase the included operation quota for production agents.
- 1,000,000 operations / month
- Verified nightly and on-demand backups
- Stripe billing portal
MonkeyDB Ultra
Run high-volume agent workloads with the largest included quota.
- 25,000,000 operations / month
- Verified nightly and on-demand backups
- Stripe billing portal
What launched in MonkeyDB v1
Model Context Protocol
Expose your databases directly to AI agents via standard MCP endpoints.
Connect any MCP-compatible agent to MonkeyDB. Generated SKILL.md, OpenAPI, and llms.txt endpoints expose the same request shapes used by REST and MCP.
Verified Backups
Snapshot nightly or on demand, then download or restore in one call.
Every gzip JSONL snapshot carries its collection schema, record count, and SHA-256 checksum. The console, SDK, REST API, and MCP can create snapshots and restore them into a new collection while preserving timestamps.
Tenant-Safe Isolation
Org-partitioned keys bind every storage operation to authenticated tenant context.
Every storage path is automatically bounded by organization, database, and collection. The API derives that boundary from the authenticated request context, never from caller-supplied tenant data.
Hourly DB Usage Rollups
Hourly usage rollups power quota checks and the console usage summary.
The API records successful database operations by organization and calendar hour. Free-tier organizations over their monthly included quota receive a standard 402 response.
Field-Indexed Collections
MonkeyDB turns plain objects into organization-scoped collections with field-based indexes and deterministic query shapes.
Collection Schema
Each collection declares a record key, an optional sort field, and up to five indexes using your own domain names.
Your Fields, End to End
Key and sort declarations stay stable while indexes can be added idempotently as your access patterns grow.
{
key: "agentId",
sort: "memoryId",
indexes: [
{ field: "status", sort: "createdAt" }
]
}Field-Based Indexing
Declare custom indexes when you ensure a collection. Records missing an indexed field still save normally.
Indexed Queries
Queries use the same field names as your records, including range operators on a declared sort field.
await memories.query({
where: {
status: "active",
createdAt: { gte: "2026-04-01" }
},
limit: 50
})Tenant-Bound Storage
Tenant safety is built in. Queries are bounded programmatically by org context, keeping separate customer workspaces completely invisible from one another.
Tenant-Safe Boundaries
Every record and index lookup includes the organization resolved from the authenticated credential.
Scoped Storage
MonkeyDB binds every collection and index lookup to the authenticated organization before it reaches storage.
// Resolved request context:
{
orgId: "org_abc123",
actor: { type: "human", id: "usr_7" },
plan: "pro"
}Actor Credentials
Authenticate API requests with owner-session tokens or scoped agent API keys bound directly to an organization.
Context Resolution
The API resolves every Bearer credential into tenant context and checks its database permission before executing an operation.
Authorization: Bearer mk_live_xyz... // Returns: X-Request-ID: req_abc Content-Type: application/json
Secure Credentials & Access
Manage owner keys, database-scoped keys, and agent approval requests. API keys cannot authenticate organization or billing screens.
Secure API Access
Provision and revoke full-access, database read-only, or database read/write keys from the owner console.
Key Structure
API keys use the mk_live_ prefix plus 32 base62 characters. Only a short display prefix and hash are retained after the raw key is shown once.
// Owner-session console endpoint
POST /api/settings/keys
{
"db": "app",
"mode": "rw"
}
// Permission: db:app:rwAgent Approval Flows
Agent signup requests stay pending until the organization owner approves or denies them.
Approval Pipeline
An agent identifies the owner's email; approval is scoped to that owner's organization. Callback delivery uses a one-time key claim instead of the raw credential.
{
"requester": {
"email": "agent@domain.com",
"type": "agent"
},
"status": "pending",
"expiresAt": 1798761600
}Backups & Hourly Rollups
Verified nightly and on-demand backups with portable downloads, one-call restore, and hourly usage summaries.
JSONL Collection Backups
Nightly and on-demand snapshots are verified, downloadable, and restorable from the console, API, SDK, or MCP.
Portable Restore
Each KMS-encrypted gzip JSONL snapshot includes schema, count, and SHA-256 metadata. Restore into a new collection while preserving original update timestamps.
Collection: prod/memories
Date: 2026-05-19
Format:
{"data":{"agentId":"agent_7","status":"active"},"updatedAt":1779148800000}Hourly Op Rollups
Usage counts roll up hourly for transparent quota checks and billing.
Billing Middleware
The quota enforcer reads calendar-month rollups. Free-tier requests over the included quota receive a 402 response.
{
"product": "db",
"hour": "2026-05-19T12",
"counters": { "ops": 1420 },
"plan": "free"
}