---
title: "MCP Server Development: Let AI Assistants Use Your App"
description: "We build remote MCP servers so Claude, ChatGPT and VS Code can use your product: OAuth scopes, read-only first, tested in real clients, in your cloud."
url: "https://dardo.studio/en/services/mcp-server-development/"
language: "en"
translations: {"es":"https://dardo.studio/es/servicios/desarrollo-de-servidores-mcp/","pt":"https://dardo.studio/pt/servicos/desenvolvimento-de-servidores-mcp/"}
updated: "2026-10-14"
---

# MCP server development: let AI assistants use your product

An MCP server lets AI assistants such as Claude, ChatGPT and GitHub Copilot use your product for a signed-in user: search records, read a report, create a draft, with only the access that user grants. Dardo designs and builds remote MCP servers for software companies whose product already has an API, tests them in the clients your customers use and hosts them in your cloud account.

By Dardo editorial team · Updated Oct 14, 2026 · 9 min read

[Get a proposal](https://dardo.studio/en/contact/?service=mcp-server-development) · [Message us on WhatsApp](https://wa.me/573163373216?text=Hi%20Dardo%2C%20I%27d%20like%20a%20proposal%20for%3A%20MCP%20server%20development%3A%20let%20AI%20assistants%20use%20your%20product)

## What an MCP server project includes

We start from the jobs your users want an assistant to do, not from your API reference. OpenAI’s guidance asks for one tool per distinct action, with a description that says when to use it, because the model picks tools from that text; a server that mirrors every endpoint gives it dozens of near-identical choices. The proposal lists which deliverables are included and how each is accepted.

- A tool map: each user job as a tool, resource or prompt, with inputs, outputs and permissions
- A remote server over Streamable HTTP, in your repository and cloud account
- OAuth sign-in through your identity provider, or a narrow API key for internal use
- Per-tool scopes, input validation, rate limits, confirmation before writes and an audit log
- Automated tests, plus task runs in each client in scope
- A setup page for your users and a runbook for protocol updates

## What is the Model Context Protocol?

The Model Context Protocol (MCP) is an open standard for connecting AI applications to outside tools and data. Anthropic introduced it in late 2024 and in December 2025 donated it to the Agentic AI Foundation, a Linux Foundation fund co-founded by Anthropic, Block and OpenAI. A server can offer tools (functions the model calls, each with a JSON Schema for its inputs), resources (data to read for context) and prompts (templates a user picks).

The specification is versioned by date. As of October 2026 the current revision is 2026-07-28, which made every request self-contained by removing the opening handshake and protocol-level sessions. Clients adopt revisions at their own pace, so we test servers against 2026-07-28 and the earlier 2025-11-25.

## When is an MCP server worth building?

When customers already ask to use your product from an assistant and your API can answer them: a help desk whose customers want Claude to read ticket history, a developer tool whose users work in VS Code or Cursor, a B2B product whose buyers ask for a ChatGPT integration.

It’s premature in three cases. Without an API, the first project is the API itself, which is [web app development](https://dardo.studio/en/services/web-app-development/). If you want AI to run one process inside your company, such as sorting inquiries, [AI automation](https://dardo.studio/en/services/ai-automation/) is the better scope. And an MCP server won’t get your business recommended: as our [agent-ready website guide](https://dardo.studio/en/blog/agent-ready-website/) found, no major assistant’s crawler documentation describes discovering a site’s tools on its own. Being cited depends on your pages, which our [AI search optimization](https://dardo.studio/en/services/ai-search-optimization/) service and our guide on [how to appear in AI answers](https://dardo.studio/en/blog/appear-in-ai-answers/) cover.

## Which AI assistants can connect to your server?

Most assistants reach a remote MCP server by its URL, but each sets its own rules for where the connection comes from and what it asks before running a tool. As documented in October 2026:

__Which AI assistants can connect to your server?__
| Client                            | How it connects                                                                                | What to plan for                                                                                                            |
| --------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Claude, Claude Desktop and Cowork | A custom connector added by URL, on Free, Pro, Max, Team and Enterprise plans; Free allows one | Claude connects from Anthropic’s cloud, so the server must be reachable from the internet or allow Anthropic’s IP addresses |
| ChatGPT and Codex                 | A plugin’s MCP server over Streamable HTTP                                                     | Public plugins need a stable, publicly reachable HTTPS endpoint; tool annotations guide what it asks users to confirm       |
| VS Code with GitHub Copilot       | A local stdio server or a remote HTTP server listed in mcp.json                                | Uses tools, resources, prompts and MCP Apps; may ask the user to confirm each tool call                                     |

Cursor, Gemini and Microsoft Copilot also adopted MCP, and we check their current documentation when they’re in scope. Before launch we connect each client with test accounts, run the same tasks and record what each one asks the user to confirm.

## How do users sign in, and what can the assistant do?

With OAuth, each person signs in with their own account and the assistant gets only the access they approve. Authorization is optional in MCP; when a remote server uses it, the 2026-07-28 specification builds on OAuth 2.1:

- The server publishes Protected Resource Metadata (RFC 9728), which tells clients where to sign in
- Each token is requested for one server (RFC 8707); the server rejects tokens meant for others and never forwards a user’s token to another API
- Missing permissions return a 403 with insufficient\_scope, so the client can ask for more access
- Client ID Metadata Documents are preferred for registering clients; Dynamic Client Registration is deprecated

Which scopes exist is a product decision. We start read-only, add one write scope per action (drafts:write, not admin) and sign users in through your existing identity provider.

We run this ourselves. The CMS behind dardo.studio is an MCP server: a request without a token gets a 401 pointing to its resource metadata, which lists separate read and write scopes for content, media, schema and settings. Our agents draft and edit articles through it; the owner decides what gets published.

## How do you protect an MCP server from prompt injection?

Treat every tool call as input from a model that may have been manipulated. The specification requires servers to validate inputs, enforce access controls, rate-limit tool calls and sanitize outputs, and tells clients to distrust tool annotations from servers they don’t trust; OpenAI adds that annotations don’t replace checks on the server. The specific risk is prompt injection: text in your own data, such as a support ticket, can carry instructions aimed at the model. Our defaults:

- Read-only first; tools that send, delete, pay or publish need the user’s confirmation
- Scopes checked on the server on every call, not only at sign-in
- Inputs bounded by schema and size, with rate limits per user and per client
- Results limited to the fields the job needs, and an audit log with personal data redacted
- Tool descriptions reviewed like code, since a changed description changes what the model does

dardo.studio’s public server is the small end of this: two read-only tools that list our services and prepare a project brief without sending it, reading the published catalogue with no database behind them. Request bodies are capped at 8 KiB, foreign browser origins are rejected and the endpoint has its own rate limit.

## Hosting, testing and handover

We host the server beside your existing API or on Cloudflare Workers, where ours runs. Cloudflare recommends its stateless createMcpHandler for new servers, with sign-in through Cloudflare Access or any OAuth 2.0 provider. Without protocol sessions, state that spans several calls, such as a cart, travels as a handle the server issues and checks against the signed-in user each time.

Scripted tests call every tool with valid, invalid and oversized inputs through the MCP Inspector, which OpenAI recommends for local and production checks, and rerun in CI on every change. Then we run real tasks in each client, and someone on your team follows the setup page without our help.

The code lives in your repository, the server in your cloud account and OAuth registrations in your company’s name. Under the specification’s deprecation policy, a deprecated feature normally stays for at least twelve months before it can be removed, so the runbook we leave turns protocol updates into planned work.

## How much does MCP server development cost?

We don’t publish a package price: a read-only server over a documented API is a much smaller job than one that writes customer data through OAuth. Our inquiry form’s budget ranges run from under USD 5,000 to over USD 60,000. What moves the number:

- The API underneath: documented and stable, or still to be built
- How many tools write, delete or move money
- Sign-in: none for public data, a fixed key, or OAuth with your identity provider
- How many clients are in scope, each with its own setup and review
- Interactive views rendered in the chat (MCP Apps), and security or audit requirements your customers set

Your cloud provider bills hosting to your account. After launch, a support plan can cover protocol and client updates, monitoring and new tools, scoped in writing like our [website maintenance](https://dardo.studio/en/services/website-maintenance/) plans.

## Questions before you choose

**What is the difference between an MCP server and an API?**

An MCP server sits on top of your API. The API stays the source of truth for data and business rules; the server describes tools in a form AI applications understand, handles sign-in and passes each call to the API with the right permissions. One server can serve several assistants, so you don’t build a separate integration for each. If you have no API yet, that comes first.

**Will an MCP server help my business appear in ChatGPT or Google AI answers?**

No. Being recommended in AI answers depends on your pages, not on tools: in the research for our agent-ready website guide, no major assistant documented discovering a site’s tools on its own, so a person has to connect the server. An MCP server is for people who already use your product. To be found and cited, start with our AI search optimization service.

**Should our MCP server be local or remote?**

Remote, if your users work in web assistants. Claude connects to custom connectors from Anthropic’s cloud and public ChatGPT plugins need a stable HTTPS endpoint, so a server on someone’s laptop can’t serve them. Local servers over stdio suit developer tools that work with files on one machine and read credentials from the environment. Some products ship both from the same tool code.

**Can the assistant change data, or only read it?**

Both are possible, and we start with reading. Write tools get their own scopes, checked on every call, and are marked so clients ask the user before running them. Actions that send messages, delete records, publish or move money keep a confirmation step, and every call lands in an audit log. Annotations are hints to the client; the server enforces the rules.

**How long does an MCP server take to build?**

It depends on the API underneath, how many tools write data, the sign-in method and how many clients are in scope. A read-only server over a documented API is the short end; OAuth with your identity provider, write tools and a directory submission add review steps on both sides. The proposal states a schedule once those are known.

**Do you build MCP servers for internal tools?**

Yes. An internal server can sign in through your company’s identity provider, or use a narrow API key when one team uses it. On Claude Team and Enterprise plans an owner adds the connector and each member connects; anyone using a shared key gets that key’s access, so we scope it tightly. If the real goal is automating one process, AI automation may fit better.

## From the blog

- [What is an MCP server? A SaaS founder's guide to whether you need one](https://dardo.studio/en/blog/mcp-server-for-saas/)  
An MCP server lets Claude, ChatGPT and Copilot use your product for a signed-in user: what it is, what to expose first, the risks and whether anyone wants it.

## Sources & further reading

Sources behind this page, with further detail from the original publishers.

- [Anthropic: Donating the Model Context Protocol and establishing the Agentic AI Foundation](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation) · anthropic.com
- [Model Context Protocol: Key changes in the 2026-07-28 specification](https://modelcontextprotocol.io/specification/2026-07-28/changelog) · modelcontextprotocol.io
- [Model Context Protocol: Tools (specification 2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/server/tools) · modelcontextprotocol.io
- [Model Context Protocol: Authorization (specification 2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization) · modelcontextprotocol.io
- [Claude Help Center: Get started with custom connectors using remote MCP](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) · support.claude.com
- [OpenAI Developers: Build an MCP server](https://developers.openai.com/plugins/build/mcp-server) · developers.openai.com
- [Visual Studio Code: MCP servers in VS Code](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) · code.visualstudio.com
- [Cloudflare Agents: Build a remote MCP server](https://developers.cloudflare.com/agents/guides/remote-mcp-server/) · developers.cloudflare.com

[Dardo](https://dardo.studio/) · [Services](https://dardo.studio/en/services/) · MCP server development

## From your API to a scoped server

Send what your product does, the API you have and which assistants your customers use. We reply with a proposed tool map and how sign-in would work.

[01 · **See our own agent setup** · How dardo.studio works for AI agents](https://dardo.studio/en/blog/agent-ready-website/) · [02 · **Compare adjacent scope** · AI automation](https://dardo.studio/en/services/ai-automation/) · [03 · **Request a proposal** · Send your API and use cases directly to Dardo](https://dardo.studio/en/contact/?service=mcp-server-development)

## Keep exploring.

- [Service · **AI automation and integration for businesses**](https://dardo.studio/en/services/ai-automation/)
- [Service · **AI search optimization (GEO): get cited by ChatGPT and Google AI**](https://dardo.studio/en/services/ai-search-optimization/)
- [Service · **Web app, SaaS and MVP development**](https://dardo.studio/en/services/web-app-development/)
