OAUTH 2.1
TRANSLATION
DeepL handles the translation, the rephrasing, and the glossary your product copy depends on. DeepL MCP gives your agent authenticated access scoped to the user who authorized it.
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);
// DeepL MCP tools, scoped to the signed-in user
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["deeplmcp"], toolNames: [
"deeplmcp_correct_text",
"deeplmcp_download_document",
"deeplmcp_get_document_status"
] },
pageSize: 100,
});
const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Translate the release notes into German and French." }] });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);
// DeepL MCP tools, scoped to the signed-in user
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["deeplmcp"], toolNames: [
"deeplmcp_correct_text",
"deeplmcp_download_document",
"deeplmcp_get_document_status"
] },
pageSize: 100,
});
const openai = new OpenAI();
const res = await openai.responses.create({
model: "gpt-5",
tools: tools.map((t) => t.openai),
input: "Translate the release notes into German and French.",
});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);
// DeepL MCP tools, scoped to the signed-in user
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["deeplmcp"], toolNames: [
"deeplmcp_correct_text",
"deeplmcp_download_document",
"deeplmcp_get_document_status"
] },
pageSize: 100,
});
const anthropic = new Anthropic();
const msg = await anthropic.messages.create({
model: "claude-opus-4-6",
max_tokens: 1024,
tools: tools.map((t) => t.anthropic),
messages: [{ role: "user", content: "Translate the release notes into German and French." }],
});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);
// DeepL MCP tools, scoped to the signed-in user
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["deeplmcp"], toolNames: [
"deeplmcp_correct_text",
"deeplmcp_download_document",
"deeplmcp_get_document_status"
] },
pageSize: 100,
});
const agent = new Agent({
name: "deeplmcp_agent",
model: "gemini-2.5-pro",
instruction: "Act as the localization agent for the signed-in user.",
tools,
});
await agent.run("Translate the release notes into German and French.");// shared token
audit → bot_service_account
user_filter → broken
// scalekit
audit → user_abc
scope → enforced ✓