MCP FastAPI Tutorial 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 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/MuhammadIshaqSkd/mcp-fastapi-tutorial'
If you have feedback or need assistance with the MCP directory API, please join our Discord server