Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-server-boilerplate

MCP.Pizza Chef: josharsh

mcp-server-boilerplate is a Python-based, production-ready template for rapidly building and deploying Model Context Protocol (MCP) servers. It offers a modular, extensible foundation with support for multiple transport layers like STDIO, SSE, and HTTP. Designed with best practices in security, maintainability, and extensibility, it enables developers to expose tools, prompts, and resources to LLMs and agentic clients efficiently using the FastMCP framework.

Use This MCP server To

Rapidly scaffold and deploy MCP servers in Python Create modular MCP servers with multiple transport support Extend MCP servers with custom tools, prompts, and resources Implement secure and maintainable MCP server architectures Demonstrate best practices for MCP server development Build agentic client integrations with exposed MCP tools

README

MCP Base

A solid, foundational starting point for MCP projects. MCP Base is a production-ready, extensible template for building Model Context Protocol (MCP) servers in Python. Rapidly create, extend, and deploy MCP servers that expose tools, prompts, and resources to LLMs and agentic clients.


๐Ÿš€ What is This?

This is a Python starter baseโ€”not a specific server implementation. It provides a modular, well-documented foundation for building your own MCP servers in Python, supporting multiple transport layers (STDIO, SSE, HTTP, etc.), and demonstrating best practices for security, extensibility, and maintainability.


๐Ÿ—๏ธ Architecture Overview

.
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ base/                # Base classes for tools, prompts, resources
โ”‚   โ”œโ”€โ”€ tools/               # Example tools (filesystem, API, prompt, etc.)
โ”‚   โ”œโ”€โ”€ resources/           # Example resources (static/dynamic)
โ”‚   โ”œโ”€โ”€ prompts/             # Example prompts (text generation, summarization)
โ”‚   โ”œโ”€โ”€ transports/          # Transport layer implementations & docs
โ”‚   โ”‚   โ”œโ”€โ”€ stdio/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ README.md
โ”‚   โ”‚   โ”œโ”€โ”€ sse/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ README.md
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ”œโ”€โ”€ config.py            # Configuration and environment management
โ”‚   โ”œโ”€โ”€ server.py            # Server instantiation and registration
โ”‚   โ””โ”€โ”€ main.py              # Entrypoint: selects transport, starts server
โ”œโ”€โ”€ tests/                   # Example tests for tools/resources
โ”œโ”€โ”€ Dockerfile               # Containerized deployment
โ”œโ”€โ”€ requirements.txt / pyproject.toml
โ”œโ”€โ”€ README.md                # This file
โ”œโ”€โ”€ CONTRIBUTING.md
โ””โ”€โ”€ ...

โœจ Features

  • Multi-Transport Support: STDIO, SSE, HTTP, and more (see /src/transports/)
  • Modular Tools/Prompts/Resources: Add new features by creating a class and registering it
  • Type-Safe Input Validation: Uses Pydantic for schemas
  • Security Best Practices: Directory sandboxing, input validation, error handling
  • Extensible & Maintainable: Clean separation of concerns, base classes, and registries
  • Production-Ready: Logging, environment management, Docker support
  • Comprehensive Documentation: For users and contributors

๐Ÿ› ๏ธ Getting Started

1. Install Dependencies

pip install -r requirements.txt

2. Configure Environment

Copy .env.example to .env and fill in required values.

3. Run the Server

STDIO Transport:

python main.py --transport=stdio

SSE/HTTP Transport: See /src/transports/sse/README.md and /src/transports/http/README.md for details.


๐Ÿงฉ Adding Tools, Prompts, and Resources

Tools

  • Create a new class in /src/tools/ inheriting from BaseTool
  • Implement the required methods and input schema
  • Register the tool in the tool registry

Prompts

  • Create a new class in /src/prompts/ inheriting from BasePrompt
  • Implement the required methods and input schema
  • Register the prompt in the prompt registry

Resources

  • Add static or dynamic resources in /src/resources/
  • Register them in the resource registry

๐Ÿ”Œ Supported Transports

  • STDIO: For CLI and agentic integration (see /src/transports/stdio/README.md)
  • SSE: For server-sent events and web clients (see /src/transports/sse/README.md)
  • HTTP: For RESTful or web-based integration (see /src/transports/http/README.md)

Each transport is modular and can be extended or replaced.


๐Ÿ›ก๏ธ Security & Best Practices

  • All file and directory operations are sandboxed to allowed paths
  • Input validation is enforced for all tool/resource inputs
  • Error handling is consistent and user-friendly
  • Sensitive configuration is managed via environment variables

๐Ÿงช Testing

  • Example tests are provided in /tests/
  • Use Pytest as the test runner
  • See CONTRIBUTING.md for test guidelines

๐Ÿค Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines, code style, and PR process.


๐Ÿ“š Further Reading


๐Ÿ“ License

MIT License. See LICENSE for details.


๐Ÿ’ฌ Community & Support


MCP Base is the recommended starting point for all new Python MCP server projects. Fork, extend, and contribute improvements!

mcp-server-boilerplate FAQ

How do I get started with mcp-server-boilerplate?
Clone the repository and follow the README to set up the Python environment and run the example server using FastMCP.
What transport layers does mcp-server-boilerplate support?
It supports multiple transport layers including STDIO, Server-Sent Events (SSE), and HTTP for flexible communication.
Can I extend the boilerplate with my own tools and prompts?
Yes, the boilerplate is designed to be modular and extensible, allowing you to add custom tools, prompts, and resources easily.
Is mcp-server-boilerplate production-ready?
Yes, it is built with production use in mind, emphasizing security, maintainability, and extensibility.
What programming language is used?
The boilerplate is implemented in Python, leveraging the FastMCP framework for efficient MCP server development.
Does it include example tools and resources?
Yes, it includes example tools like filesystem and API integrations, as well as example prompts and resources to help you get started.
How does it ensure security?
The boilerplate follows best practices for secure MCP server design, including scoped access and safe interaction patterns.
Can I use this boilerplate to build servers for different LLM providers?
Yes, it is provider-agnostic and can be used to build MCP servers compatible with OpenAI, Claude, Gemini, and others.