Jez | Jeremy Dawes
Back to blog

Building MCP Servers: A Practical Guide

How I've built 10+ MCP servers connecting AI assistants to real business systems. Lessons learned and patterns that work.

MCPAIDevelopment

Building MCP Servers: A Practical Guide

The Model Context Protocol (MCP) is how you connect AI assistants like Claude to your actual business systems. I’ve built over 10 MCP servers now, and I’ve learned a few things about what works.

What is MCP?

MCP is an open protocol that lets AI assistants connect to external tools and data sources. Think of it as a USB port for AI - a standard way to plug in capabilities.

Why Build MCP Servers?

Most AI demos stop at the chatbot. You ask a question, you get an answer. But real business value comes from doing things - creating invoices, updating CRMs, managing domains.

That’s what MCP enables. Instead of telling your AI assistant about your business, you give it access to your actual systems.

The Stack I Use

Every MCP server I build follows the same pattern:

  • FastMCP for the server framework (Python) or TypeScript SDK
  • OAuth 2.0 for authentication where needed
  • Environment variables for secrets (never hardcoded)
  • npm for distribution

Lessons Learned

1. Start with the API docs

Before writing any code, I spend time understanding the API I’m integrating with. What are the rate limits? What auth method does it use? What are the common error responses?

2. Keep tools focused

Each tool should do one thing well. A create_invoice tool shouldn’t also fetch customer details - that’s a separate get_customer tool.

3. Handle errors gracefully

AI assistants need clear error messages to understand what went wrong. Don’t just return “Error” - return “Invoice creation failed: Customer email is required”.

What I’ve Built

Here are some of the MCP servers I’ve published:

ServerPurpose
xero-mcpAccounting - invoices, contacts, payments
elevenlabs-mcpVoice agent management
synergy-wholesale-mcpDomain registration

Each one follows the same patterns. Once you’ve built one MCP server, the next ones get easier.

Getting Started

If you want to build your own MCP server:

  1. Pick an API you want to integrate
  2. Read the docs thoroughly
  3. Start with 2-3 simple tools
  4. Test with Claude Desktop
  5. Expand from there
Pro tip

Start with read-only tools first. Getting data out is safer than writing data in. Once those work, add the write operations.

The MCP ecosystem is still young, but it’s where the real value of AI assistants will come from. Not chatbots - connected systems that actually do work.