Remote MCP Servers for AI Connectors
MCP servers built into live SaaS products that Claude and ChatGPT connect to over OAuth
What it does
Two of my live products expose their own remote MCP (Model Context Protocol) server, so an AI assistant can operate them directly. My email marketing platform exposes 73 tools - campaigns, mailing lists, segmentation, templates, automations, and AI brand generation. My link shortener exposes 21 - links, folders, custom domains, and click analytics. Both are built on Spring AI as stateless streamable-HTTP endpoints at /api/mcp, so the same product a person uses in the browser, an agent can drive through a connector.
Remote, not local
Most MCP examples are a local stdio server running on your own machine. These are remote HTTP servers that a hosted client like the Claude or ChatGPT connector reaches over the web. That's a different problem: the client has to discover where to authenticate and prove who it is. Each server publishes RFC 9728 protected-resource metadata, so a connector can find the authorization server on its own and start the OAuth flow without me hand-configuring it.
OAuth, so the connection is actually safe
To let Claude connect without handing it a static API key, I built a small OAuth 2.0 authorization server. It runs the authorization-code flow with PKCE, supports dynamic client registration so a new connector can register itself, and issues EdDSA-signed tokens that each product verifies offline against a published JWKS. The end result is the connector experience people expect: click connect, approve a consent screen once, and Claude has access. No shared secret sitting in a config file.
One tenant per token
The tokens are scoped. A connector authenticates as one organization and gets a token pinned to that organization only. Even an app-admin token is down-scoped to a single tenant on the MCP path, so a connected assistant can never read or change another customer's data. That isolation is enforced in the service layer, not just in the UI, which is the part that actually matters when an AI client is calling the tools directly.
Why it matters
This is the request I keep seeing: expose your real product to an AI assistant, but don't give it the keys to everything. The pattern here answers it. The MCP layer wraps the same services the app already uses, the OAuth server controls who connects, and per-tenant scoping keeps one customer's agent out of another customer's data. It's running in production on two products today, not a demo.
Stack
Want something like this built?
This is the kind of system I build for clients. Tell me what you're trying to do, and I'll give you a straight answer on whether AI is the right tool.
Book a 30-minute call