Skip to main content
Glama

Vercel MCP Python Server

by amitpuri

AI Generated

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:

  1. Install Node.js (if not already installed):

  2. Install Vercel CLI globally:

    npm install -g vercel
  3. 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

  1. 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
  2. Install dependencies:

    pip install -r requirements.txt
  3. Login to Vercel:

    vercel login
  4. 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

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:

  1. Opening the URL in your browser

  2. Using a tool like Postman or curl

  3. Connecting with an MCP client

Solution 4: Run as Administrator (if needed)

  1. Close your terminal

  2. Right-click on Git Bash/PowerShell and select "Run as administrator"

  3. Navigate back to your project: cd /d/repos/vercel-mcp-python

  4. Try vercel dev again

API Endpoints

  • GET /: Returns server information and status

  • POST /: Handles MCP protocol requests

  • OPTIONS /: Handles CORS preflight requests

Dependencies

  • fastmcp>=0.15.0: FastMCP framework for building MCP servers

  • uvicorn>=0.24.0: ASGI server for Python web applications

  • python-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

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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/amitpuri/vercel-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server