{"_id":"@mistertk/vercel-mcp","_rev":"2-3c37b6e46e01328d3a29dc7f6119fb3a","name":"@mistertk/vercel-mcp","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@mistertk/vercel-mcp","version":"0.1.0","author":{"name":"MisterTK"},"license":"MIT","_id":"@mistertk/vercel-mcp@0.1.0","maintainers":[{"name":"mistertk","email":"tomkrauscto@gmail.com"}],"homepage":"https://github.com/MisterTK/vercel-api-mcp#readme","bugs":{"url":"https://github.com/MisterTK/vercel-api-mcp/issues"},"bin":{"vercel-mcp":"build/index.js"},"dist":{"shasum":"ec71a7aed2c85aaaed90ec7e2dcc1059716a5f6a","tarball":"https://registry.npmjs.org/@mistertk/vercel-mcp/-/vercel-mcp-0.1.0.tgz","fileCount":28,"integrity":"sha512-hGqO0ogY0AZoefVhrI3kbb16gBECIAsFmfRCfKvJlomm32BknNCdGeCf4NsU8Q4xcUTym0XJqNi9+o5Qxc0U/A==","signatures":[{"sig":"MEQCICa2zQlM8zBmyqCu2pHujZKG9b6BdvA+M+L0b1xsVhcwAiASrrvu6FpGsYQrshFrS3BD8oGta0eQno+4NWXVBK6vlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305414},"type":"module","module":"index.ts","engines":{"node":">=18"},"gitHead":"b55c9e7e1cf269f4b17094b99412af2952ae3d6d","scripts":{"bump":"npm version patch --no-git-tag-version","push":"npm run build && npm publish","build":"tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"","check":"npx @biomejs/biome check --write .","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"mistertk","actor":{"name":"mistertk","type":"user","email":"tomkrauscto@gmail.com"},"email":"tomkrauscto@gmail.com"},"repository":{"url":"git+https://github.com/MisterTK/vercel-api-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"Model Context Protocol server for Vercel API - provides 114+ tools, 4 resources, and 5 prompts for comprehensive Vercel platform management including deployments, domains, DNS, projects, teams, security, monitoring, and more","directories":{},"_nodeVersion":"23.11.0","dependencies":{"zod":"^3.25.57","@vercel/sdk":"^1.7.7","workers-mcp":"^0.0.13","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.15","typescript":"^5.8.3","@types/node":"^24.0.0","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/vercel-mcp_0.1.0_1750981612933_0.6433093168310533","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@mistertk/vercel-mcp","version":"0.1.1","description":"Model Context Protocol server for Vercel API - provides 114+ tools, 4 resources, and 5 prompts for comprehensive Vercel platform management including deployments, domains, DNS, projects, teams, security, monitoring, and more","icon":"logos/vercel-mcp-logo.svg","module":"index.ts","bin":{"vercel-mcp":"build/index.js"},"type":"module","scripts":{"build":"tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"","check":"npx @biomejs/biome check --write .","start":"node build/index.js","bump":"npm version patch --no-git-tag-version","prepublishOnly":"npm run build","push":"npm run build && npm publish"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","@vercel/sdk":"^1.7.7","workers-mcp":"^0.0.13","zod":"^3.25.57"},"devDependencies":{"@biomejs/biome":"^1.9.4","@types/bun":"^1.2.15","@types/node":"^24.0.0","typescript":"^5.8.3"},"author":{"name":"MisterTK"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/MisterTK/vercel-api-mcp.git"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"_id":"@mistertk/vercel-mcp@0.1.1","gitHead":"66ca568698f8124d629208a9472f84790d4cc4a1","bugs":{"url":"https://github.com/MisterTK/vercel-api-mcp/issues"},"homepage":"https://github.com/MisterTK/vercel-api-mcp#readme","_nodeVersion":"23.11.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-4jwEnaW9arTJyhYXD0/F4Fv40y3ML15dxpYccxKus4WdxdE284otxmWUwL1nxjvd+735eQ1ktPc3UgKh7ksWNQ==","shasum":"ffd6c78e3fe6ced750ad57b37e728a7ee439c4e4","tarball":"https://registry.npmjs.org/@mistertk/vercel-mcp/-/vercel-mcp-0.1.1.tgz","fileCount":29,"unpackedSize":305556,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAgS/IQkUz9VY4PRQ8ImiLuwfawAmtP+pVwlzIr/wSPBAiBH5FzKdEfhvLDCq/a54kIAE7wYJGiTmAYBP9RIlJKjcg=="}]},"_npmUser":{"name":"mistertk","email":"tomkrauscto@gmail.com","actor":{"name":"mistertk","email":"tomkrauscto@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"mistertk","email":"tomkrauscto@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vercel-mcp_0.1.1_1751004364706_0.8656978218877682"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-26T23:46:52.770Z","modified":"2025-06-27T06:06:05.126Z","0.1.0":"2025-06-26T23:46:53.124Z","0.1.1":"2025-06-27T06:06:04.933Z"},"bugs":{"url":"https://github.com/MisterTK/vercel-api-mcp/issues"},"author":{"name":"MisterTK"},"license":"MIT","homepage":"https://github.com/MisterTK/vercel-api-mcp#readme","repository":{"type":"git","url":"git+https://github.com/MisterTK/vercel-api-mcp.git"},"description":"Model Context Protocol server for Vercel API - provides 114+ tools, 4 resources, and 5 prompts for comprehensive Vercel platform management including deployments, domains, DNS, projects, teams, security, monitoring, and more","maintainers":[{"name":"mistertk","email":"tomkrauscto@gmail.com"}],"readme":"<div align=\"center\">\n  <img src=\"logos/vercel-mcp-logo.svg\" alt=\"Vercel MCP Server Logo\" width=\"64\" height=\"64\">\n  <h1>The ultimate Vercel MCP Server</h1>\n</div>\n\nA Model Context Protocol (MCP) server that provides comprehensive access to the Vercel API. This server exposes 114+ tools, 4 resources, and 5 prompts for complete Vercel platform management through a secure and configurable interface.\n\n## Features\n\n### Core Capabilities\n- **🚀 Deployment Management**: Create, list, view, cancel, and delete deployments; access deployment files and events\n- **🌐 DNS Management**: Full CRUD operations for DNS records\n- **🔗 Domain Management**: Add, remove, verify, and configure domains\n- **📁 Project Management**: Create and manage projects, project domains, and environment variables\n- **👥 Team Management**: Manage team members, roles, and access controls\n- **🔐 Security**: Configure firewall rules, attack protection, and bypass IPs\n- **📊 Monitoring**: Set up webhooks, log drains, and access checks\n- **🎫 Access Control**: Manage access groups, project members, and permissions\n- **⚙️ Edge Configuration**: Manage edge configs and items\n- **🏪 Marketplace**: Handle integrations, billing, and marketplace events\n- **📦 Artifacts**: Manage build artifacts and caching\n- **🔑 Authentication**: Manage auth tokens and SSO configuration\n- **🎯 Aliases**: Configure deployment and project aliases\n- **🌍 Custom Environments**: Create and manage custom deployment environments\n- **📜 SSL Certificates**: Upload and manage SSL certificates\n\n### MCP Features\n- **📖 Resources**: Quick read-only access to deployments, projects, domains, and teams\n- **💬 Prompts**: Interactive guided workflows for common tasks\n- **📄 Pagination**: Automatic pagination support for all list operations\n- **🔒 Secure Configuration**: Environment variable support with API key validation\n- **⚡ Production Ready**: Built with TypeScript, comprehensive error handling\n- **🛠️ Modular Architecture**: Clean separation of concerns with dedicated modules\n\n## Configuration\n\nThe server requires a Vercel API key for authentication. You can provide it in two ways:\n\n1. **Command Line Argument (Recommended)**:\n   ```bash\n   npx @mistertk/vercel-mcp VERCEL_API_KEY=<your-vercel-api-key>\n   ```\n\n2. **Environment Variable**:\n   ```bash\n   export VERCEL_API_KEY=<your-vercel-api-key>\n   ```\n\n### Optional Environment Variables\n\n- `VERCEL_REQUEST_TIMEOUT` - Request timeout in milliseconds (default: 30000)\n- `VERCEL_MAX_RETRIES` - Maximum retry attempts for failed requests (default: 3)\n- `VERCEL_DEBUG` - Enable debug logging (default: false)\n- `VERCEL_RATE_LIMIT_PER_MINUTE` - API calls per minute (default: 60)\n- `VERCEL_RATE_LIMIT_BURST` - Burst limit for rate limiting (default: 10)\n\n## Installation\n\n```bash\nnpm install -g @mistertk/vercel-mcp\n```\n\nOr use directly with `npx`:\n```bash\nnpx @mistertk/vercel-mcp\n```\n\n## Usage\n\n```json\n{\n \"mcpServers\": {\n     \"vercel\": {\n       \"command\": \"npx\",\n       \"args\": [\"@mistertk/vercel-mcp\", \"VERCEL_API_KEY=<your-api-key>\"]\n       }\n     }\n}\n```\n\n### Local Development\n\nFor development or testing the latest version:\n\n```json\n{\n  \"mcpServers\": {\n     \"vercel\": {\n       \"command\": \"node\",\n       \"args\": [\"/path/to/vercel-api-mcp/build/index.js\"],\n       \"env\": {\n         \"VERCEL_API_KEY\": \"<YOUR_API_KEY>\"\n         }\n       }\n     }\n}\n```\n\n## Resources\n\nThe server provides read-only resources for quick access to key data:\n\n- **`vercel://deployments`** - List of recent deployments with status and metadata\n- **`vercel://projects`** - All Vercel projects with their configuration\n- **`vercel://domains`** - All configured domains in your account\n- **`vercel://teams`** - All teams you have access to\n\n## Prompts\n\nInteractive prompts guide you through common workflows:\n\n- **`deploy-project`** - Deploy a project to Vercel\n  - Arguments: `projectPath` (required), `projectName` (optional)\n- **`manage-domains`** - Manage domains and DNS\n  - Arguments: `domain` (required), `action` (optional)\n- **`optimize-deployment`** - Optimize deployment configuration\n  - Arguments: `projectId` (required)\n- **`setup-monitoring`** - Set up monitoring and logging\n  - Arguments: `projectId` (required), `features` (optional)\n- **`team-management`** - Manage team and access control\n  - Arguments: `teamId` (optional), `action` (optional)\n\n## Tools\n\nThis MCP server provides 114+ tools organized by category:\n\n### Deployments (8 tools)\n- `getDeploymentEvents` - Get deployment events\n- `getDeployment` - Get deployment details\n- `cancelDeployment` - Cancel a deployment\n- `listDeploymentFiles` - List deployment files\n- `getDeploymentFileContents` - Get file contents\n- `getDeployments` - List deployments (paginated)\n- `deleteDeployment` - Delete a deployment\n- `createDeployment` - Create a new deployment\n\n### DNS (4 tools)\n- `listDnsRecords` - List DNS records (paginated)\n- `createDnsRecord` - Create a DNS record\n- `updateDnsRecord` - Update a DNS record\n- `deleteDnsRecord` - Delete a DNS record\n\n### Domains (6 tools)\n- `getDomain` - Get domain information\n- `getDomainConfig` - Get domain configuration\n- `listDomains` - List all domains (paginated)\n- `addDomain` - Add a new domain\n- `removeDomain` - Remove a domain\n- `verifyDomain` - Verify domain ownership\n\n### Projects (14 tools)\n- `listProjects` - List projects (paginated)\n- `createProject` - Create a new project\n- `updateProject` - Update project settings\n- `deleteProject` - Delete a project\n- `listProjectDomains` - List project domains (paginated)\n- `getProjectDomain` - Get project domain details\n- `addProjectDomain` - Add domain to project\n- `updateProjectDomain` - Update project domain\n- `removeProjectDomain` - Remove domain from project\n- `verifyProjectDomain` - Verify project domain\n- `listEnvVars` - List environment variables (paginated)\n- `getEnvVar` - Get environment variable value\n- `createEnvVar` - Create environment variables\n- `editEnvVar` - Edit environment variable\n- `removeEnvVar` - Remove environment variable\n\n### Teams (11 tools)\n- `getTeams` - List all teams (paginated)\n- `getTeam` - Get team information\n- `createTeam` - Create a new team\n- `updateTeam` - Update team settings\n- `deleteTeam` - Delete a team\n- `getTeamMembers` - List team members (paginated)\n- `inviteUserToTeam` - Invite user to team\n- `requestAccessToTeam` - Request team access\n- `getTeamAccessRequest` - Get access request status\n- `joinTeam` - Join team with invite code\n- `removeTeamMember` - Remove team member\n\n### Security (8 tools)\n- `updateAttackChallengeMode` - Configure attack protection\n- `putFirewallConfig` - Create/replace firewall config\n- `updateFirewallConfig` - Update firewall config\n- `getFirewallConfig` - Get firewall configuration\n- `getActiveAttackStatus` - Get attack status\n- `getBypassIp` - List bypass IPs (paginated)\n- `addBypassIp` - Add bypass IP\n- `removeBypassIp` - Remove bypass IP\n\n### Access Groups (9 tools)\n- `listAccessGroups` - List access groups (paginated)\n- `createAccessGroup` - Create access group\n- `getAccessGroup` - Get access group details\n- `updateAccessGroup` - Update access group\n- `deleteAccessGroup` - Delete access group\n- `listAccessGroupMembers` - List group members (paginated)\n- `addAccessGroupMember` - Add member to group\n- `removeAccessGroupMember` - Remove member from group\n- `listAccessGroupProjects` - List group projects (paginated)\n\n### Webhooks (3 tools)\n- `getWebhooks` - List webhooks (paginated)\n- `createWebhook` - Create a webhook\n- `deleteWebhook` - Delete a webhook\n\n### Log Drains (6 tools)\n- `getIntegrationLogDrains` - List integration log drains (paginated)\n- `getAllLogDrains` - List all log drains (paginated)\n- `createLogDrain` - Create a log drain\n- `getLogDrain` - Get log drain details\n- `deleteLogDrain` - Delete a log drain\n- `createConfigurableLogDrain` - Create configurable log drain\n\n### Edge Config (10 tools)\n- `getEdgeConfigs` - List edge configs (paginated)\n- `createEdgeConfig` - Create edge config\n- `getEdgeConfig` - Get edge config details\n- `updateEdgeConfig` - Update edge config\n- `deleteEdgeConfig` - Delete edge config\n- `getEdgeConfigItems` - List edge config items (paginated)\n- `getEdgeConfigItem` - Get edge config item\n- `createEdgeConfigItem` - Create edge config item\n- `updateEdgeConfigItem` - Update edge config item\n- `deleteEdgeConfigItem` - Delete edge config item\n\n### Authentication (4 tools)\n- `listAuthTokens` - List auth tokens (paginated)\n- `createAuthToken` - Create auth token\n- `getAuthToken` - Get auth token details\n- `deleteAuthToken` - Delete auth token\n\n### Certificates (4 tools)\n- `uploadCert` - Upload SSL certificate\n- `getCert` - Get certificate details\n- `removeCert` - Remove certificate\n- `getIssuedCert` - Get issued certificate\n\n### Checks (4 tools)\n- `getAllChecks` - List all checks (paginated)\n- `createCheck` - Create a check\n- `getCheck` - Get check details\n- `updateCheck` - Update a check\n- `rerequestCheck` - Rerequest a check\n\n### User (3 tools)\n- `getUser` - Get user information\n- `listUserEvents` - List user events (paginated)\n- `deleteUser` - Delete user account\n\n### Aliases (5 tools)\n- `listAliases` - List aliases (paginated)\n- `getAlias` - Get alias details\n- `deleteAlias` - Delete an alias\n- `listDeploymentAliases` - List deployment aliases (paginated)\n- `assignAlias` - Assign alias to deployment\n\n### Artifacts (6 tools)\n- `recordArtifactEvents` - Record artifact cache events\n- `getArtifactStatus` - Get artifact cache status\n- `uploadArtifact` - Upload artifact\n- `downloadArtifact` - Download artifact\n- `artifactExists` - Check if artifact exists\n- `artifactQuery` - Query artifact information\n\n### Environment (5 tools)\n- `createCustomEnvironment` - Create custom environment\n- `getCustomEnvironments` - List custom environments (paginated)\n- `getCustomEnvironment` - Get custom environment\n- `updateCustomEnvironment` - Update custom environment\n- `deleteCustomEnvironment` - Delete custom environment\n\n### Integrations (5 tools)\n- `getConfigurations` - List integration configs (paginated)\n- `getConfiguration` - Get integration config\n- `deleteConfiguration` - Delete integration config\n- `gitNamespaces` - List git namespaces\n- `searchRepo` - Search git repositories\n\n### Project Members (3 tools)\n- `getProjectMembers` - List project members (paginated)\n- `addProjectMember` - Add project member\n- `removeProjectMember` - Remove project member\n\n### Marketplace (11 tools)\n- `getAccountInfo` - Get marketplace account info\n- `getMember` - Get marketplace member info\n- `createEvent` - Create marketplace event\n- `submitBillingData` - Submit billing data\n- `submitInvoice` - Submit invoice\n- `getInvoice` - Get invoice details\n- `updateInvoice` - Update invoice (refund)\n- `updateResourceSecrets` - Update resource secrets\n- `updateResourceSecretsById` - Update secrets by ID\n- `exchangeSsoToken` - Exchange SSO token\n\n## Example Usage\n\n### Using Resources\n```typescript\n// Resources are automatically available in MCP clients\n// Access them via: vercel://deployments, vercel://projects, etc.\n```\n\n### Using Prompts\n```typescript\n// Example: Deploy a project\n// Prompt: deploy-project\n// Arguments: { projectPath: \"/path/to/project\", projectName: \"my-app\" }\n\n// Example: Manage domains\n// Prompt: manage-domains\n// Arguments: { domain: \"example.com\", action: \"add\" }\n```\n\n### Using Tools with Pagination\n```typescript\n// List deployments with pagination\nconst result = await getDeployments({ limit: 20 });\n// Response includes pagination metadata:\n// {\n//   data: { deployments: [...] },\n//   pagination: {\n//     next: \"dpl_xyz123\",\n//     hasMore: true,\n//     count: 20,\n//     total: 150\n//   }\n// }\n\n// Get next page\nconst nextPage = await getDeployments({ \n  limit: 20, \n  from: result.pagination.next \n});\n```\n\n### Common Workflows\n\n#### Deploy a Project\n1. Use the `deploy-project` prompt for guided deployment\n2. Or manually: `createProject` → `createDeployment` → monitor with `getDeployment`\n\n#### Configure Custom Domain\n1. Add domain: `addDomain`\n2. Verify ownership: `verifyDomain`\n3. Add to project: `addProjectDomain`\n4. Configure DNS: `createDnsRecord`\n\n#### Set Up Team Access\n1. Create team: `createTeam`\n2. Invite members: `inviteUserToTeam`\n3. Configure access groups: `createAccessGroup`\n4. Assign projects: `addAccessGroupProject`\n\n## Architecture\n\n```\nvercel-mcp/\n├── src/\n│   ├── index.ts          # MCP server setup and tool registration\n│   ├── config.ts         # Configuration management\n│   ├── utils.ts          # Shared utilities and pagination\n│   └── vercel/           # Vercel SDK integrations\n│       ├── deployments.ts\n│       ├── dns.ts\n│       ├── domains.ts\n│       ├── projects.ts\n│       ├── teams.ts\n│       ├── security.ts\n│       └── ... (20+ modules)\n├── build/                # Compiled JavaScript\n└── package.json\n```\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Run locally\nnpm start\n\n# Format code\nnpm run check\n```\n\n## Security Considerations\n\n- API keys are validated on startup\n- Sensitive values are masked in logs\n- Environment variables are preferred over command line arguments\n- All API operations are scoped to the authenticated user/team\n\n## Contributing\n\nContributions are welcome! Please ensure:\n- Code follows the existing modular pattern\n- All functions include JSDoc comments\n- Error handling is comprehensive\n- New features include appropriate MCP tools\n\n## License\n\nMIT\n","readmeFilename":"README.md"}