MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Serverwhat's the current time in London?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ MCP Server
Production-Ready Model Context Protocol Server Built with Python & FastMCP
A clean, modular, scalable, and Docker-ready implementation of the Model Context Protocol (MCP), designed for AI applications and developer productivity.
๐ Table of Contents
๐ Overview
โจ Features
๐ Architecture
๐ Project Structure
๐ Tech Stack
๐ Getting Started
๐ณ Docker
โ Configuration
๐งฉ Available Tools
๐ Logging
๐ Roadmap
๐ค Contributing
๐ License
๐ Overview
The MCP Server is a production-ready implementation of the Model Context Protocol (MCP) using Python and FastMCP.
This project demonstrates how to build scalable, modular, and maintainable MCP servers that can expose reusable tools for AI assistants and MCP-compatible clients.
Unlike simple examples, this repository follows a production-oriented architecture with centralized tool registration, structured logging, Docker support, and a clean project layout.
It serves as both:
๐ A learning resource for developers exploring MCP.
๐ A solid foundation for building real-world AI tool servers.
โจ Features
Feature | Status |
FastMCP Server | โ |
Modular Architecture | โ |
Central Tool Registry | โ |
Professional Logging | โ |
Tool Execution Logs | โ |
Docker Support | โ |
Docker Compose | โ |
Environment Configuration | โ |
Easy Tool Registration | โ |
Production Ready Structure | โ |
Extensible Design | โ |
๐ฏ Why This Project?
Most MCP examples available online are intentionally minimal.
This project goes beyond the basics by demonstrating:
Clean architecture
Separation of concerns
Modular tool development
Production-grade logging
Dockerized deployment
Reusable project structure
Scalable code organization
It is intended to be a strong starting point for developers building AI-powered applications with MCP.
๐ Architecture
The project follows a modular architecture to keep the codebase clean, maintainable, and easy to extend.
flowchart TD
Client["MCP Client"]
Server["FastMCP Server"]
Registry["Tool Registry"]
Calculator["Calculator Tools"]
Time["Time Tools"]
File["File Tools"]
System["System Tools"]
Math["Math Tools"]
Text["Text Tools"]
Utility["Utility Tools"]
Logger["Logging System"]
Logs["Log Files"]
Client --> Server
Server --> Registry
Registry --> Calculator
Registry --> Time
Registry --> File
Registry --> System
Registry --> Math
Registry --> Text
Registry --> Utility
Calculator --> Logger
Time --> Logger
File --> Logger
System --> Logger
Math --> Logger
Text --> Logger
Utility --> Logger
Logger --> Logs๐ Project Structure
MCP_SERVER/
โ
โโโ .github/
โ โโโ workflows/
โ โโโ ci.yml
โ
โโโ app/
โ โโโ tools/
โ โ โโโ math_tool.py
โ โ โโโ text_tools.py
โ โ โโโ utility_tools.py
โ โ
โ โโโ calculator.py
โ โโโ datetime_tool.py
โ โโโ file_reader.py
โ โโโ logger.py
โ โโโ log_decorator.py
โ โโโ registry.py
โ โโโ system_info.py
โ โโโ time_tool.py
โ
โโโ logs/
โ โโโ error.log
โ โโโ mcp.log
โ
โโโ .dockerignore
โโโ .env
โโโ .gitignore
โโโ CHANGELOG.md
โโโ config.py
โโโ CONTRIBUTING.md
โโโ docker-compose.yml
โโโ Dockerfile
โโโ LICENSE
โโโ pyproject.toml
โโโ pytest.ini
โโโ README.md
โโโ requirements.txt
โโโ server.pyโ Project Workflow
Start Server
โ
โผ
Create FastMCP Instance
โ
โผ
Register All Tools
โ
โผ
Wait For MCP Client
โ
โผ
Receive Tool Request
โ
โผ
Execute Tool
โ
โผ
Write Logs
โ
โผ
Return Response๐ Tech Stack
Technology | Purpose |
๐ Python 3.11+ | Programming Language |
โก FastMCP | MCP Framework |
๐ค Model Context Protocol | AI Tool Communication |
๐ณ Docker | Containerization |
๐ฆ Docker Compose | Local Deployment |
๐ Logging | Monitoring & Debugging |
โ python-dotenv | Environment Variables |
๐งช Pytest | Future Testing |
๐ GitHub Actions | Future CI/CD |
๐ฏ Design Principles
The project is built around a few core engineering principles:
Modular architecture
Single Responsibility Principle (SRP)
Separation of Concerns
Easy extensibility
Centralized tool registration
Consistent logging
Docker-first deployment
Clean project organization
๐ Core Modules
Module | Responsibility |
| Starts the MCP server |
| Registers all available tools |
| Configures application logging |
| Logs tool execution automatically |
| Central application configuration |
| Calculator-related tools |
| Time and date utilities |
| File reading tools |
| System information tools |
| Additional utility modules |
๐ Request Lifecycle
MCP Client
โ
โผ
FastMCP Server
โ
โผ
Registry
โ
โผ
Requested Tool
โ
โผ
Execute Function
โ
โผ
Log Request
โ
โผ
Return Result๐ Key Advantages
Clean folder structure
Easy to maintain
Easy to test
Easy to extend
Production-ready layout
Reusable architecture
Docker support
Consistent logging
Beginner friendly
Open-source friendly
๐ Getting Started
Follow the steps below to set up the project on your local machine.
๐ Prerequisites
Before running the project, ensure the following software is installed:
Software | Version |
Python | 3.11+ |
Git | Latest |
Docker (Optional) | Latest |
Docker Compose (Optional) | Latest |
Verify your installation:
python --version
git --version
docker --version๐ฅ Clone the Repository
git clone https://github.com/golam74/MCP_SERVER.gitNavigate to the project directory:
cd MCP_SERVER๐ Create a Virtual Environment
Windows
python -m venv venvActivate it:
venv\Scripts\activateLinux / macOS
python3 -m venv venvActivate it:
source venv/bin/activate๐ฆ Install Dependencies
Upgrade pip:
python -m pip install --upgrade pipInstall project dependencies:
pip install -r requirements.txtโ Environment Variables
Create a .env file in the project root.
Example:
APP_NAME=MCP Server
LOG_LEVEL=INFOYou can add additional configuration values as your project grows.
โถ Run the Server
Start the MCP server:
python server.pyExpected output:
============================================================
MCP Server started successfully.
============================================================๐ณ Docker Support
Build the Docker image:
docker build -t mcp-server .Run the container:
docker run --rm mcp-server๐ณ Docker Compose
Start the project:
docker compose up --buildStop the project:
docker compose downโ Verify Installation
Everything is configured correctly if:
โ Virtual environment is activated
โ Dependencies install successfully
โ Server starts without errors
โ Log files are created
โ Docker image builds successfully
โ Docker Compose starts correctly
๐ Configuration Files
File | Description |
| Application entry point |
| Application configuration |
| Environment variables |
| Python dependencies |
| Docker image |
| Docker Compose configuration |
| Project documentation |
๐ Logging
The server automatically creates log files inside the logs/ directory.
logs/
โโโ mcp.log
โโโ error.logEach tool execution is logged with:
Timestamp
Tool Name
Arguments
Result
Exceptions (if any)
Example:
2026-07-18 05:38:43 | INFO | Tool Started : add_numbers
2026-07-18 05:38:43 | INFO | Arguments : (10, 20)
2026-07-18 05:38:43 | INFO | Result : 30
2026-07-18 05:38:43 | INFO | Tool Finished : add_numbers๐งฉ Available MCP Tools
The server is organized into independent tool modules, making it easy to maintain and extend.
Category | Description |
โ Calculator Tools | Basic arithmetic operations |
๐ Time Tools | Current date and time utilities |
๐ File Reader | Read text files safely |
๐ป System Information | Operating system and hardware details |
๐ข Math Tools | Advanced mathematical utilities |
๐ Text Tools | String manipulation and formatting |
โ Utility Tools | General-purpose helper utilities |
๐ Adding a New Tool
Adding a new tool to the server requires only three simple steps.
Step 1
Create your tool inside the appropriate module.
Example:
@mcp.tool
def square(number: int) -> int:
return number * numberRelated MCP server: FastAPI MCP Server
Step 2
Register the tool inside the module.
def register_math_tools(mcp):
...Step 3
Import the registration function into:
app/registry.pyand register it:
register_math_tools(mcp)That's it!
No changes are required in server.py.
๐ป Example Usage
Calculator
add_numbers(10, 20)
# Output
30Time Tool
get_current_time()Output
10:45:23File Reader
read_file("example.txt")Output
Hello WorldSystem Information
get_system_info()Example Output
Operating System : Windows
Python Version : 3.11
Machine : AMD64๐ Logging
Every tool execution is automatically logged.
Logged information includes:
Tool Name
Arguments
Return Value
Exceptions
Timestamp
Example
2026-07-18 05:38:43 | INFO | Tool Started : add_numbers
2026-07-18 05:38:43 | INFO | Arguments : (10, 20)
2026-07-18 05:38:43 | INFO | Result : 30
2026-07-18 05:38:43 | INFO | Tool Finished : add_numbers๐ Project Status
Feature | Status |
FastMCP Server | โ |
Tool Registry | โ |
Professional Logging | โ |
Docker Support | โ |
Docker Compose | โ |
Environment Configuration | โ |
Modular Architecture | โ |
GitHub Repository | โ |
Unit Tests | ๐ง |
GitHub Actions | ๐ง |
๐บ Roadmap
Version 1.0
FastMCP Server
Tool Registration System
Modular Architecture
Logging System
Docker Support
Docker Compose
Version 1.1
Unit Testing
GitHub Actions
Code Coverage
Better Error Handling
Version 1.2
Async Tools
More Utility Tools
Performance Optimization
Version 2.0
Authentication
Database Support
Monitoring Dashboard
Plugin Architecture
๐ค Contributing
Contributions are always welcome!
If you'd like to improve this project, please follow these steps:
Fork the repository.
Create a new feature branch.
git checkout -b feature/awesome-featureCommit your changes.
git commit -m "Add awesome feature"Push your branch.
git push origin feature/awesome-featureOpen a Pull Request.
Please make sure your code follows the existing project structure and coding style.
๐งช Future Improvements
The following features are planned for future releases:
Async MCP Tools
Unit & Integration Tests
GitHub Actions (CI/CD)
Code Coverage Reports
Performance Benchmarking
Authentication & Authorization
Database Integration
Plugin Architecture
Monitoring Dashboard
API Documentation
๐ Project Goals
This repository is designed to serve as:
๐ A learning resource for developers exploring MCP.
๐ A production-ready starter template.
๐ค A foundation for AI tool development.
๐ A portfolio-quality open-source project.
๐ค Support
If you find this project useful:
โญ Star the repository
๐ด Fork the project
๐ Report bugs
๐ก Suggest new features
๐ฅ Contribute improvements
Your support helps make the project better for everyone.
๐ License
This project is licensed under the MIT License.
See the LICENSE file for more details.
๐จโ๐ป Author
Golam Israil
AI Engineer | Python Developer | AI Automation Enthusiast
Connect with Me
GitHub: https://github.com/golam74
LinkedIn: (Add your LinkedIn profile here)
๐ Acknowledgements
Special thanks to the amazing open-source community and the technologies that made this project possible.
Python
FastMCP
Model Context Protocol (MCP)
Docker
GitHub
Open Source Community
๐ If You Like This Project
If this repository helped you learn something new or saved you time:
โญ Give it a Star
๐ด Fork it
๐ข Share it with others
Every contribution and every star motivates further development.
๐ Happy Coding!
Build โข Learn โข Share โข Grow
Made with โค๏ธ by Golam Israil
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA production-ready MCP server built with FastAPI, providing an enhanced tool registry for creating, managing, and documenting AI tools for Large Language Models (LLMs).Last updated34
- Alicense-qualityDmaintenanceA high-performance Model Context Protocol (MCP) server designed for large language models, enabling real-time communication between AI models and applications with support for session management and intelligent tool registration.Last updated2MIT
- Alicense-quality-maintenanceA standardized MCP server implementation that provides AI models with dynamic tool discovery, execution, and context management capabilities. Built with FastAPI, it offers a modular architecture for easily adding new tools and managing AI application interactions through the Model Context Protocol.Last updated13
- Flicense-qualityDmaintenanceA Model Context Protocol server built with FastMCP that features dynamic tool loading and modular management via a dedicated tool directory. It supports both stdio and HTTP transport modes, enabling efficient development and deployment of custom MCP tools.Last updated
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoโฆ
MCP (Model Context Protocol) server for Appwrite
A Model Context Protocol server for Wix AI tools
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/golam74/MCP_SERVER'
If you have feedback or need assistance with the MCP directory API, please join our Discord server