GitHub-Vercel MCP Server logo

GitHub-Vercel MCP Server

by mixuechu

Automates GitHub repository creation and Vercel template deployment as an MCP service. It simplifies the process of setting up new projects by automating the creation of repositories and deploying templates to Vercel.

View on GitHub

Last updated: N/A

GitHub-Vercel MCP Server

Automated GitHub repository creation and Vercel template deployment as an MCP service.

Features

  • 🚀 Auto-detection of GitHub namespace from token
  • 🤖 Team-aware Vercel operations
  • âš¡ Zero-config for most use cases
  • 🔒 Secure credential handling

Local Installation

npm install -g @yourpackage/mcp-server-github

MCP Configuration

Add to your mcp.config.json:

{
  "mcpServers": {
        "vercel-github": {
          "command": "npx",
          "args": [
            "mcp-vercel-github-integration",
            "-v",
            "<Your Vercel API Key>",
            "-g",
            "<Your Git API Key>"
          ]
    }
  }
}

Required Permissions

GitHub Token

repo:       # Full repository control
user:       # Read user profile
read:org    # If using organizations

Vercel Token

  • projects:read and projects:write
  • teams:read (if using teams)

Usage

Basic Deployment

mcp execute github --REPO_NAME "my-app" --TEMPLATE_SOURCE "https://github.com/vercel/vercel/tree/main/examples/nextjs"

All Parameters

| Parameter | Default | Description | |-----------|---------|-------------| | VERCEL_API_KEY | - | (Required) Vercel API key | | GITHUB_TOKEN | - | (Required) GitHub personal access token | | REPO_NAME | "new-repo" | Repository name | | TEMPLATE_SOURCE | Vercel Next.js | Template Git URL | | IS_PRIVATE | true | Make repository private |

API Response

Successful execution returns:

{
  "status": "success",
  "data": {
    "githubRepo": "https://github.com/yourname/repo",
    "vercelProject": "https://repo.vercel.app",
    "projectId": "prj_abc123"
  }
}

Error Handling

Common error responses include:

{
  "status": "error",
  "error": {
    "code": "GITHUB_AUTH_FAILED",
    "message": "Invalid GitHub token"
  }
}

Development

  1. Clone the repository
  2. Install dependencies:
    npm install
    
  3. Set up environment:
    cp .env.example .env
    
  4. Run tests:
    npm test
    

Deployment

Package and publish to npm:

npm publish --access public

License

MIT