Skip to content

Custom AI and software · MCP

MCP server development: custom MCP servers for your API and data

MCP server development means building the server that lets an AI application use your tools and data through the Model Context Protocol (MCP), an open standard for connecting AI to outside systems. Vexio builds custom MCP servers as a service, in Node.js and Python. Each one has a dry-run default for anything that writes, an audit log and a scoped identity per caller. It can run locally or on Cloudflare, AWS or Azure.

By Updated

Final frame. Each step is in the audit log: who asked, what was allowed, what was approved and what ran.

Illustration of an example MCP flow with fictional tool names. It shows the pattern, not a product.

What an MCP server provides

What is an MCP server? Tools, resources and prompts.

An AI client connects, asks the server what it offers, then uses it. The server decides what is on offer and under which rules.

  • Tools

    Actions the AI can call

    A tool has a name, a description and a typed input. The AI application reads the description, decides when the tool fits and sends the input.

  • Resources

    Data the AI can read

    Files, records or query results the model can use as context, under the access rules you set.

  • Prompts

    Reusable instructions

    Templates for common tasks that a user can pick from a list, so the same request is worded the same way every time.

What we build

Four common MCP server projects.

Most start with something you already run. The job is to make it usable by an AI application without giving the AI more access than it needs.

  • A wrapper for an existing API

    Your REST or GraphQL API stays as it is. The MCP server adds clearly named tools, descriptions an AI can act on, and the permissions and approval rules the API does not express.

  • Read-only access to data

    A database, warehouse or document store open for questions only, with query limits and no way to write.

  • Workflow tools

    A multi-step action, such as creating a record and notifying a team, packaged as one tool with an approval step before anything changes.

  • Advertising tools

    Tools that let an agent read ad reports and draft campaign changes, with approval before anything is published. The Vexio AI advertising agent follows the same pattern.

How a server is built

How we build an MCP server: few tools, tight permissions, real-client tests.

  1. 01

    Choose the tools

    List what the AI should be able to do and read. A few clear tools beat a long menu. Each one gets a name, a description and a typed input.

  2. 02

    Decide access

    Choose authentication that suits where the server runs, give credentials the least privilege that works, and mark which tools need human approval.

  3. 03

    Build

    We write the server in Node.js or Python. It exposes the tools over the protocol and adds input validation, rate limits and structured logs.

  4. 04

    Test with real clients

    We run the server from real MCP clients and feed it hostile and malformed input before anyone relies on it.

  5. 05

    Deploy and hand over

    Local over standard input and output, or remote over HTTP on Cloudflare, AWS or Azure. You get documentation and monitoring.

Local and remote

Local for one person, remote for the whole team.

Local. The server runs on the user's machine and talks to the AI client over standard input and output. It suits personal tools and development. Credentials stay on that machine.

Remote. The server runs on a host you control and is reached over HTTP. It suits shared tools, central access control and audit logs. Cloudflare Workers, AWS and Azure come in here; see cloud and DevOps.

One codebase can serve both. The protocol specification is public: modelcontextprotocol.io.

Security

Treat an MCP server like a public API.

The caller is a language model reading text it does not control. That changes what you have to protect.

  • Give every tool the smallest permission that does the job, and keep read tools apart from write tools.
  • Make write actions explicit and approvable, and log every call with its inputs and result.
  • Treat what a tool returns as untrusted input to the model. Text from a web page or a record can contain instructions, and the server cannot count on the model ignoring them.
  • Keep secrets in the server environment, never in tool descriptions or returned text.
  • Check every input against its schema before it reaches your system.
FAQ

Questions on MCP servers.

An MCP server is a program that exposes tools, data and prompts to AI applications through the Model Context Protocol, an open protocol for connecting AI applications to external systems. An AI client connects to the server, lists what it offers and calls the tools. See what is an MCP server.

A REST API is written for developers, who read the documentation and write code against it. An MCP server describes its tools in a form an AI application can discover and call itself. Many MCP servers sit on top of an existing API: the API stays, and the server adds the descriptions, permissions and approval rules an agent needs. Read MCP vs REST API.

Yes. MCP server development is a service we deliver. A typical project wraps an existing API or database with a small set of well-named tools, read-only first, with authentication, rate limits and logging. You get the server, its documentation and a handover session.

The engineering pattern is a dry-run default for anything that writes, an audit log of every call and a scoped identity for each caller, so the server can do only what that caller is allowed to do. We also validate every input and test with hostile input before launch. Details are agreed per project.

A local server runs on the user's machine and talks to the client over standard input and output. A remote server runs on a host you control and is reached over HTTP, which suits shared tools and central access control. We build either, and one codebase can serve both.

It is as safe as the permissions you give it. We scope credentials to the minimum, make write actions explicit and approvable, log every call and test the tools against abuse cases such as unexpected input. Treat an MCP server as an API that an unpredictable client will call.

An MCP server is a normal program that uses an MCP SDK to declare tools with typed inputs and answer calls from a client. For a step-by-step example, read how to build an MCP server in TypeScript. If you want it built, hosted and handed over, that is the service Vexio delivers.

Keep reading
Talk to us

Tell us what the AI should be able to reach.

Name the system, what an AI may read or change, and who approves changes. We reply by email to set up a scoping call.

WhatsApp
Message us
Web
vexio.ai