mcpField
C
convex-agent

convex-agent

github.com/get-convexDevelopment6931.2k installsUpdated 1d ago
Repository

About convex-agent

A skill for adding an AI agent or RAG backend to a Convex app with @convex-dev/agent. It supports durable threads, message history, tool calls, and vector search, and defaults to model calls through the Convex AI Gateway with credentials kept in Convex env.

Key features

  1. 01Integrate @convex-dev/agent
  2. 02Persist threads and message history
  3. 03Configure tool calls
  4. 04Build vector search and RAG
  5. 05Call models through Convex AI Gateway

Use cases

  1. 01Add an AI agent backend to an app
  2. 02Persist agent conversation history
  3. 03Implement document-based RAG retrieval

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/get-convex/agent-skills --skill convex-agent

After installing, type/convex-agentin Claude Code to confirm it loaded.

Details

From the project README

Add an AI agent / RAG backend

Install @convex-dev/agent for durable threads, message history, tool-calls, and vector search/RAG — the backend for an in-app AI agent. Call models through the Convex AI Gateway by default: Convex holds the provider credentials, so there is no LLM key to obtain, store, or rotate.

Workflow

  1. Install @convex-dev/agent + @convex-dev/ai-sdk-provider; add the agent component to convex.config.ts.
  2. Define the agent (tools, instructions) with languageModel: convexGateway("provider/model") — no API key needed (needs convex 1.45+ on a Convex Cloud deployment, paid plan).
  3. Create threads + stream messages; persist history in Convex.
  4. For RAG: embed docs into a vector index and retrieve in the tool. The gateway does not serve embeddings yet, so store the embedding provider's key via the env micro power.
  5. Only if the gateway is unavailable (free plan, self-hosted, local backend): call the provider SDK with a key stored via the env micro power.

Rules

  • Default to the Convex AI Gateway (convexGateway from @convex-dev/ai-sdk-provider) for model calls; fall back to a provider key in Convex env only where the gateway is unavailable (free plan, self-hosted, local backend).
  • Never expose a provider API key client-side; when one is needed (embeddings, gateway fallback), keep it in Convex env via the env micro power.
  • Run model calls in actions ('use node' if the SDK needs it).
  • Persist threads/messages in Convex for durability + reactivity.

Comments

Markdown supported