amitpuri/vercel-mcp-python
If you are the rightful owner of vercel-mcp-python and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This document provides a comprehensive overview of a Model Context Protocol (MCP) server designed to run on Vercel's serverless platform using Python and FastMCP.
Vercel MCP Python Server
A Model Context Protocol (MCP) server built with Python and FastMCP, designed to run on Vercel's serverless platform.
Project Structure
vercel-mcp-python/
โโโ api/
โ โโโ index.py # Main Vercel function
โโโ src/
โ โโโ mcp_server.py # Your MCP server logic
โโโ client-app/ # Interactive MCP client
โ โโโ mcp_client.py # Rich client application
โ โโโ requirements.txt # Client dependencies
โ โโโ setup.py # Setup script
โ โโโ README.md # Client documentation
โ โโโ run_client.bat # Windows launcher
โโโ requirements.txt # Server dependencies
โโโ vercel.json # Vercel configuration
โโโ README.md
Features
This MCP server provides the following tools:
- echo: Echo back a provided message
- get_time: Get the current server time
- add_numbers: Add two numbers together
- get_weather_info: Get mock weather information for a location
And the following resources:
- config://server: Server configuration information
Prerequisites
Before setting up the project, you'll need to install the Vercel CLI:
Installing Vercel CLI
For Git Bash on Windows:
-
Install Node.js (if not already installed):
- Download from nodejs.org
-
Install Vercel CLI globally:
npm install -g vercel
-
Verify installation:
vercel --version
If you encounter PATH issues:
# Find npm global directory
npm config get prefix
# Add to PATH (add this to your ~/.bashrc)
export PATH=$PATH:$(npm bin -g)
source ~/.bashrc
Alternative methods:
# Using npx (no global installation)
npx vercel
# Using yarn
yarn global add vercel
Setup
-
Create and activate virtual environment (Recommended):
# Create virtual environment python -m venv venv # Activate virtual environment # On Windows PowerShell: .\venv\Scripts\Activate.ps1 # On Windows Git Bash: source venv/Scripts/activate # On macOS/Linux: source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Login to Vercel:
vercel login
-
Deploy to Vercel:
vercel --prod
Local Development
To test locally, you can use Vercel's development server:
vercel dev
Troubleshooting Windows Issues
Note: Local development with vercel dev
may have issues on Windows due to runtime initialization errors. This is a known limitation and doesn't affect production deployment.
If you encounter issues with vercel dev
:
Solution 1: Deploy directly (Recommended)
vercel --prod
Your server will be available at the provided Vercel URL and works perfectly in production.
Solution 2: Test locally with Python (in virtual environment)
# Activate virtual environment first
.\venv\Scripts\Activate.ps1 # Windows PowerShell
# or
source venv/Scripts/activate # Windows Git Bash
# Test MCP server functionality
python -c "
import sys, os
sys.path.append('src')
from mcp_server import mcp
import json
# Test echo tool
request = {
'jsonrpc': '2.0',
'id': 1,
'method': 'tools/call',
'params': {'name': 'echo', 'arguments': {'message': 'Hello from venv!'}}
}
response = mcp.handle_request(request)
print(json.dumps(response, indent=2))
"
Solution 3: Use the deployed version Your server will be available at your Vercel domain after deployment.
You can test it by:
- Opening the URL in your browser
- Using a tool like Postman or curl
- Connecting with an MCP client
Solution 4: Run as Administrator (if needed)
- Close your terminal
- Right-click on Git Bash/PowerShell and select "Run as administrator"
- Navigate back to your project:
cd /d/repos/vercel-mcp-python
- Try
vercel dev
again
API Endpoints
GET /
: Returns server information and statusPOST /
: Handles MCP protocol requestsOPTIONS /
: Handles CORS preflight requests
Dependencies
fastmcp>=0.15.0
: FastMCP framework for building MCP serversuvicorn>=0.24.0
: ASGI server for Python web applicationspython-json-logger>=2.0.0
: JSON logging for Python applications
Configuration
The server is configured through vercel.json
with:
- Python runtime using
@vercel/python
- 30-second maximum execution time
- CORS enabled for cross-origin requests
- Automatic routing to the main handler
Usage
Once deployed, your MCP server will be available at your Vercel domain. You can connect to it using any MCP-compatible client.
Using the Included Client App
A rich, interactive client application is included in the client-app/
directory:
# Navigate to client directory
cd client-app
# Setup (first time only)
python setup.py
# Configure environment (optional)
cp .env.example .env
# Edit .env to customize server URL and settings
# Run the client
python mcp_client.py
The client provides:
- ๐ Connection testing
- ๐ง Interactive tool calling
- ๐ Resource management
- ๐งช Automated testing of all tools
- ๐จ Beautiful console interface
See client-app/README.md
for detailed usage instructions.
Additional Resources
- Vercel MCP Documentation - Official Vercel documentation for Model Context Protocol
- MCP Servers Repository - Explore available MCP servers
- AI SDK Documentation - Use the AI SDK to initialize MCP clients
License
MIT