SDK

The @scalar/agent SDK connects your AI agent to Scalar's OpenAPI MCP servers. It provides native integrations for the Vercel AI SDK, OpenAI Agents SDK, and Anthropic Claude Agent SDK.

Installation

npm i @scalar/agent
pnpm i @scalar/agent
bun i @scalar/agent

Personal Access Token

You can create a personal access token in the Scalar dashboard under API Keys.

Setup

Initialize the SDK with your personal token, then create an installation reference using your installation ID.

import { agentScalar } from '@scalar/agent'

const scalar = agentScalar({
  token: 'your-personal-token',
})

const installation = await scalar.installation('your-installation-id')

Providers

Vercel AI SDK

Uses @ai-sdk/mcp natively. Returns a tool set ready for generateText or streamText.

import { agentScalar } from '@scalar/agent'
import { generateText, stepCountIs } from 'ai'

const scalar = agentScalar({
  token: 'your-personal-token',
})

const installation = await scalar.installation('your-installation-id')

const tools = await installation.createVercelAITools()

const { text } = await generateText({
  model,
  tools,
  stopWhen: stepCountIs(5),
  prompt: 'How do I create a planet?',
})

OpenAI Agents SDK

Returns options for MCPServerStreamableHttp from @openai/agents. The agent runtime handles tool discovery and execution natively.

import { agentScalar } from '@scalar/agent'
import { Agent, MCPServerStreamableHttp, run } from '@openai/agents'

const scalar = agentScalar({
  token: 'your-token',
})

const installation = await scalar.installation('your-installation-id')

const server = new MCPServerStreamableHttp(installation.createOpenAIMCP())
await server.connect()

const agent = new Agent({
  name: 'api-agent',
  mcpServers: [server],
})

const result = await run(
  agent,
  'Which APIs are available that let me create a planet?',
)

await server.close()

Anthropic Claude Agent SDK

Returns an MCP server configuration for @anthropic-ai/claude-agent-sdk.

import { agentScalar } from '@scalar/agent'
import { query } from '@anthropic-ai/claude-agent-sdk'

const scalar = agentScalar({
  token: 'your-token',
})

const installation = await scalar.installation('your-installation-id')

for await (const message of query({
  prompt: 'Which APIs are available that let me create a planet?',
  options: {
    mcpServers: {
      scalar: installation.createAnthropicMCP(),
    },
    allowedTools: ['mcp__scalar__*'],
  },
})) {
  if ('result' in message) console.log(message.result)
}

Configuration

Option Type Description
token string Your Scalar personal token used to authenticate requests to your MCP
baseUrl string Base URL of the Scalar MCP server. Defaults to the Scalar environment