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.
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.
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:
| Server | Purpose |
|---|---|
| xero-mcp | Accounting - invoices, contacts, payments |
| elevenlabs-mcp | Voice agent management |
| synergy-wholesale-mcp | Domain 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:
- Pick an API you want to integrate
- Read the docs thoroughly
- Start with 2-3 simple tools
- Test with Claude Desktop
- Expand from there
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.