Guides

Building with Sequel

Sequel isn't only for off-the-shelf tools like Claude or Cursor — you can point your own agents at the same hosted MCP server and give them secure, schema-aware access to your data. Every framework that speaks Model Context Protocol connects the same way: the streamable HTTP endpoint https://api.sequel.sh/mcp, authenticated with a Bearer API key.

Grab an API key first

Create a key under Settings → API Keys in the dashboard and pass it as Authorization: Bearer sql_…. See API keys & authentication for details.

Vercel AI SDK

Create an MCP client over the streamable HTTP transport, then hand its tools to generateText.

import { experimental_createMCPClient, generateText, stepCountIs } from "ai";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { anthropic } from "@ai-sdk/anthropic";
 
const mcp = await experimental_createMCPClient({
  transport: new StreamableHTTPClientTransport(new URL("https://api.sequel.sh/mcp"), {
    requestInit: {
      headers: { Authorization: "Bearer " + process.env.SEQUEL_API_KEY },
    },
  }),
});
 
const { text } = await generateText({
  model: anthropic("claude-opus-4-8"),
  tools: await mcp.tools(),
  stopWhen: stepCountIs(10),
  prompt: "How many users signed up last week?",
});
 
console.log(text);

Claude Agent SDK

Register Sequel as an http MCP server in the query options — the agent discovers and calls the tools on its own.

import { query } from "@anthropic-ai/claude-agent-sdk";
 
const response = query({
  prompt: "How many users signed up last week?",
  options: {
    mcpServers: {
      sequel: {
        type: "http",
        url: "https://api.sequel.sh/mcp",
        headers: { Authorization: "Bearer " + process.env.SEQUEL_API_KEY },
      },
    },
  },
});
 
for await (const message of response) {
  if (message.type === "result") console.log(message.result);
}

OpenAI Agents SDK

Wrap the endpoint in an MCPServerStreamableHttp and attach it to your agent's mcpServers.

import { Agent, run, MCPServerStreamableHttp } from "@openai/agents";
 
const sequel = new MCPServerStreamableHttp({
  name: "Sequel",
  url: "https://api.sequel.sh/mcp",
  requestInit: {
    headers: { Authorization: "Bearer " + process.env.SEQUEL_API_KEY },
  },
});
 
const agent = new Agent({
  name: "Data analyst",
  instructions: "Answer questions using the connected data sources.",
  mcpServers: [sequel],
});
 
await sequel.connect();
const result = await run(agent, "How many users signed up last week?");
console.log(result.finalOutput);
await sequel.close();

Next steps