MCP servers & AI interfaces

Develop MCP servers.
Connect systems with purpose.

AI can do more than answer questions: it can work with existing systems through defined functions. DAXS develops suitable MCP servers and adapters, with clearly defined tools, limited permissions and verifiable results.

Two people review an application together at a workplace.
Connect applications with a clear purpose

An MCP server exposes defined functions to AI applications.

An assistant may need to retrieve a ticket status, search authorised documentation or create a prepared entry. It needs clearly described, limited access for each task. DAXS develops suitable MCP servers and the underlying API connections for existing business systems.

The Model Context Protocol describes how AI applications can use tools, data resources and prepared prompts, among other capabilities. An MCP server acts as a technical adapter. A well-chosen tool name alone does not make it secure or turn it into an autonomous agent.

Conventional API

An application calls a defined function in another system. The data model, permissions, validation and error handling are designed for that access.

MCP integration

A compatible AI client can use described functions and resources through a common protocol. Specific approvals and implementation in the target system remain separate responsibilities.

AI agent

An application combines a model, state and tools to perform several steps. It needs a bounded task, stopping conditions and traceable control over its actions. An agent can use MCP or other APIs.

Make trust boundaries visible

The client, interface and target system each enforce their own controls.

The AI application proposes a tool call. The MCP server checks identity, the permitted function and inputs. The target system also enforces its own access rules. Critical actions require a specific approval before execution.

MCP client, a server enforcing identity and tool controls, and a separately authorised target system; critical actions require approval.
Example of a controlled integration. Approval precedes the critical action; the target system also checks permissions.

The diagram shows an example architecture for a custom integration. Compatible client, SDK and protocol versions are selected and tested before implementation.

Keep tools focused and understandable

The task determines the data and actions.

An interface to a ticketing system does not need to expose the entire database. One tool might return exactly the fields needed for an authorised status enquiry. Another creates only a draft. General shell, SQL or administration functions would create an unnecessarily broad scope for these tasks.

TypeExample toolKey check
Read accessRetrieve a ticket status, search authorised documentation or check a technical condition.The user may view the specific object; return only the required fields, a limited result set and no data belonging to another tenant.
Limited write accessPrepare a draft reply or structured internal note.Validate fields and permitted content, clearly mark drafts, control retries and return a traceable result.
Critical actionInitiate an agreed change in a production system.Additional approval bound to the action and target object; recheck permissions immediately before execution and define limits and a recovery route.

Even a read tool can disclose confidential data. Read-only access therefore still needs authorisation. For write calls, we also plan idempotency, error states and handling of uncertain outcomes: a timeout does not prove that an action was not executed.

Identity and permissions

Successful authentication does not grant permission to every object.

We distinguish authentication in the AI client, authorisation at the MCP server and permissions in the target application. User, group and tenant context come from a trusted identity. The model must not assign its own role or permitted data scope through a text input.

A remote HTTP integration needs an appropriate authorisation design. Tokens must be intended for the relevant service and checked for validity and scope. Credentials for downstream systems are protected and limited for their specific destination. Arbitrarily forwarding a client token does not provide universal system access.

A local process connection has different boundaries from a remote business service, including the program being launched, its origin and its operating system permissions. Easy local execution does not replace a review of the program or its data access. For both approaches, we agree on permitted connections and technical responsibilities.

MCP is a protocol, rather than a complete security architecture.

Server logic, target system permissions, protected credentials, network rules and verifiable approvals enforce the actual limits. The implementation depends on the client, data, actions and operating model.

Allow for errors and untrusted content

The boundaries also apply to unsuitable model suggestions.

A document, ticket or tool result may contain manipulated instructions. That content is treated as data. It must not grant new permissions or justify an otherwise prohibited action. Prompt instructions can support the application; binding controls operate outside the model.

Inputs and destinations

Validate types, permitted values, object references, paths and result sizes on the server. Limit permitted APIs and network destinations; avoid freely assembled commands and uncontrolled URL requests.

Actions and approvals

Make call scope and side effects understandable. Bind critical approvals to the specific operation, limit their validity and verify them before execution. Define cancellation and retry rules.

Operations and traceability

Provide rate limits, time limits, error handling and purpose-specific logs. Keep credentials out of model context and diagnostic output. Investigate unusual access and make credentials revocable.

We test normal workflows alongside prohibited object access, manipulated content, expired permissions, duplicate calls and denied approvals. This reduces risks; a general promise to prevent every prompt injection would be unrealistic.

A suitable first step

Start with a manageable function.

We review the target application, existing APIs, user roles and required fields. This defines a limited tool catalogue with clear inputs and results. A read pilot can show whether the integration helps in everyday work; write steps can be added and tested separately where needed.

  1. Define the task: which problem, which objects and which users?
  2. Develop the interface: connect the target API, describe the tool and implement permissions and error handling.
  3. Validate in practice: test permitted and prohibited cases, approvals and retries.
  4. Handover with support: document the solution, access management, version maintenance and responsibilities.

DAXS can deliver this as custom development and integration. A straightforward data query may also suit a conventional API or script. We discuss the appropriate scope using your existing systems.

Useful for an initial discussion

A specific desired function, the application involved, available API documentation and an anonymised example. Credentials and confidential customer data do not belong in a public enquiry.

Frequently asked questions

We clarify this in our conversation.

How does an API differ from MCP?

An API exposes a system’s functions. MCP defines a common way to offer tools and context to compatible AI applications. An MCP server can use existing APIs; their permissions and business rules remain necessary.

Does every automation need an AI agent?

No. A fixed import or clearly defined calculation is often simpler to implement with a script or direct API connection. An agent becomes relevant when variable tasks need a flexible choice of steps.

Can an MCP tool make changes itself?

Yes, when the business requires it and technical safeguards are in place. Read functions, limited changes and critical actions are treated separately. Approvals, target permissions, input validation and traceable results are part of each function.

Is signing in to the AI service sufficient authorisation?

No. The server must verify the caller and their permissions; the target system must also permit access to the specific function and object. A tool call must not create rights the user would not otherwise hold.

How should a useful pilot begin?

With a clear benefit and a few limited tools, initially read-only where possible. We define success criteria and test unauthorised access, problematic content, timeouts and repeated calls before expanding write functions.

Agents in ongoing operations

Tool access does not itself authorise unrestricted operation.

An agent on a Linux system can use APIs, local tools or external services. Its service identity, limited file access, process isolation, permitted network destinations and securely managed credentials are planned separately. A local agent is not automatically offline; every external call belongs in the data flow. Model changes, tool failures, runtime and cost limits, and a traceable abort mechanism are also tested.

Explore permissions and approvals for agents

Script, workflow or AI agent: practical decision questions

From the task to a suitable solution

Let's discuss your use case.

What should become easier, which data is involved and which systems are already in place? We use this to develop a practical starting point and a manageable next step.

Simply explained

An interface connects an AI tool to an existing application. It defines what may be read or changed. DAXS develops that connection and checks permissions, inputs, approvals and failure cases.