Opens in a new tab
Talk to us
Siluette Of A Women On A Projected Screen Of Other Faces

Custom MCP Development

Your AI can only use the systems it can reach. Where an application has an API but nothing an AI can discover and use, we build the missing piece: selected resources and actions exposed through the Model Context Protocol — an MCP server, or what most AI applications call a connector — with the authentication, permissions and logging your security team will ask about. The API stays where it is. We put a controlled, model-facing layer in front of it.

Tell us which application your AI needs to query or use. We will assess the available API, the actions you need and the security boundaries around them.

Assess an application for MCP
Koios35 0926

The Client’s Situation

Waiting for the vendor

The pattern is consistent. An organisation has AI assistants in real use and important software with a well-documented API. What it does not have is any way for the assistant to query that system, create a record or carry out an approved action, because the application exposes nothing an AI application can discover and use. So people go back to opening the application, searching for the data, copying it across and triggering the routine action themselves.

The alternatives are all unattractive. Wait for the software vendor, which may take a year and may never happen for your particular system. Build a separate one-off integration for each AI application, which multiplies the number of connectors to secure, test and maintain. Or hand credentials to a third-party connector whose code, credential handling and permission model you cannot fully inspect.

Even where a connector does exist, it is often the wrong shape. Generic integrations tend to expose considerably more of the application than a single use case requires, and they rarely have the domain-specific tools your own processes need, the narrower permissions your policy demands, or an audit trail that will satisfy whoever asks for one.

Koios10 0926

What a purpose-built connector gives you

Talk to us

Use the systems you already have, sooner.

Approved AI use cases can proceed without waiting for every software vendor to publish a suitable connector, or for a roadmap you have no influence over.

Only what the use case needs.

Scopes, least privilege, separation of read and write, and approval gates on anything consequential. A connector designed for one workflow exposes a fraction of what a generic one does.

Something you can actually inspect.

You hold the implementation, the credential handling and the permission model, and your security team can review all three rather than take an unfamiliar integration on trust.

One capability rather than one per project.

A maintained connector can serve more than one workflow or compatible AI host, subject to testing, instead of each new project building its own. Anomaly alerts on loops, retries, malformed prompts and unexpected demand, which is where most of the unpleasant surprises in this category come from.

Tool calls you can audit.

Logs that connect the user, the model, the tool call, the inputs, the result and any approval event, so an action can be investigated afterwards rather than inferred.

Agents get tools instead of a user interface.

Well-described tools with clear schemas are what an agentic workflow can reliably select and execute. Asking a model to navigate a screen or interpret an undocumented endpoint is where these projects usually fail.

Five steps, and the second one decides whether to continue

1

We define the use case and the capabilities.

The exact questions or actions the AI needs, the target host environment, who the users are, how sensitive the data is, and what approval model applies. Everything after this is scoped by that list, which is why we resist starting with the application.

2

We assess the application and its API.

API coverage against the required capabilities, authentication, rate limits, webhooks, transaction behaviour, error handling, data residency and vendor constraints. This is where we find out whether the thing you want is possible, and we would rather tell you in week one than in month three.

3

We design the server.

Resources, tools, schemas, descriptions, permissions and safe defaults. The design decision that matters most is subtraction: exposing only the capabilities the agreed use case requires, and describing them well enough that a model chooses the right one.

4

We implement and test it.

Building the server, integrating identity and secrets, then testing against the intended AI hosts under normal, exceptional and adversarial usage. That last category includes attempts to misuse a tool or reach data the caller is not entitled to.

5

We deploy and maintain it.

Packaged deployment with logging, monitoring and versioning, operating documentation and a tool catalogue, and a plan for what happens when the application API or the protocol itself changes. Both will.

Turn your data into a competitive advantage.

Whether you’re trying to prove marketing performance, modernise enterprise reporting, or build a stronger data strategy, we’ll help you create analytics that deliver measurable business value.

Talk to us

What the work covers

Koios36 0926

Assessment and design.

Use-case, user and target-host definition; API and application-capability assessment; authentication, authorisation and data-sensitivity review; design of read-only, write-enabled and approval-gated actions; tool and resource schema design.

Engineering.

Custom MCP server implementation, connection to the underlying API or service layer, identity, secret and token management, input validation, idempotency and transaction-safety controls, and logging, tracing, rate limiting and error handling.

Security and operational controls.

Least-privilege scopes, separation of read and write, explicit consent and approval for sensitive actions, validation of tool inputs and outputs rather than trusting model-generated parameters, environment isolation, timeouts and safe retry behaviour, protection against prompt-injection paths that attempt to misuse a tool, and audit logs that link user, model, call, result and approval.

Quality, documentation and handover.

Functional, permission, failure-mode and host-compatibility testing; sandbox and user-approval testing for write actions; deployment package and environment configuration; tool catalogue, usage examples and operating documentation; and a maintenance plan for application, host and protocol changes.

Why organisations bring us in

1

We have built one of these already.

An internal implementation, not a client project: an electronic invoicing platform we use ourselves had a documented API and no interface an AI application could work with, so we built a controlled connector for a defined internal use case. That is a modest claim deliberately. It means the design questions on this page — which resources to expose, how to carry authentication through, what to validate, what to log — are ones we have already had to answer for real rather than read about.

2

We expose the narrow thing.

The instinct when building a connector is to wrap the API and let the model work out what it needs. We do the opposite, because the security review is easier, the model chooses correctly more often, and there is less to maintain when the application changes. Subtraction is most of the design work and it is what a generic connector cannot do for you.

3

We have been on the other side of the API.

Koios builds custom enterprise applications, which means we have designed the APIs, the authentication and the transaction behaviour that this work has to sit on top of. Knowing what an application can safely expose, and what it will do when a model calls it in an order nobody anticipated, is a different kind of knowledge from knowing the protocol.

What do our clients say?

Want to hear more from us?

For insights and updates straight your inbox. No spam, unsubscribe at any time.

Questions we are asked

An API exposes an application’s functions to other software. The Model Context Protocol is an open standard that standardises how AI applications discover and use selected context and tools, which is a different problem: a model needs to know what is available, what each tool does, what it expects and what it returns. A custom MCP server usually calls the application’s API underneath rather than replacing it. Nothing about your existing interfaces, identity systems or application rules stops being relevant.

Usually, yes, and a documented service interface is by far the strongest foundation. Where one does not exist we will assess the alternatives case by case, but we are cautious about driving an application through its user interface: it is fragile, it breaks on cosmetic changes, and it is difficult to secure or audit. Sometimes the right recommendation is to build a proper interface first, which is a smaller job than it sounds and a considerably better position to be in.

Yes, and it often should be to start with. Read-only, write-enabled and approval-gated designs are all available, and the right choice depends on the business need and on how reversible the action is. A common pattern is to begin read-only, prove the model uses the tools sensibly, then add write capability behind an approval gate once there is evidence rather than optimism to support it.

That depends on each host’s support for the protocol and on how it is implemented there, so we will not promise universal compatibility. What we do instead is agree the target environment with you at the start and test against it. A connector built to the specification has a reasonable chance of working with other compatible hosts, but reasonable chance is not the same as tested, and we would rather be precise about which one you are getting.

Either, and the choice shapes everything else. A local server runs on the user’s own machine, uses that user’s credentials and is only reachable from the AI application running alongside it. A hosted server runs as a service, serves many users, has to establish who each of them is, and needs the same operational care as any other production endpoint. Which AI applications can use the server, how authentication works, where secrets live and who operates it all follow from this decision, so we take it during assessment rather than leaving it to deployment. Most business use cases end up hosted; most first experiments end up local.

Authentication and strong secret management, least-privilege scopes with read and write separated, a clear decision on whether the server acts as the individual user or as a service account, since that determines what an audit log can actually prove, explicit consent for sensitive actions, validation of what the model passes to a tool rather than trusting the parameters it generates, environment isolation, rate limits and timeouts, audit logs linking user, model, call, result and approval, and protection against prompt-injection paths that attempt to misuse a tool or reach unauthorised data. We also review the underlying API, because a connector cannot be more secure than what it calls. Little of that comes from the protocol itself. It standardises how an AI application discovers and calls tools, specifies how a client authorises against a remote server, and lets a tool declare hints such as read-only. What a tool is allowed to do, on whose behalf, and what gets recorded are engineering decisions.

It will, so we plan for it. Versioning of the connector, regression tests against the tools you depend on, monitoring that detects a change in behaviour rather than waiting for a user to report it, and documentation that makes the dependency visible. Whether Koios or your own team handles that maintenance is worth agreeing explicitly at the outset rather than discovering after the first breaking change.

Then you compare them on coverage, security and maintenance, and pick. That is a good position to be in rather than a wasted investment: you will have been running the use case for a year while waiting. Sometimes the vendor version is better and the custom one gets retired. Sometimes it covers the general case and yours keeps the domain-specific tools that match your own processes. We would rather build something you can retire cleanly than something you are locked into.

Start with the use case, not the protocol

The first piece of work is an assessment, and it is deliberately capable of concluding that this is not worth doing. We look at the capabilities you actually need, what the application’s API can support, where the authentication and permission boundaries fall, and what a controlled first version would expose. What you get is a design and an honest view of the effort, including the cases where waiting for the vendor is the better commercial decision.

London Office

51 Lime Street
c/o HCR Law LLP
London EC3M 7DQ
United Kingdom

Zagreb Office

Centar 2000
Radnicka cesta 37a
10000 Zagreb
Croatia

Tell us which application your AI needs to query or use. We will assess the available API, the required actions and the security boundaries for a custom MCP implementation.

"*" indicates required fields

Name*
Confirmations