With the DenkOps connector in your assistant, you can do more than operate apps: you can build a connector of your own and put it in front of your team or your customers, without leaving the chat. The assistant writes the MCP server, deploys it on DenkOps, and DenkOps hosts the OAuth sign-in for everyone who connects to it.
What does a connector on DenkOps consist of?
Three things, and you write only the first:
- An MCP server. A few tools built with
defineMcpfrom@denkopsai/sdk/mcp. The SDK serves the MCP protocol for you, including the stateless 2026-07-28 revision. "connector": trueindenkops.json. This turns on hosted OAuth: discovery, client registration, the sign-in and consent pages, and per-user tokens.- A URL. After the deploy your connector lives at
https://<slug>.denkops.host/mcp, ready to paste into Claude, ChatGPT or any MCP client.
How do I build one from the chat?
With the DenkOps connector added to your assistant (setup per assistant), ask something like:
> Build an MCP server on DenkOps with a tool that looks up an order by id in our API, and make it a connector.
The assistant reads the DenkOps build guide through the connector, writes index.ts with defineMcp, adds denkops.json with "connector": true, and calls deploy with those files. A minimal server looks like this:
import { defineMcp } from "@denkopsai/sdk/mcp";
import { z } from "zod";
export default defineMcp({
name: "orders",
version: "1.0.0",
tools: {
get_order: {
description: "Look up an order by id.",
input: z.object({ id: z.string() }),
handler: async ({ id }) => ({ id, status: "shipped" }),
},
},
});API keys for your own backend go into environment variables, which the assistant sets with a separate call; they never travel in the upload.
Who can connect to it?
You decide per connector:
- Workspace members only (the default),
- an email allowlist, for customers or partners,
- public, for a connector anyone may use,
- and optionally email and password accounts for people without Google or GitHub.
Everyone signs in as themselves, and you can revoke any connection.
Can it carry my brand?
Yes. Give the connector your own icon and brand colours, and the sign-in and consent pages DenkOps hosts for it use them. Add a branding block to denkops.json (an icon file, an accent colour and a background colour) or ask your assistant to set it. Text colour is picked automatically for contrast, and a small "Secured by DenkOps" link stays on every page.
Why host it on DenkOps instead of serverless?
An MCP connector is a long-lived, authenticated service. On DenkOps it runs in an always-on slot with logs, traces, metrics and one-command rollback, and the OAuth layer, the part most teams get stuck on, is already done. Read more in MCP connectors for clients and one connector, every client.