MCP Server Demo
# MCP Server Demo with FastMCP
A beginner-friendly **Model Context Protocol (MCP)** server built using the **official FastMCP Python SDK**.
This project demonstrates the core concepts of MCP by implementing custom **Tools**, **Resources**, and **Prompts**, and testing them with **MCP Inspector**.
---
## ๐ Features
โ
Custom MCP Tools
- Addition
- Subtraction
- Multiplication
- Division
- Word Counter
- Uppercase Converter
- Lowercase Converter
- Reverse Text
- Current Time
- Mock Weather
---
โ
Dynamic Resources
- Greeting Resource
- About Project Resource
---
โ
Prompt Templates
- Greeting Prompt
- Summarization Prompt
- Explanation Prompt
---
## ๐ Project Structure
```text
mcp-server-demo/
โ
โโโ mcp.py
โโโ pyproject.toml
โโโ README.md
โโโ uv.lock
โโโ .venv/
```
---
## โ๏ธ Requirements
- Python 3.11+
- uv
- MCP SDK
- FastMCP
---
## ๐ฆ Installation
Clone the repository
```bash
git clone https://github.com/yourusername/mcp-server-demo.git
```
Go to the project
```bash
cd mcp-server-demo
```
Install dependencies
```bash
uv sync
```
---
## โถ๏ธ Run the MCP Server
```bash
uv run mcp dev mcp.py
```
---
## ๐ Available Tools
| Tool | Description |
|------|-------------|
| add | Add two numbers |
| subtract | Subtract two numbers |
| multiply | Multiply two numbers |
| divide | Divide two numbers |
| word_count | Count words |
| uppercase | Convert text to uppercase |
| lowercase | Convert text to lowercase |
| reverse_text | Reverse text |
| current_time | Show current time |
| mock_weather | Return mock weather information |
---
## ๐ Resources
### Greeting
```text
greeting://Suresh
```
Output
```text
Hello, Suresh! Welcome to MCP.
```
---
### About Project
```text
about://project
```
Returns information about the project.
---
## ๐ฌ Prompt Templates
### greet_user
Generate a greeting prompt.
### summarize_prompt
Generate a summarization prompt.
### explain_prompt
Generate an explanation prompt.
---
## ๐งช Testing
Run the server
```bash
uv run mcp dev mcp.py
```
Open **MCP Inspector**
Test
- Tools
- Resources
- Prompts
---
## ๐ Tech Stack
- Python
- FastMCP
- MCP SDK
- MCP Inspector
- uv
---
## ๐ฏ Learning Objectives
This project demonstrates
- MCP Fundamentals
- FastMCP
- Tools
- Resources
- Prompt Templates
- MCP Inspector
- Python MCP Server Development
---
## ๐ธ Screenshots
You can add screenshots of
- MCP Inspector
- Tools
- Resources
- Prompts
---
## ๐ Future Improvements
- File Reader Tool
- JSON Formatter
- CSV Analyzer
- Markdown Converter
- UUID Generator
- Password Generator
- Notes Manager
- Weather API Integration
- Calculator Suite
- AI-powered Text Utilities
---
## ๐จโ๐ป Author
**Sureshkumar**
GitHub:
https://github.com/Sureshkumar8795/mcp-server-demo.git
---
## ๐ License
MIT License
TDQS
Scored across 10 tools
Each tool performs a distinct, non-overlapping operation: arithmetic tools handle basic math, string tools handle text transformations, and time/weather are separate. No two tools could be confused for another.
All tool names use lowercase, verb-first conventions with clear actions (add, subtract, multiply, divide, word_count, uppercase, etc.). Compound names use underscores consistently, maintaining a uniform style.
With 10 tools covering arithmetic, string operations, time, and mock weather, the count is well-scoped for a demo server. Each tool has a clear purpose and none feel redundant or excessive.
The arithmetic set is complete with all four basic operations, and string operations cover common transformations. Missing operations like string concatenation or length are minor gaps for a demo, but the core surface is adequate.