diff --git a/agent-resources/mcp.mdx b/agent-resources/mcp.mdx index 347ac4c1..206b6999 100644 --- a/agent-resources/mcp.mdx +++ b/agent-resources/mcp.mdx @@ -5,7 +5,7 @@ title: MCP Server The Upstash MCP server lets your agent manage and debug your Upstash resources directly, across Redis, QStash, Workflow, and [Upstash Box](/box/overall/quickstart). - Only running commands against a single Redis database? Use the dedicated [Redis MCP](/redis/integrations/mcp) with only your REST/TCP credentials. + Only running commands against a single Redis database? Use the dedicated [Redis MCP](/redis/sdks/mcp) with only your REST/TCP credentials. Find the GitHub repository [here](https://github.com/upstash/mcp-server). diff --git a/box/overall/quickstart.mdx b/box/overall/quickstart.mdx index dff9846b..61230133 100644 --- a/box/overall/quickstart.mdx +++ b/box/overall/quickstart.mdx @@ -2,11 +2,13 @@ title: "Quickstart" --- +import { Catalog } from "/snippets/catalog.jsx"; + **Upstash Box lets you give your AI agents a computer.** Every Upstash Box is a **secure, isolated cloud container with an AI Agent built-in**. Spin up as many as you want in parallel. Each one includes a full environment with a filesystem, shell, git, and a runtime. Your agent can read files, write code, and execute tasks inside it. -Upstash Box is in developer preview — APIs and pricing may change. +Upstash Box is in developer preview. APIs and pricing may change. ### 1. Get your API key @@ -244,3 +246,7 @@ Great example use cases: Boxes have Claude Code, Codex or OpenCode built-in. + +## SDKs + + diff --git a/docs.json b/docs.json index 2be1194b..177c5546 100644 --- a/docs.json +++ b/docs.json @@ -729,6 +729,7 @@ "redis/sdks/agentkit/eve" ] }, + "redis/sdks/mcp", "redis/sdks/realtime", "redis/sdks/agent-analytics", "redis/sdks/redis-analytics" @@ -863,7 +864,6 @@ "redis/integrations/replit-templates", "redis/howto/emqxintegration", "redis/integrations/celery", - "redis/integrations/mcp", "redis/integrations/n8n", { "group": "AgentKit", @@ -2042,6 +2042,10 @@ "source": "/oss/sdks/py/redis/:slug*", "destination": "/redis/sdks/py/:slug*" }, + { + "source": "/redis/integrations/mcp", + "destination": "/redis/sdks/mcp" + }, { "source": "/oss/sdks/ts/qstash", "destination": "/qstash/sdks/ts/overview" diff --git a/img/icons/box.svg b/img/icons/box.svg new file mode 100644 index 00000000..3bffb3c9 --- /dev/null +++ b/img/icons/box.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/img/icons/context7.svg b/img/icons/context7.svg new file mode 100644 index 00000000..b0ae11ed --- /dev/null +++ b/img/icons/context7.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/img/icons/lang/python.svg b/img/icons/lang/python.svg new file mode 100644 index 00000000..3af725cf --- /dev/null +++ b/img/icons/lang/python.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/img/icons/lang/ruby.png b/img/icons/lang/ruby.png new file mode 100644 index 00000000..797167a7 Binary files /dev/null and b/img/icons/lang/ruby.png differ diff --git a/img/icons/lang/typescript.svg b/img/icons/lang/typescript.svg new file mode 100644 index 00000000..15985c42 --- /dev/null +++ b/img/icons/lang/typescript.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/img/icons/qstash.svg b/img/icons/qstash.svg new file mode 100644 index 00000000..7dc08adf --- /dev/null +++ b/img/icons/qstash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/img/icons/redis.svg b/img/icons/redis.svg new file mode 100644 index 00000000..04757d34 --- /dev/null +++ b/img/icons/redis.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/img/icons/search.svg b/img/icons/search.svg new file mode 100644 index 00000000..c5849e3d --- /dev/null +++ b/img/icons/search.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/img/icons/vector.svg b/img/icons/vector.svg new file mode 100644 index 00000000..339ece55 --- /dev/null +++ b/img/icons/vector.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/img/icons/workflow.svg b/img/icons/workflow.svg new file mode 100644 index 00000000..657ee0bd --- /dev/null +++ b/img/icons/workflow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/introduction.mdx b/introduction.mdx index 41dc6bd4..0b3efe51 100644 --- a/introduction.mdx +++ b/introduction.mdx @@ -1,52 +1,24 @@ --- title: Get Started +description: "Serverless data and messaging for developers: Redis, Vector, QStash, Workflow, Search, and Box, with SDKs, integrations, and a full-featured console." +mode: frame --- - - - Create a Redis Database within seconds - - - Create a Vector Database for AI & LLMs - - - Publish your first message - - - Write durable serverless functions - - - Run AI agents and code in secure sandboxes - - +import { Hero, SectionHead, ProductGrid, AgentResources, Concepts, Community } from "/snippets/landing.jsx"; -## Concepts + - - - Upstash is serverless. You don't need to provision any infrastructure. Just - create a database and start using it. - - - Price scales to zero. You don't pay for idle or unused resources. You pay - only for what you use. - - - Upstash Redis replicates your data for the best latency all over the world. - - - Upstash REST APIs enable access from all types of runtimes. - - +
+
+ See pricing for each product's plans, billing, and limits.} /> + -## Get In touch + + - - - Follow us on X for the latest news and updates. - - - Join our Discord Community and ask your questions to the team and other - developers. - - + + + + + +
diff --git a/llms-full.txt b/llms-full.txt index 3de69788..ff13de6e 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -270,7 +270,7 @@ Source: https://upstash.com/docs/agent-resources/mcp The Upstash MCP server lets your agent manage and debug your Upstash resources directly, across Redis, QStash, Workflow, and [Upstash Box](/docs/box/overall/quickstart). - Only running commands against a single Redis database? Use the dedicated [Redis MCP](/docs/redis/integrations/mcp) with only your REST/TCP credentials. + Only running commands against a single Redis database? Use the dedicated [Redis MCP](/docs/redis/sdks/mcp) with only your REST/TCP credentials. Find the GitHub repository [here](https://github.com/upstash/mcp-server). @@ -5124,11 +5124,13 @@ Please check our [pricing page](https://upstash.com/pricing/box) for the most up # Quickstart Source: https://upstash.com/docs/box/overall/quickstart +import { Catalog } from "/snippets/catalog.jsx"; + **Upstash Box lets you give your AI agents a computer.** Every Upstash Box is a **secure, isolated cloud container with an AI Agent built-in**. Spin up as many as you want in parallel. Each one includes a full environment with a filesystem, shell, git, and a runtime. Your agent can read files, write code, and execute tasks inside it. -Upstash Box is in developer preview — APIs and pricing may change. +Upstash Box is in developer preview. APIs and pricing may change. ### 1. Get your API key @@ -5365,6 +5367,10 @@ Great example use cases: +## SDKs + + + # Schedules Source: https://upstash.com/docs/box/overall/schedules @@ -8588,54 +8594,24 @@ Secondary: #00E9A3 (Cyan Green) # Get Started Source: https://upstash.com/docs/introduction - - - Create a Redis Database within seconds - - - Create a Vector Database for AI & LLMs - - - Publish your first message - - - Write durable serverless functions - - - Run AI agents and code in secure sandboxes - - +import { Hero, SectionHead, ProductGrid, AgentResources, Concepts, Community } from "/snippets/landing.jsx"; -## Concepts + - - - Upstash is serverless. You don't need to provision any infrastructure. Just - create a database and start using it. - - - Price scales to zero. You don't pay for idle or unused resources. You pay - only for what you use. - - - Upstash Redis replicates your data for the best latency all over the world. - - - Upstash REST APIs enable access from all types of runtimes. - - +
+
+ See pricing for each product's plans, billing, and limits.} /> + -## Get In touch + + - - - Follow us on X for the latest news and updates. - - - Join our Discord Community and ask your questions to the team and other - developers. - - + + + + + +
# Bulk Delete DLQ messages Source: https://upstash.com/docs/qstash/api-reference/dlq/bulk-delete-dlq-messages @@ -13868,6 +13844,8 @@ Enterprise customers receive dedicated resources to ensure isolation and consist # Getting Started Source: https://upstash.com/docs/qstash/overall/getstarted +import { Catalog } from "/snippets/catalog.jsx"; + QStash is a **serverless messaging and scheduling solution**. It fits easily into your existing workflow and allows you to build reliable systems without managing infrastructure. Instead of calling an endpoint directly, QStash acts as a middleman between you and an API to guarantee delivery, perform automatic retries on failure, and more. @@ -14016,6 +13994,10 @@ Learn more about different states [here](/docs/qstash/howto/debug-logs). +## SDKs + + + # llms.txt Source: https://upstash.com/docs/qstash/overall/llms-txt @@ -16147,6 +16129,7 @@ When enabled: ## What If You Lose Your Credentials **Reset Credentials**: This function remains available and, when credential protection is enabled, will generate new protected credentials. +Navigate to the settings tab of your database and click **Reset Credentials**. You will be prompted to save the new credentials. @@ -16601,12 +16584,13 @@ Checkout [Read Your Writes](/docs/redis/howto/readyourwrites) for more details o # REST API Source: https://upstash.com/docs/redis/features/restapi -REST API enables you to access your Upstash database using REST. - ## Get Started -If you do not have a database already, follow -[these steps](../overall/getstarted) to create one. + + Looking for the URL and token of your database? First [create a Redis + database](/docs/redis/overall/getstarted), then [find your + credentials](/docs/redis/howto/connect-client) in the console. + In the [Upstash Console](https://console.upstash.com/redis), select your database. Then, in the database page, you will see the section that includes the endpoint URL and token details. When you hover over the `Endpoint` or `Token / Readonly Token` fields, copy button will appear for each. You can click it to easily copy the values you need for your connection. @@ -19565,102 +19549,6 @@ await db.$cache?.invalidate({ tags: ["custom_key"] }) For more details on this integration, refer to the [Drizzle ORM caching documentation](https://cache.drizzle-orm-fe.pages.dev/docs/cache). -# Upstash Redis MCP -Source: https://upstash.com/docs/redis/integrations/mcp - -The Upstash Redis MCP server connects your agent directly to a Redis database. It is lightweight and ships with just two tools: - -* **`redis_run_commands`**: run any Redis command (including the `SEARCH.*` family), as a pipeline or an atomic transaction. -* **`redis_search_docs`**: search the Upstash Redis docs live, so the agent can look up commands and features on demand. - -Find the GitHub repository [here](https://github.com/upstash/redis-mcp). - - - To manage your whole Upstash account (create databases, read QStash and Workflow logs, drive Upstash Box), use the [Upstash MCP server](/docs/agent-resources/mcp) instead. - - -# Installation - -Grab your database's REST URL and token from the [Upstash Console](https://console.upstash.com) (open your Redis database and copy `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` from the **REST API** section), then add the server to your MCP client. - -To connect over TCP instead, set `UPSTASH_REDIS_TCP_URL` to your `rediss://` connection string in place of the two REST variables. - - - - ```sh - claude mcp add upstash-redis \ - -e UPSTASH_REDIS_REST_URL=https://YOUR_DB.upstash.io \ - -e UPSTASH_REDIS_REST_TOKEN=YOUR_REST_TOKEN \ - -- npx -y @upstash/redis-mcp - ``` - - - - [![Add to Cursor]()](https://cursor.com/install-mcp?name=upstash-redis&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB1cHN0YXNoL3JlZGlzLW1jcCJdfQ==) - - ```json - { - "mcpServers": { - "upstash-redis": { - "command": "npx", - "args": ["-y", "@upstash/redis-mcp"], - "env": { - "UPSTASH_REDIS_REST_URL": "https://YOUR_DB.upstash.io", - "UPSTASH_REDIS_REST_TOKEN": "YOUR_REST_TOKEN" - } - } - } - } - ``` - - - - ```json - { - "servers": { - "upstash-redis": { - "type": "stdio", - "command": "npx", - "args": ["-y", "@upstash/redis-mcp"], - "env": { - "UPSTASH_REDIS_REST_URL": "https://YOUR_DB.upstash.io", - "UPSTASH_REDIS_REST_TOKEN": "YOUR_REST_TOKEN" - } - } - } - } - ``` - - - - ```toml - [mcp_servers.upstash-redis] - command = "npx" - args = ["-y", "@upstash/redis-mcp"] - env = { UPSTASH_REDIS_REST_URL = "https://YOUR_DB.upstash.io", UPSTASH_REDIS_REST_TOKEN = "YOUR_REST_TOKEN" } - ``` - - - - ```json - { - "mcp": { - "upstash-redis": { - "type": "local", - "command": ["npx", "-y", "@upstash/redis-mcp"], - "environment": { - "UPSTASH_REDIS_REST_URL": "https://YOUR_DB.upstash.io", - "UPSTASH_REDIS_REST_TOKEN": "YOUR_REST_TOKEN" - } - } - } - } - ``` - - - -Any MCP-compatible client works. If yours isn't listed, add a stdio server that runs `npx -y @upstash/redis-mcp` with the two env vars above. - # n8n with Upstash Redis Source: https://upstash.com/docs/redis/integrations/n8n @@ -21058,6 +20946,8 @@ A Business Associate Agreement (BAA) and HIPAA compliance enablement is availabl # Getting Started Source: https://upstash.com/docs/redis/overall/getstarted +import { Catalog } from "/snippets/catalog.jsx"; + Upstash Redis is a **highly available, infinitely scalable** Redis-compatible database: * 99.99% uptime guarantee with auto-scaling ([Prod Pack](/docs/redis/overall/enterprise#prod-pack-features)) @@ -21124,7 +21014,7 @@ Congratulations! You have created an ultra-fast Upstash Redis database! 🎉 **New: Manage Upstash Redis with your agent** -Manage Upstash Redis databases from Claude and other AI tools by using our [MCP server](/docs/agent-resources/mcp). To let an agent run commands directly against a single database, use the dedicated [Redis MCP](/docs/redis/integrations/mcp). +Manage Upstash Redis databases from Claude and other AI tools by using our [MCP server](/docs/agent-resources/mcp). To let an agent run commands directly against a single database, use the dedicated [Redis MCP](/docs/redis/sdks/mcp). ## Next steps @@ -21135,6 +21025,10 @@ Manage Upstash Redis databases from Claude and other AI tools by using our [MCP * [REST API](/docs/redis/features/restapi): connect from edge and serverless runtimes where TCP is restricted. * [Pricing & Billing](/docs/redis/overall/billing): free tier, Pay-As-You-Go, and Fixed plan limits, plus how billing works. +## SDKs + + + # llms.txt Source: https://upstash.com/docs/redis/overall/llms-txt @@ -22432,6 +22326,102 @@ with a chat UI that renders tool calls inline) lives in +# Upstash Redis MCP +Source: https://upstash.com/docs/redis/sdks/mcp + +The Upstash Redis MCP server connects your agent directly to a Redis database. It is lightweight and ships with just two tools: + +* **`redis_run_commands`**: run any Redis command (including the `SEARCH.*` family), as a pipeline or an atomic transaction. +* **`redis_search_docs`**: search the Upstash Redis docs live, so the agent can look up commands and features on demand. + +Find the GitHub repository [here](https://github.com/upstash/redis-mcp). + + + To manage your whole Upstash account (create databases, read QStash and Workflow logs, drive Upstash Box), use the [Upstash MCP server](/docs/agent-resources/mcp) instead. + + +# Installation + +Grab your database's REST URL and token from the [Upstash Console](https://console.upstash.com) (open your Redis database and copy `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` from the **REST API** section), then add the server to your MCP client. + +To connect over TCP instead, set `UPSTASH_REDIS_TCP_URL` to your `rediss://` connection string in place of the two REST variables. + + + + ```sh + claude mcp add upstash-redis \ + -e UPSTASH_REDIS_REST_URL=https://YOUR_DB.upstash.io \ + -e UPSTASH_REDIS_REST_TOKEN=YOUR_REST_TOKEN \ + -- npx -y @upstash/redis-mcp + ``` + + + + [![Add to Cursor]()](https://cursor.com/install-mcp?name=upstash-redis&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkB1cHN0YXNoL3JlZGlzLW1jcCJdfQ==) + + ```json + { + "mcpServers": { + "upstash-redis": { + "command": "npx", + "args": ["-y", "@upstash/redis-mcp"], + "env": { + "UPSTASH_REDIS_REST_URL": "https://YOUR_DB.upstash.io", + "UPSTASH_REDIS_REST_TOKEN": "YOUR_REST_TOKEN" + } + } + } + } + ``` + + + + ```json + { + "servers": { + "upstash-redis": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@upstash/redis-mcp"], + "env": { + "UPSTASH_REDIS_REST_URL": "https://YOUR_DB.upstash.io", + "UPSTASH_REDIS_REST_TOKEN": "YOUR_REST_TOKEN" + } + } + } + } + ``` + + + + ```toml + [mcp_servers.upstash-redis] + command = "npx" + args = ["-y", "@upstash/redis-mcp"] + env = { UPSTASH_REDIS_REST_URL = "https://YOUR_DB.upstash.io", UPSTASH_REDIS_REST_TOKEN = "YOUR_REST_TOKEN" } + ``` + + + + ```json + { + "mcp": { + "upstash-redis": { + "type": "local", + "command": ["npx", "-y", "@upstash/redis-mcp"], + "environment": { + "UPSTASH_REDIS_REST_URL": "https://YOUR_DB.upstash.io", + "UPSTASH_REDIS_REST_TOKEN": "YOUR_REST_TOKEN" + } + } + } + } + ``` + + + +Any MCP-compatible client works. If yours isn't listed, add a stdio server that runs `npx -y @upstash/redis-mcp` with the two env vars above. + - [ECHO](https://upstash.com/docs/redis/sdks/py/commands/auth/echo.md) - [PING](https://upstash.com/docs/redis/sdks/py/commands/auth/ping.md): Send a ping to the server and get a response if the server is alive. - [BITCOUNT](https://upstash.com/docs/redis/sdks/py/commands/bitmap/bitcount.md): Count the number of set bits. @@ -28815,6 +28805,8 @@ SEARCH.QUERY products '{"name": "new"}' # Introduction Source: https://upstash.com/docs/redis/search/introduction +import { Catalog } from "/snippets/catalog.jsx"; + Upstash Redis Search is our first extension beyond the official Redis spec. Using the Rust-based Tantivy under the hood, we provide an extremely fast way to search through Redis data. @@ -28858,6 +28850,10 @@ Upstash Redis Search is our first extension beyond the official Redis spec. Usin +## Demos + + + # $boost Source: https://upstash.com/docs/redis/search/query-operators/boolean-operators/boost @@ -33297,6 +33293,8 @@ For more details on how this integration works, check out [the official reposito # Getting Started Source: https://upstash.com/docs/search/overall/getstarted +import { Catalog } from "/snippets/catalog.jsx"; + ***