Custom MCP Server - Safe Claude Access to Your Own Tools by Muhammad Hasnat AkhtarCustom MCP Server - Safe Claude Access to Your Own Tools by Muhammad Hasnat Akhtar
Custom MCP Server - Safe Claude Access to Your Own Tools
MCP (Model Context Protocol) is the standard way to let an AI assistant read and write your real systems instead of guessing. I build the server that sits in between and decides exactly what the AI is allowed to touch.
What I built here
My own agency's decision database, exposed to Claude as a small set of named tools: search records, read one record by id, write a new record, log an activity row, and flag a conflict with an earlier decision.
The part that matters is the guardrails, not the plumbing:
Write tools are separated from read tools, so the assistant can propose a record but cannot approve one. Approval stays a human action behind a PIN.
Every search result returns a status — exact match, related match, conflicting records, or nothing authoritative — so the assistant knows when not to trust what it got back.
Every answer carries record ids, so any claim can be traced back to the row it came from.
Measured rather than assumed: search quality is scored against a fixed question set on every change, and the score is stored.
Why a client would want this
An AI assistant with no MCP layer either has no access to your data, or has far too much. The server is where "read the CRM but never delete from it" actually gets enforced — in code, not in a prompt.
Stack
Python, SQLite with full-text search, embeddings for meaning-based lookup, MCP over stdio, Claude Code as the client.
This is my own internal system, built and in daily use — not client work. I would build the same shape against your stack.
Like this project
Posted Oct 15, 2026
My own agency system, in daily use: an MCP server that exposes a decision database to Claude as scoped tools, with an approval gate on every write.