Model Context Protocol
MCP server development for Claude, ChatGPT and other assistants
An MCP server lets AI assistants such as Claude and ChatGPT read and write in your product on behalf of a signed-in user. We design the tools, the sign-in and the permissions, and run it as a remote server your users connect with one URL.

Why companies ask for one
- Your customers already work in Claude or ChatGPT and ask why your product is not there.
- People copy data from your app into a chat window and paste the answer back by hand.
- You have an API, but it was written for developers, not for an assistant that has to pick the right call.
- You want AI access to your data, but not an assistant that can delete records or see other customers' data.
- Connecting today means creating API keys and editing config files, so almost nobody does it.
What we build
Tool design
A focused set of tools, named and described so the assistant picks the right one, with typed inputs checked on the server. In The Quiz Master a guide tool explains how a good quiz is structured before the assistant writes anything.
OAuth sign-in
Users add your server URL and sign in with their usual account. The Quiz Master runs its own OAuth 2.1 server with dynamic client registration and PKCE, so nobody handles API keys.
Read-only and write tools
Tools that read are kept apart from tools that change data, and destructive actions stay out unless you really need them. The Quiz Master has no delete tools, and Bekki's MCP server at Bettermile is read-only.
Per-user permissions
Every tool call runs as the signed-in user and only touches what that user may see or edit. Personal data can be filtered out before it reaches the model.
Remote HTTP servers
Servers hosted over HTTP that work from web and desktop AI assistants, not only as a local script on one developer's laptop.
Files and media
Tools that bring files into your product safely. The Quiz Master's import_media copies images, audio and video into the app's own storage, with a size cap and SVG rejected.
How a project runs
01
Decide what the assistant should do
We list the jobs a user would ask an assistant to do in your product and decide which ones need reading and which need writing.
02
Design the tools
We write the tool names, inputs and descriptions, then try them with real prompts before building out the full set.
03
Sign-in and permissions
We add OAuth sign-in and make sure every call is scoped to the signed-in user and their role.
04
Test in real assistants and publish
We test the server in Claude and the other clients your users have, deploy it, and write a connect page that explains how to add it.
MCP servers in production
The Quiz Master has a remote MCP server with 17 tools, so assistants write quizzes straight into a host's library. At Bettermile, part of GLS, our founder is the main contributor to a read-only MCP server that lets Claude query Back Office data with each user's own permissions.
Questions about MCP
What is an MCP server?
MCP, the Model Context Protocol, is an open standard for connecting AI assistants to other software. An MCP server offers a set of tools, such as search a list or create a record, that the assistant can call for the user. It is how your product becomes usable from inside Claude, ChatGPT and other assistants.
Does it work with ChatGPT as well as Claude?
Yes, both support remote MCP servers, and so do a growing number of other assistants and developer tools. Setup and supported features differ a little between clients, so we test the server in the ones your users actually use.
Do my users need an API key?
Not if the server uses OAuth. Users paste the server URL into their assistant, sign in with their usual account and approve access. The Quiz Master works this way.
Can the AI delete or change our data?
Only if you give it a tool that does that. We keep read and write tools separate, leave out destructive actions by default, and limit every call to what the signed-in user may do. A server can also be fully read-only, like the one at Bettermile.
Do we need to rebuild our backend?
No. The MCP server usually sits next to your existing API or database and calls it, as a small separate service or as part of your backend. We build them in TypeScript with the MCP SDK, and our founder built one in Kotlin with Spring AI at Bettermile.
