Skip to main content
Glama

Vercel MCP Python Server

by amitpuri
MIT License
  • Apple
  • Linux

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 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:

  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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A serverless MCP server deployed on Vercel that provides basic utility tools including echo, time retrieval, arithmetic operations, and mock weather information. Includes an interactive client application for testing and demonstration purposes.

  1. Project Structure
    1. Features
      1. Prerequisites
        1. Installing Vercel CLI
      2. Setup
        1. Local Development
          1. Troubleshooting Windows Issues
        2. API Endpoints
          1. Dependencies
            1. Configuration
              1. Usage
                1. Using the Included Client App
              2. Additional Resources
                1. License

                  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