> ## Documentation Index
> Fetch the complete documentation index at: https://upstash.com/docs/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": {
      "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": {
      "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": {
      "paths": ["M22 24H2V0h20zM17 4.8H7v14.4h10z"]
    },
    "deepseek": {
      "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": {
      "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": {
      "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": {
      "paths": ["M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 0 0-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 0 1 .476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 0 1 4.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 0 1-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 0 0 5.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0 0 10.205 0a5.947 5.947 0 0 0-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 0 0 4.162 1.713z"]
    },
    "grok": {
      "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"]
    },
    "antigravity": {
      "color": "#4285F4",
      "paths": ["M21.751 22.607c1.34 1.005 3.35.335 1.508-1.508C17.73 15.74 18.904 1 12.037 1 5.17 1 6.342 15.74.815 21.1c-2.01 2.009.167 2.511 1.507 1.506 5.192-3.517 4.857-9.714 9.715-9.714 4.857 0 4.522 6.197 9.714 9.715z"]
    }
  };
  const SKILLS = "Skills";
  const MCP = "MCP";
  const PLUGIN = "Plugin";
  const EXTENSION = "Extension";
  const AGENTS = [{
    name: "Claude Code",
    slug: "claude-code",
    icon: "claude",
    desc: "Anthropic's terminal and IDE agent. The marketplace plugin bundles the skills and the remote MCP over OAuth.",
    badges: [PLUGIN, 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. The Codex plugin bundles the skills and the remote MCP over OAuth.",
    badges: [PLUGIN, 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 settings.json.",
    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: "Devin Desktop",
    slug: "devin-desktop",
    icon: "devin",
    desc: "Cognition's desktop agent workspace and IDE. 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. The extension bundles the skills and the remote MCP over OAuth.",
    badges: [EXTENSION, SKILLS, MCP]
  }, {
    name: "Google Antigravity",
    slug: "google-antigravity",
    icon: "antigravity",
    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: [PLUGIN, SKILLS, MCP]
  }, {
    name: "Claude Desktop",
    slug: "claude-desktop",
    icon: "claude",
    desc: "Anthropic's desktop app. The marketplace plugin bundles the skills and the remote MCP over OAuth.",
    badges: [PLUGIN, 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}) => {
    if (id === "devin") {
      return <svg aria-hidden="true" width="20" height="20" viewBox="0 0 24 24">
          <path d="M2.033 9.867l2.554 1.483a.589.589 0 00.592 0l2.554-1.483.01-.008a.608.608 0 00.11-.084l.013-.015a.631.631 0 00.076-.1c.003-.005.008-.01.01-.016a.558.558 0 00.052-.125l.007-.028a.611.611 0 00.019-.14V7.868c0-.572.307-1.105.8-1.392a1.595 1.595 0 011.598 0l1.277.742a.54.54 0 00.129.053l.028.01c.044.01.088.015.133.016h.006l.013-.002a.587.587 0 00.27-.074l.011-.004 2.554-1.483a.596.596 0 00.297-.516V2.253a.595.595 0 00-.297-.516L12.293.257a.587.587 0 00-.591 0L9.148 1.737l-.01.01a.609.609 0 00-.109.083l-.014.015a.632.632 0 00-.076.1c-.003.005-.008.01-.01.016a.57.57 0 00-.052.124l-.007.028a.612.612 0 00-.018.14v1.483c0 .572-.307 1.105-.8 1.393a1.597 1.597 0 01-1.599 0l-1.276-.742a.603.603 0 00-.13-.053l-.028-.008a.658.658 0 00-.133-.018h-.02a.57.57 0 00-.269.074c-.003.002-.008.002-.012.005L2.033 5.872a.596.596 0 00-.297.515v2.966c0 .213.113.41.297.515z" fill="#3969CA" />
          <path d="M15.943 10.607a1.596 1.596 0 011.599 0l1.276.74c.041.025.085.04.13.055l.028.008c.043.01.088.016.133.018h.005c.005 0 .01-.002.014-.003a.474.474 0 00.122-.016l.021-.005a.616.616 0 00.126-.052c.004-.002.009-.002.013-.005l2.554-1.482a.597.597 0 00.297-.516V6.383a.596.596 0 00-.297-.515l-2.552-1.483a.587.587 0 00-.592 0l-2.553 1.482-.011.008a.61.61 0 00-.108.084l-.014.016a.637.637 0 00-.076.1c-.003.005-.008.01-.01.016a.57.57 0 00-.052.124l-.007.029a.612.612 0 00-.018.14v1.482c0 .572-.307 1.105-.8 1.393a1.597 1.597 0 01-1.599 0l-1.276-.742a.584.584 0 00-.13-.053l-.028-.008a.62.62 0 00-.133-.018h-.02a.587.587 0 00-.269.074l-.012.004L9.15 10a.596.596 0 00-.296.516v2.966c0 .212.112.409.296.515l2.554 1.483s.008.002.012.005c.04.022.082.04.126.052l.02.004a.57.57 0 00.123.017l.014.002h.006c.054 0 .108-.01.16-.025a.587.587 0 00.13-.054l1.277-.741a1.597 1.597 0 012.398 1.392v1.482c0 .049.007.095.019.14l.007.028a.619.619 0 00.051.125c.004.006.008.01.01.016a.6.6 0 00.076.1l.014.015c.033.032.069.06.108.084.004.002.006.006.011.008l2.554 1.483a.59.59 0 00.593 0l2.554-1.483a.597.597 0 00.296-.516v-2.965a.595.595 0 00-.296-.516l-2.554-1.483s-.008-.002-.012-.005a.54.54 0 00-.126-.051c-.007-.003-.013-.003-.02-.005a.635.635 0 00-.125-.017h-.018a.557.557 0 00-.16.026.588.588 0 00-.13.053l-1.276.742a1.595 1.595 0 01-1.598 0 1.615 1.615 0 010-2.785l-.005-.001z" fill="#21C19A" />
          <path d="M14.848 18.265l-2.554-1.482-.012-.005a.526.526 0 00-.126-.052c-.007-.002-.014-.002-.02-.005a.64.64 0 00-.124-.017h-.02a.56.56 0 00-.16.026.588.588 0 00-.13.053l-1.276.742a1.594 1.594 0 01-1.598 0c-.493-.286-.8-.82-.8-1.393V14.65a.563.563 0 00-.018-.14l-.008-.028a.604.604 0 00-.051-.124l-.01-.017a.603.603 0 00-.076-.1l-.014-.015a.596.596 0 00-.109-.084c-.003-.002-.005-.006-.01-.008L5.178 12.65a.587.587 0 00-.591 0l-2.554 1.483a.596.596 0 00-.297.516v2.965c0 .213.113.41.297.516l2.554 1.483.012.004a.618.618 0 00.267.074l.016.002h.007a.55.55 0 00.16-.026.584.584 0 00.129-.053l1.277-.742a1.597 1.597 0 012.398 1.393v1.482c0 .05.007.095.019.14l.007.028c.013.044.03.085.051.125l.01.016c.022.036.047.07.076.1l.014.015c.032.032.069.06.109.084l.01.008 2.554 1.483a.587.587 0 00.593 0l2.554-1.483a.596.596 0 00.296-.515v-2.966a.596.596 0 00-.296-.516h-.002z" fill="#0294DE" />
        </svg>;
    }
    if (id === "gemini") {
      const path = "M20.616 10.835a14.147 14.147 0 0 1-4.45-3.001 14.111 14.111 0 0 1-3.678-6.452.503.503 0 0 0-.975 0 14.134 14.134 0 0 1-3.679 6.452 14.155 14.155 0 0 1-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 0 0 0 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 0 1 4.45 3.001 14.112 14.112 0 0 1 3.679 6.453.502.502 0 0 0 .975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 0 1 3.001-4.45 14.113 14.113 0 0 1 6.453-3.678.503.503 0 0 0 0-.975 13.245 13.245 0 0 1-2.003-.678z";
      return <svg aria-hidden="true" width="20" height="20" viewBox="0 0 24 24">
          <path d={path} fill="#3186FF" />
          <path d={path} fill="url(#gemini-green)" />
          <path d={path} fill="url(#gemini-red)" />
          <path d={path} fill="url(#gemini-yellow)" />
          <defs>
            <linearGradient id="gemini-green" gradientUnits="userSpaceOnUse" x1="7" x2="11" y1="15.5" y2="12">
              <stop stopColor="#08B962" />
              <stop offset="1" stopColor="#08B962" stopOpacity="0" />
            </linearGradient>
            <linearGradient id="gemini-red" gradientUnits="userSpaceOnUse" x1="8" x2="11.5" y1="5.5" y2="11">
              <stop stopColor="#F94543" />
              <stop offset="1" stopColor="#F94543" stopOpacity="0" />
            </linearGradient>
            <linearGradient id="gemini-yellow" gradientUnits="userSpaceOnUse" x1="3.5" x2="17.5" y1="13.5" y2="12">
              <stop stopColor="#FABC12" />
              <stop offset="0.46" stopColor="#FABC12" stopOpacity="0" />
            </linearGradient>
          </defs>
        </svg>;
    }
    const ic = ICONS[id];
    return <svg aria-hidden="true" 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/clients#${a.slug}`}>
          <div className="u-card__head">
            <div className="u-card__brand-icon"><AgentIcon id={a.icon} /></div>
            <div className="u-card__title">{a.name}</div>
          </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. Set them all up with one command, or pick your agent for step-by-step instructions.

# Set up with one command

Run this in your terminal:

```bash theme={"system"}
npx upstash
```

It detects Claude Code, Codex, Cursor, Gemini CLI, VS Code, GitHub Copilot CLI, and OpenCode, and lets you pick which to set up. Each one gets the Upstash [MCP server](/docs/agent-resources/mcp) and [skills](/docs/agent-resources/skills): as the Upstash plugin where the agent supports plugins, otherwise written into its config. The MCP server signs in with OAuth on first use. See the [CLI page](/docs/agent-resources/cli#connect-your-ai-agent) for flags.

# Pick your agent

<AgentGrid />

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

# Resources

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

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

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

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

# Set up by hand

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. The **remote** server needs nothing installed — connect over HTTP and approve the OAuth consent on first use (shown here for Claude Code):

```bash theme={"system"}
claude mcp add --scope user --transport http upstash https://mcp.upstash.com/mcp
```

Prefer a headless setup, or need [Upstash Box](/docs/box/overall/quickstart) tools? Run the local server with a [Developer API key](/docs/devops/developer-api/introduction#create-an-api-key):

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

See the [MCP server page](/docs/agent-resources/mcp) for remote vs. local, authentication, and feature options.

<Note>
  Only working against a single Redis database? The lightweight [Redis MCP](/docs/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="/docs/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="/docs/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="/docs/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="/docs/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="/docs/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="/docs/qstash/integrations/llm">
    Call LLM APIs with retries, callbacks, batching, and a 2-hour timeout from serverless runtimes.
  </Card>
</CardGroup>


## Related topics

- [TanStack AI Coding Agents](/docs/box/guides/tanstack-setup.md)
- [Getting Started](/docs/redis/overall/getstarted.md)
- [Vercel AI SDK Tools](/docs/box/guides/ai-sdk-setup.md)
- [Vercel AI SDK Memory, RAG & Chat History with Redis](/docs/redis/sdks/agentkit/ai-sdk.md)
- [TanStack AI Persistence, Resumable Streams & Memory with Redis](/docs/redis/sdks/agentkit/tanstack-ai.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.