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.
Related MCP Servers
- Flicense-qualityCmaintenanceAn 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.Last updated2
- 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.Last updated3
- 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.Last updated3MIT
- Flicense-qualityDmaintenanceA standalone MCP server that exposes API endpoints as tools for AI assistants, using SSE transport.Last updated
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for AI dialogue using various LLM models via AceDataCloud
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
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/MuhammadIshaqSkd/mcp-fastapi-tutorial'
If you have feedback or need assistance with the MCP directory API, please join our Discord server