SERVICE ACCOUNT
DATABASE OPERATIONS
MongoDB Atlas gives your agent database operations across your Atlas organizations: check clusters, alerts, and slow queries, read Performance Advisor index suggestions, take backup snapshots, manage database users and IP access lists, and create search indexes.
For more tools, view docs.
import { ScalekitClient } from "@scalekit-sdk/node";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
// MongoDB Atlas tools available to this agent
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["mongodb"], toolNames: [
"mongodb_clusters_list",
"mongodb_alerts_list",
"mongodb_suggested_indexes_list"] },
pageSize: 100,
});
const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Check open alerts on the Production project and suggest index fixes" }] });import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const openai = new OpenAI();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["mongodb"] }, pageSize: 100,
});
const res = await openai.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Check open alerts on the Production project and suggest index fixes" }],
tools,
});
// Execute the tool call with the vaulted MongoDB Atlas service account credentials
await sk.tools.executeTool(res.choices[0].message.tool_calls[0], "user_123");import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const anthropic = new Anthropic();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["mongodb"] }, pageSize: 100,
});
const msg = await anthropic.messages.create({
model: "claude-sonnet-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Check open alerts on the Production project and suggest index fixes" }],
tools,
});
// Tool call runs with the vaulted MongoDB Atlas service account credentials
await sk.tools.executeTool(msg.content, "user_123");import { Agent } from "@google/adk/agents";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["mongodb"] }, pageSize: 100,
});
const agent = new Agent({
name: "database_agent",
model: "gemini-2.5-pro",
instruction: "MongoDB Atlas tools available to this agent",
tools,
});
await agent.run("Check open alerts on the Production project and suggest index fixes");// secret in code
env → prompt, logs
// scalekit
vault → call ✓