Serverless data
and email built
for agents.
MonkeyDB records and MonkeyMAIL inboxes share one organization, one scoped key system, one TypeScript SDK, and one MCP endpoint.
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.
One base subscription includes explicit MonkeyDB operation and MonkeyMAIL recipient quotas.
MonkeyHUB Free
Build agents with MonkeyDB and native MonkeyMAIL inboxes.
- 10,000 DB operations / month
- 3,000 mail recipients / month
- 5 inboxes · built-in mail domain
MonkeyHUB Pro
Run production database and mail workloads under one organization.
- 1,000,000 DB operations / month
- 50,000 mail recipients / month
- 100 inboxes · 3 custom domains
MonkeyHUB Ultra
Scale high-volume agent data and email with the largest included quotas.
- 25,000,000 DB operations / month
- 1,000,000 mail recipients / month
- 5,000 inboxes · 25 custom domains
What ships in MonkeyHUB v1
Native Agent Inboxes
Give agents exact email addresses with durable sending, receiving, and threaded replies.
MonkeyMAIL stores inbound text, HTML, Markdown, authentication verdicts, and attachments. Agents can send, read, and reply through MCP while owners observe the same conversation through a sandboxed console viewer.
Durable Mail Safety
Approval inboxes, suppression, reputation gauges, and org-scoped pauses protect every queue.
Accepted sends remain durable through SES pressure and safety pauses. Suppressed recipients are removed before metering, and approval inboxes return pending_approval until the signed-in owner approves or rejects them.
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"
}