> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-dx-2968-agent-resources-overview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Tools

> Connect your AI coding agent to Upstash.

export const AgentGrid = () => {
  const ICONS = {
    "claude": {
      "kind": "fill",
      "color": "#D97757",
      "paths": ["m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"]
    },
    "cursor": {
      "kind": "fill",
      "color": null,
      "paths": ["M11.503.131 1.891 5.678a.84.84 0 0 0-.42.726v11.188c0 .3.162.575.42.724l9.609 5.55a1 1 0 0 0 .998 0l9.61-5.55a.84.84 0 0 0 .42-.724V6.404a.84.84 0 0 0-.42-.726L12.497.131a1.01 1.01 0 0 0-.996 0M2.657 6.338h18.55c.263 0 .43.287.297.515L12.23 22.918c-.062.107-.229.064-.229-.06V12.335a.59.59 0 0 0-.295-.51l-9.11-5.257c-.109-.063-.064-.23.061-.23"]
    },
    "opencode": {
      "kind": "fill",
      "color": null,
      "paths": ["M22 24H2V0h20zM17 4.8H7v14.4h10z"]
    },
    "windsurf": {
      "kind": "fill",
      "color": null,
      "paths": ["M23.55 5.067c-1.2038-.002-2.1806.973-2.1806 2.1765v4.8676c0 .972-.8035 1.7594-1.7597 1.7594-.568 0-1.1352-.286-1.4718-.7659l-4.9713-7.1003c-.4125-.5896-1.0837-.941-1.8103-.941-1.1334 0-2.1533.9635-2.1533 2.153v4.8957c0 .972-.7969 1.7594-1.7596 1.7594-.57 0-1.1363-.286-1.4728-.7658L.4076 5.1598C.2822 4.9798 0 5.0688 0 5.2882v4.2452c0 .2147.0656.4228.1884.599l5.4748 7.8183c.3234.462.8006.8052 1.3509.9298 1.3771.313 2.6446-.747 2.6446-2.0977v-4.893c0-.972.7875-1.7593 1.7596-1.7593h.003a1.798 1.798 0 0 1 1.4718.7658l4.9723 7.0994c.4135.5905 1.05.941 1.8093.941 1.1587 0 2.1515-.9645 2.1515-2.153v-4.8948c0-.972.7875-1.7594 1.7596-1.7594h.194a.22.22 0 0 0 .2204-.2202v-4.622a.22.22 0 0 0-.2203-.2203Z"]
    },
    "gemini": {
      "kind": "fill",
      "color": "#8E75B2",
      "paths": ["M11.04 19.32Q12 21.51 12 24q0-2.49.93-4.68.96-2.19 2.58-3.81t3.81-2.55Q21.51 12 24 12q-2.49 0-4.68-.93a12.3 12.3 0 0 1-3.81-2.58 12.3 12.3 0 0 1-2.58-3.81Q12 2.49 12 0q0 2.49-.96 4.68-.93 2.19-2.55 3.81a12.3 12.3 0 0 1-3.81 2.58Q2.49 12 0 12q2.49 0 4.68.96 2.19.93 3.81 2.55t2.55 3.81"]
    },
    "deepseek": {
      "kind": "fill",
      "color": "#5786FE",
      "paths": ["M23.748 4.651c-.254-.124-.364.113-.512.233-.051.04-.094.09-.137.137-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.155-.708-.311-.955-.65-.172-.24-.219-.509-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.094.172.187.129.323-.082.28-.18.553-.266.833-.055.179-.137.218-.328.14a5.5 5.5 0 0 1-1.737-1.179c-.857-.828-1.631-1.743-2.597-2.46a12 12 0 0 0-.689-.47c-.985-.957.13-1.743.387-1.836.27-.098.094-.433-.778-.428-.872.003-1.67.295-2.687.685a3 3 0 0 1-.465.136 9.6 9.6 0 0 0-2.883-.101c-1.885.21-3.39 1.1-4.497 2.622C.082 8.776-.231 10.854.152 13.02c.403 2.284 1.568 4.175 3.36 5.653 1.857 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.132-.284 4.994-1.86.47.234.962.328 1.78.398.629.058 1.235-.031 1.705-.129.735-.155.684-.836.418-.961-2.155-1.004-1.682-.595-2.112-.926 1.095-1.295 2.768-3.598 3.284-6.733.05-.346.115-.834.108-1.114-.004-.171.035-.238.23-.257a4.2 4.2 0 0 0 1.545-.475c1.397-.763 1.96-2.016 2.093-3.517.02-.23-.004-.467-.247-.588M11.58 18.168c-2.088-1.642-3.101-2.183-3.52-2.16-.39.024-.32.472-.234.763.09.288.207.487.371.74.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.168-1.361-.801-2.5-1.86-3.301-3.306-.775-1.393-1.225-2.888-1.299-4.482-.02-.385.094-.522.477-.592a4.7 4.7 0 0 1 1.53-.038c2.131.311 3.946 1.264 5.467 2.774.868.86 1.525 1.887 2.202 2.89.72 1.066 1.494 2.082 2.48 2.915.348.291.626.513.892.677-.802.09-2.14.109-3.055-.615zm1.001-6.44a.306.306 0 0 1 .415-.287.3.3 0 0 1 .113.074.3.3 0 0 1 .086.214c0 .17-.136.307-.308.307a.303.303 0 0 1-.306-.307m3.11 1.596c-.2.081-.4.151-.591.16a1.25 1.25 0 0 1-.798-.254c-.274-.23-.47-.358-.551-.758a1.7 1.7 0 0 1 .015-.588c.07-.327-.007-.537-.238-.727-.188-.156-.426-.199-.689-.199a.6.6 0 0 1-.254-.078.253.253 0 0 1-.114-.358 1 1 0 0 1 .192-.21c.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.392.451.462.576.685.915.176.264.336.536.446.848.066.194-.02.353-.25.45"]
    },
    "copilot": {
      "kind": "fill",
      "color": null,
      "paths": ["M23.922 16.997C23.061 18.492 18.063 22.02 12 22.02 5.937 22.02.939 18.492.078 16.997A.641.641 0 0 1 0 16.741v-2.869a.883.883 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.098 10.098 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952C7.255 2.937 9.248 1.98 11.978 1.98c2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.841.841 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256Zm-11.75-5.992h-.344a4.359 4.359 0 0 1-.355.508c-.77.947-1.918 1.492-3.508 1.492-1.725 0-2.989-.359-3.782-1.259a2.137 2.137 0 0 1-.085-.104L4 11.746v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.359 4.359 0 0 1-.355-.508Zm2.328 3.25c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm-5 0c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm3.313-6.185c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"]
    },
    "zed": {
      "kind": "fill",
      "color": "#084CCF",
      "paths": ["M2.25 1.5a.75.75 0 0 0-.75.75v16.5H0V2.25A2.25 2.25 0 0 1 2.25 0h20.095c1.002 0 1.504 1.212.795 1.92L10.764 14.298h3.486V12.75h1.5v1.922a1.125 1.125 0 0 1-1.125 1.125H9.264l-2.578 2.578h11.689V9h1.5v9.375a1.5 1.5 0 0 1-1.5 1.5H5.185L2.562 22.5H21.75a.75.75 0 0 0 .75-.75V5.25H24v16.5A2.25 2.25 0 0 1 21.75 24H1.655C.653 24 .151 22.788.86 22.08L13.19 9.75H9.75v1.5h-1.5V9.375A1.125 1.125 0 0 1 9.375 8.25h5.314l2.625-2.625H5.625V15h-1.5V5.625a1.5 1.5 0 0 1 1.5-1.5h13.19L21.438 1.5z"]
    },
    "openai": {
      "kind": "stroke",
      "paths": ["M11.217 19.384a3.501 3.501 0 0 0 6.783 -1.217v-5.167l-6 -3.35", "M5.214 15.014a3.501 3.501 0 0 0 4.446 5.266l4.34 -2.534v-6.946", "M6 7.63c-1.391 -.236 -2.787 .395 -3.534 1.689a3.474 3.474 0 0 0 1.271 4.745l4.263 2.514l6 -3.348", "M12.783 4.616a3.501 3.501 0 0 0 -6.783 1.217v5.067l6 3.45", "M18.786 8.986a3.501 3.501 0 0 0 -4.446 -5.266l-4.34 2.534v6.946", "M18 16.302c1.391 .236 2.787 -.395 3.534 -1.689a3.474 3.474 0 0 0 -1.271 -4.745l-4.308 -2.514l-5.955 3.42"]
    },
    "grok": {
      "kind": "fill",
      "color": null,
      "paths": ["M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"]
    },
    "rocket": {
      "kind": "stroke",
      "paths": ["M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3", "M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3", "M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"]
    }
  };
  const SKILLS = "Skills";
  const MCP = "MCP";
  const AGENTS = [{
    name: "Claude Code",
    slug: "claude-code",
    icon: "claude",
    desc: "Anthropic's terminal and IDE agent. Install Upstash as a plugin from the marketplace.",
    badges: [SKILLS, MCP]
  }, {
    name: "Cursor",
    slug: "cursor",
    icon: "cursor",
    desc: "AI code editor. One-click MCP install button; skills via the Agent Skills CLI.",
    badges: [SKILLS, MCP]
  }, {
    name: "OpenAI Codex",
    slug: "openai-codex",
    icon: "openai",
    desc: "OpenAI's coding agent. Install the plugin and the MCP server with the Codex CLI.",
    badges: [SKILLS, MCP]
  }, {
    name: "OpenCode",
    slug: "opencode",
    icon: "opencode",
    desc: "Open-source terminal agent that loads Agent Skills natively. MCP via its config.",
    badges: [SKILLS, MCP]
  }, {
    name: "Zed",
    slug: "zed",
    icon: "zed",
    desc: "Editor with a built-in Agent Panel. Skills via the CLI, MCP via the Zed extension.",
    badges: [SKILLS, MCP]
  }, {
    name: "GitHub Copilot",
    slug: "github-copilot",
    icon: "copilot",
    desc: "Copilot agent mode in VS Code. MCP via .vscode/mcp.json.",
    badges: [SKILLS, MCP]
  }, {
    name: "Windsurf",
    slug: "windsurf",
    icon: "windsurf",
    desc: "Cascade agent in the Windsurf editor. Skills via the CLI, MCP via its config file.",
    badges: [SKILLS, MCP]
  }, {
    name: "Gemini CLI",
    slug: "gemini-cli",
    icon: "gemini",
    desc: "Google's open-source terminal agent. Skills via the CLI, MCP via settings.json.",
    badges: [SKILLS, MCP]
  }, {
    name: "Google Antigravity",
    slug: "google-antigravity",
    icon: "rocket",
    desc: "Google's agent-first IDE. Skills via the CLI, MCP via the Antigravity MCP config.",
    badges: [SKILLS, MCP]
  }, {
    name: "DeepSeek Harness",
    slug: "deepseek-harness",
    icon: "deepseek",
    desc: "One bundle installs the skills and the MCP server. Log in once from a session.",
    badges: [SKILLS, MCP]
  }, {
    name: "Claude Desktop",
    slug: "claude-desktop",
    icon: "claude",
    desc: "Upload the skill to Claude Desktop or claude.ai; MCP via the desktop app.",
    badges: [SKILLS, MCP]
  }, {
    name: "Grok",
    slug: "grok",
    icon: "grok",
    desc: "xAI's Grok Build agent. Skills via the Agent Skills CLI, MCP via grok mcp add.",
    badges: [SKILLS, MCP]
  }];
  const AgentIcon = ({id}) => {
    const ic = ICONS[id];
    if (ic.kind === "stroke") {
      return <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          {ic.paths.map((d, i) => <path key={i} d={d} />)}
        </svg>;
    }
    return <svg width="20" height="20" viewBox="0 0 24 24" fill={ic.color || "currentColor"}>
        {ic.paths.map((d, i) => <path key={i} d={d} />)}
      </svg>;
  };
  return <div className="u-grid u-grid--fixed3 u-agents">
      {AGENTS.map(a => <a key={a.name} className="u-card u-card--stack" href={`/agent-resources/agents#${a.slug}`}>
          <div className="u-card__head">
            <div className="u-card__icon u-card__icon--muted"><AgentIcon id={a.icon} /></div>
            <div className="u-card__title">{a.name}</div>
          </div>
          <div className="u-badges">
            {a.badges.map(b => <span key={b} className="u-badge">{b}</span>)}
          </div>
          <div className="u-card__desc">{a.desc}</div>
        </a>)}
    </div>;
};

Upstash ships Skills, a CLI, an MCP server, and llms.txt so your agent can build on and manage Redis, QStash, Workflow, Vector, Search, and Box. Pick your agent to get set up in a minute.

# Pick your agent

<AgentGrid />

Don't see your agent? See the [full list of agents](/agent-resources/agents).

# Resources

<CardGroup cols={2}>
  <Card title="Skills" icon="sparkles" href="/agent-resources/skills">
    Docs and CLI reference for every Upstash SDK, loaded on demand.
  </Card>

  <Card title="MCP Server" icon="plug" href="/agent-resources/mcp">
    Live tools to query, debug, and manage your Upstash account.
  </Card>

  <Card title="CLI" icon="terminal" href="/agent-resources/cli">
    Agent-friendly terminal for managing resources. JSON output, dry runs.
  </Card>

  <Card title="llms.txt" icon="file-lines" href="/llms.txt">
    The docs as plain text for tools without skill or MCP support.
  </Card>
</CardGroup>

# Quick start

Install the Upstash skill. It includes the `upstash` CLI reference, so this one step is enough for most workflows:

```bash theme={"system"}
npx skills add upstash/skills
```

To let your agent read and change your account directly, add the MCP server as well. Grab an API key from [Upstash Console → Account → API Keys](https://console.upstash.com/account/api) first:

```bash theme={"system"}
npx -y @upstash/mcp-server@latest --email YOUR_EMAIL --api-key YOUR_API_KEY
```

<Note>
  Only working against a single Redis database? The lightweight [Redis MCP](/redis/sdks/mcp) needs just that database's REST URL and token, not an account API key.
</Note>

# Building AI into your app?

The resources above are for agents that help you build. If you're building agents or AI features into your own product, start here:

<CardGroup cols={2}>
  <Card title="Agent memory & chat history" icon="brain" href="/redis/sdks/agentkit/ai-sdk">
    Long-term memory, RAG, and chat history for the Vercel AI SDK and Eve, backed by Redis.
  </Card>

  <Card title="Vector" icon="diagram-project" href="/vector/overall/getstarted">
    Embeddings and semantic search for RAG pipelines, with LangChain, LlamaIndex, and AI SDK integrations.
  </Card>

  <Card title="Workflow Agents" icon="robot" href="/workflow/agents/overview">
    Durable multi-agent orchestration with retries and no timeouts. Works with AI SDK and LangChain tools.
  </Card>

  <Card title="Box" icon="cube" href="/box/overall/quickstart">
    Sandboxed cloud containers with Claude Code, Codex, or OpenCode built in, for running agents at scale.
  </Card>

  <Card title="Search" icon="magnifying-glass" href="/search/overall/getstarted">
    Full-text and semantic search over your documents, ready to serve as a retrieval tool.
  </Card>

  <Card title="QStash for LLM calls" icon="clock" href="/qstash/integrations/llm">
    Call LLM APIs with retries, callbacks, batching, and a 2-hour timeout from serverless runtimes.
  </Card>
</CardGroup>
