MCP FastAPI Tutorial Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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
- AlicenseNot gradedqualityNot gradedmaintenanceAn 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.2MIT
- 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.-