Skip to content

GuidesApplied AI2 min read

A Custom MCP Server for Your Business: Read-Only First, Gated Writes Later

How I scope a business MCP server: narrow read tools, enforced permissions, a useful audit log and write actions added behind approval.

Published
Reviewed

Daniil MaximkinProduct & Solutions Engineer

Short answer

MCP gives assistants a common way to use tools exposed by a server. I start a business integration with a small set of read tools, permissions enforced by the source system and a log the team can review. Read-only reduces the risk of unwanted changes; it does not prevent data leaks or prompt injection. I add writes separately, with scoped access and human approval.

— Daniil

Key takeaways

  • MCP standardises the connection between a client and a server's tools. Each client still needs compatible capabilities and authentication.
  • The maintainers' August 2026 roadmap includes agent identity and progressive discovery. These are directions for future work, not guarantees every client already implements.
  • Invariant Labs demonstrated tool poisoning in April 2025: a malicious description can steer an assistant beyond the tool's stated task.
  • Read-only must be enforced in credentials and source permissions. A tool name or description is not an access control.
  • Reading can still disclose sensitive data. I limit the returned fields, the allowed recipients and what enters the audit log.
In this guide

When a team asks an assistant to check orders, I first ask which orders it should be allowed to see. The connection is only part of the work. Access and the shape of the answer need a decision too.

MCP provides a common interface for tools. My first release is a narrow set of queries. Writes come later, after the team has checked the read behaviour.

What the roadmap does and does not promise

The maintainers’ post of 22 August 2026 describes five priority areas. Agent identity and enterprise security are among them, with work on DPoP, workload identity and token exchange. Progressive tool discovery is another planned effort.

The post also describes the July 2026 release as making remote servers easier to operate as ordinary HTTP services. I take that as a reason to apply ordinary service controls: authenticate callers, authorise operations, record outcomes and make access revocable. The roadmap does not give those controls to an integration automatically.

Why reading still needs boundaries

Invariant Labs’ April 2025 research demonstrated instructions hidden in tool descriptions. An assistant could follow them while appearing to perform the requested calculation. That is a prompt-injection problem, even if the advertised tool sounds harmless.

A read-only server also sees data. It can disclose too much, return an injected instruction or expose credentials available to its process. Giving the backend a read-only credential reduces unwanted changes through that credential. It does not make the assistant or server safe by itself.

CSA recommends a gradual increase in trust, starting with limited read access and oversight. I use that as deployment guidance, not as a security guarantee.

The first build

I agree a short tool catalogue with the team:

  • One question per tool. Stock by product, orders by status or an approved policy lookup.
  • Permissions enforced at the source. The caller sees only authorised records and fields. Write attempts must fail.
  • Reviewed server code and configuration. The process gets only the credentials and file access it needs.
  • A useful audit log. Caller, tool, time, outcome and a safe reference to the result. I redact secrets and personal data instead of recording every payload.
  • Reviewed connections. Approved servers and tool definitions, with changes checked before use.

I test wrong-account access, excessive queries and injected content as well as normal answers. A successful answer is only one acceptance check.

Adding writes

A tool that prepares an invoice and a tool that sends it are separate actions. I give each the permissions it needs and ask a person to approve the actual target and action in the first version.

The log records what changed and who approved it. Retry behaviour and recovery need a design before release. This is the same approach I describe in AI request processing with human review.

I can build this with you

The deliverable is a small tool catalogue with tested access boundaries, an audit trail and an agreed path for adding writes. The situation page is a custom MCP server; the service is API integrations and automation. If the task is clear, I can quote the implementation directly.

Questions

Questions this guide answers

What does an MCP server do for a business?

It exposes selected operations over systems such as inventory or a CRM to compatible assistants. The server defines the tools; the source system decides which data the caller may access. I keep those permissions explicit.

Why start read-only?

It lets the team check answers and access boundaries before adding actions that change records. It reduces the write surface, but a poisoned response can still influence the assistant and reading can still leak data.

Is naming a tool read-only enough?

No. I enforce that boundary in the backend and credentials, then test that write attempts fail. I also review the server process and its access to files and secrets.

How do you add writes?

As separate tools with separate permissions. The first version asks a person to approve the actual action and target before execution. I record the approver, result and recovery path.

Daniil Maximkin

Hi, I’m Daniil.

I work with you from defining the problem to implementation and handover. You talk to the person who does the work. I work in English and Russian.

Tried it and still stuck?

Describe your task

The first answer is free, within one working day. Or write directly: next@taskfordaniel.com