MCP FastAPI Tutorial Server
Click on "Deploy 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 FastAPI Tutorial Servergreet Mishaq"
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 with FastAPI (Python)
A hands-on implementation of a Model Context Protocol (MCP) server built with Python using the official MCP SDK and FastAPI/Starlette.
What is MCP?
Model Context Protocol (MCP) is an open standard that enables AI assistants (like Claude, Kiro, Cursor) to connect with external tools, data sources, and APIs through a unified interface — similar to how USB-C standardized device connectivity.
┌─────────────┐ ┌─────────────┐ ┌──────────────┐
│ AI Client │ ←───→ │ MCP Server │ ←───→ │ Your Tools/ │
│(Claude/Kiro)│ JSON │ (This Repo)│ │ Data/APIs │
└─────────────┘ └─────────────┘ └──────────────┘Related MCP server: MCP Demo Server
Features
Tools: Functions that AI clients can discover and call
greet— Returns a greeting for a given nameadd_numbers— Adds two numbers and returns the resultget_current_time— Returns the current date and time
SSE Transport: Server-Sent Events based communication (HTTP)
Test Client: A Python client that connects to the server and calls all tools
Tech Stack
Python 3.13+
MCP Python SDK (v1.9)
FastAPI / Starlette
Uvicorn (ASGI server)
SSE (Server-Sent Events) transport
Getting Started
Prerequisites
Python 3.10+
pip
Installation
git clone https://github.com/MuhammadIshaqSkd/mcp-fastapi-tutorial.git
cd mcp-fastapi-tutorial
# Create virtual environment
python -m venv venv
# Activate (Windows)
.\venv\Scripts\activate
# Activate (macOS/Linux)
source venv/bin/activate
# Install dependencies
pip install -r requirements.txtRunning the Server
python server.pyServer starts on http://127.0.0.1:8080 with SSE endpoint at /sse.
Testing with the Client
Open a second terminal (keep the server running):
python test_client.pyExpected output:
==================================================
MCP Client - Connecting to server...
==================================================
✅ Connection successful!
📋 Available Tools:
------------------------------
🔧 greet: Greet someone by name and return a greeting message.
🔧 add_numbers: Return the sum of two numbers.
🔧 get_current_time: Return the current date and time.
🎯 Calling 'greet' tool...
Result: Assalam-o-Alaikum, Mishaq! MCP Server se aapko salam!
🎯 Calling 'add_numbers' tool...
Result: 15 + 27 = 42
🎯 Calling 'get_current_time' tool...
Result: Current time: 2026-06-22 18:15:09
==================================================
🎉 All tools called successfully!
==================================================Project Structure
mcp-fastapi-tutorial/
├── server.py # MCP Server — registers and exposes tools via SSE
├── test_client.py # MCP Client — connects to server, lists & calls tools
├── requirements.txt # Python dependencies
└── README.mdHow It Works
Server registers tools using
@mcp.tool()decoratorClient connects via SSE to
/sseendpointClient calls
list_tools()to discover available toolsClient calls
call_tool("tool_name", {args})to execute a toolServer executes the function and returns the result
Key Concepts Demonstrated
Concept | Description |
Tool Registration | Using |
SSE Transport | HTTP-based bidirectional communication via Server-Sent Events |
Client Session | Initializing and managing MCP client-server sessions |
Tool Discovery | Clients dynamically discover available tools at runtime |
Tool Execution | Remote procedure call pattern over the MCP protocol |
Roadmap
Basic MCP server with tools
Add Resources (context/data providers for AI)
Add Prompts (reusable prompt templates)
Streamable HTTP transport
Authentication & authorization
Deploy to cloud
Resources
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAn MCP (Model Context Protocol) server implementation using HTTP SSE (Server-Sent Events) connections with built-in utility tools including echo, time, calculator, and weather query functionality.2-
- FlicenseCqualityDmaintenanceA demonstration server based on Model Context Protocol (MCP) that showcases how to build custom tools for AI assistants, providing mathematical calculation and multilingual greeting capabilities.3-
- AlicenseBqualityDmaintenanceA minimal MCP server implementation demonstrating basic tool integration with example functions like greetings, version info, and system information. Supports both HTTP and stdio transports for connecting AI clients.3MIT
- FlicenseNot gradedqualityDmaintenanceA standalone MCP server that exposes API endpoints as tools for AI assistants, using SSE transport.-