Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Open-source MCP servers that connect AI agents to tools like Asana and Vercel via natural language.

README.md

<div align="center">

mcp-wormhole

Open-source MCP servers that connect AI agents to the tools you already use.

![Website](https://ayush7614.github.io/mcp-wormhole/) ![npm @mcp-wormhole/asana](https://www.npmjs.com/package/@mcp-wormhole/asana) ![npm downloads @mcp-wormhole/asana](https://www.npmjs.com/package/@mcp-wormhole/asana) ![npm @mcp-wormhole/vercel](https://www.npmjs.com/package/@mcp-wormhole/vercel) ![npm downloads @mcp-wormhole/vercel](https://www.npmjs.com/package/@mcp-wormhole/vercel) ![License: MIT](LICENSE) ![MCP](https://modelcontextprotocol.io)

Documentation · Blog · Contributing · GitHub

!mcp-wormhole server catalog — orange CLI demo

</div>

---

What is this?

mcp-wormhole is a monorepo of Model Context Protocol (MCP) servers — one package per integration. Each server wraps a third-party vendor API so AI clients (Cursor, Claude Desktop, VS Code Copilot, Windsurf, and 16 others) can read and act on your tools through natural language.

No new backends. No proprietary proxies. Just stdio MCP servers published to npm.

You  →  AI Client (Cursor, Claude, …)  →  MCP Server (npx)  →  Vendor API (Asana, Slack, …)

Owner: @Ayush7614

---

Table of contents

---

Quick start

Use a published server (no clone required)

Add this to your MCP client config (Cursor: ~/.cursor/mcp.json, Claude Desktop: claude_desktop_config.json, VS Code: .vscode/mcp.json):

{
  "mcpServers": {
    "asana": {
      "command": "npx",
      "args": ["-y", "@mcp-wormhole/asana"],
      "env": {
        "ASANA_ACCESS_TOKEN": "your_token_here"
      }
    },
    "vercel": {
      "command": "npx",
      "args": ["-y", "@mcp-wormhole/vercel"],
      "env": {
        "VERCEL_TOKEN": "your_token_here"
      }
    },
    "google-calendar": {
      "command": "npx",
      "args": ["-y", "@mcp-wormhole/google-calendar"],
      "env": {
        "GOOGLE_CALENDAR_CREDENTIALS": "{\"client_id\":\"...\",\"client_secret\":\"...\",\"refresh_token\":\"...\"}"
      }
    },
    "linear": {
      "command": "npx",
      "args": ["-y", "@mcp-wormhole/linear"],
      "env": {
        "LINEAR_API_KEY": "lin_api_..."
      }
    },
    "cloudflare": {
      "command": "npx",
      "args": ["-y", "@mcp-wormhole/cloudflare"],
      "env": {
        "CLOUDFLARE_API_TOKEN": "your_token_here"
      }
    }
  }
}

For team-scoped Vercel projects, add "VERCEL_TEAM_ID": "team_…" to the vercel env block. Optional: "LINEAR_TEAM_ID" for a default Linear team; "CLOUDFLARE_ACCOUNT_ID" / "CLOUDFLARE_ZONE_ID" for Cloudflare defaults.

Restart your client, then ask: "List my open Asana tasks", "List my Vercel projects", "What's on my calendar today?", "What Linear issues are assigned to me?", or "List my Cloudflare zones".

Published on npm: @mcp-wormhole/asana (0.2.0 · 66 tools) · @mcp-wormhole/vercel (0.2.0 · 18 tools) · @mcp-wormhole/google-calendar (0.1.0 · 12 tools) · @mcp-wormhole/linear (0.1.0 · 14 tools) · @mcp-wormhole/cloudflare (0.1.0 · 14 tools)

Get tokens: Asana developer console · Vercel account tokens · Google Calendar API auth · Linear API keys · Cloudflare API tokens

Server guides: Asana MCP · Vercel MCP · Google Calendar MCP · Linear MCP · Cloudflare MCP · All integrations

Clone for development

git clone https://github.com/Ayush7614/mcp-wormhole.git
cd mcp-wormhole
pnpm install
pnpm build

---

Available servers

Browse all: Asana · Vercel · Slack · Sentry · Google Calendar · Airtable · Stripe · Cloudflare · GitHub Actions · PagerDuty · Linear

| Server | npm package | Status | Auth | Tools | |--------|-------------|--------|------|-------| | Asana | @mcp-wormhole/asana | Available | PAT | 66 tools · 18 prompts · resources | | Vercel | @mcp-wormhole/vercel | Available | API token | 18 tools · 8 prompts · resources | | Google Calendar | @mcp-wormhole/google-calendar | Available | OAuth2 | 12 tools · 6 prompts · resources | | Linear | @mcp-wormhole/linear | Available | API key | 14 tools · 6 prompts · resources | | Cloudflare | @mcp-wormhole/cloudflare | Available | API token | 14 tools · 6 prompts · resources | | Slack | @mcp-wormhole/slack | Planned | Bot token | — | | Sentry | @mcp-wormhole/sentry | Planned | Auth token | — | | Airtable | @mcp-wormhole/airtable | Planned | PAT | — | | Stripe | @mcp-wormhole/stripe | Planned | Secret key | — | | GitHub Actions | @mcp-wormhole/github-actions | Planned | PAT | — | | PagerDuty | @mcp-wormhole/pagerduty | Planned | API key | — |

Each server calls the vendor's existing API — we don't host new backends.

---

Connect your client

Step-by-step guides with copy-paste configs for 20 AI clients:

| Client | Asana | Vercel | Google Calendar | |--------|-------|--------|-----------------| | Cursor | Cursor + Asana | Cursor + Vercel | Cursor + Calendar | | VS Code | VS Code + Asana | VS Code + Vercel | VS Code + Calendar | | Claude Desktop | Claude + Asana | Claude + Vercel | Claude + Calendar | | Claude Code | Claude Code + Asana | Claude Code + Vercel | Claude Code + Calendar | | …and 16 more | All integrations | same page | same page |

Full server walkthroughs:

---

Repository structure

mcp-wormhole/
├── packages/
│   ├── asana/              # @mcp-wormhole/asana — live on npm
│   ├── vercel/             # @mcp-wormhole/vercel
│   ├── google-calendar/    # @mcp-wormhole/google-calendar
│   ├── linear/             # @mcp-wormhole/linear
│   ├── cloudflare/         # @mcp-wormhole/cloudflare
│   ├── _template/          # Copy this to start a new server
│   ├── slack/              # planned
│   └── …
├── site/                   # Docs site (Vite + React, GitHub Pages)
│   ├── src/data/           # Servers, integrations, guides, blog
│   └── public/demo/        # Verification GIFs
├── package.json            # pnpm workspace root
├── pnpm-workspace.yaml
├── CONTRIBUTING.md
└── README.md

Each package is a standalone MCP server with its own package.json, tools, verify script, and README.

---

Development

# Install all workspace dependencies
pnpm install

# Build everything
pnpm build

# Build one package
pnpm --filter @mcp-wormhole/asana build
pnpm --filter @mcp-wormhole/vercel build
pnpm --filter @mcp-wormhole/google-calendar build

# Verify Asana server against real API
cd packages/asana
cp .env.example .env   # add ASANA_ACCESS_TOKEN
pnpm verify

# Verify Vercel server against real API
cd ../vercel
cp .env.example .env   # add VERCEL_TOKEN
pnpm verify

# Verify Google Calendar server against real API
cd ../google-calendar
cp .env.example .env   # add GOOGLE_CALENDAR_CREDENTIALS
pnpm verify

# Verify Linear server against real API
cd ../linear
cp .env.example .env   # add LINEAR_API_KEY
pnpm verify

# Verify Cloudflare server against real API
cd ../cloudflare
cp .env.example .env   # add CLOUDFLARE_API_TOKEN
pnpm verify

# Run docs site locally
cd site && npm run dev
# → http://localhost:5173

---

Adding a new server

  1. Copy packages/_templatepackages/<name>
  2. Implement tools against the vendor's official API (Zod validation, MCP SDK)
  3. Document env vars in README + .env.example
  4. Add entry in site/src/data/servers.ts for the docs catalog
  5. Open a PR — one server per PR

See CONTRIBUTING.md for the full checklist, tool naming conventions, and publishing workflow.

---

Publishing to npm

Packages publish under the @mcp-wormhole npm org.

| Package | Latest | npm | |---------|--------|-----| | Asana | 0.2.0 | @mcp-wormhole/asana | | Vercel | 0.2.0 | @mcp-wormhole/vercel | | Google Calendar | 0.1.0 | @mcp-wormhole/google-calendar | | Linear | 0.1.0 | @mcp-wormhole/linear | | Cloudflare | 0.1.0 | @mcp-wormhole/cloudflare |

pnpm --filter @mcp-wormhole/asana build
cd packages/asana
npm publish --access public --otp=YOUR_CODE

Or use GitHub Actions → Publish npm packages → Run workflow (requires NPM_TOKEN secret).

Details: CONTRIBUTING.md § Publishing

---

Guidelines

For contributors

| Rule | Detail | |------|--------| | One server per PR | Keep reviews focused | | Vendor API only | No scraping, no unofficial endpoints | | Read tools first | list_, get_, search_ before create_, update_, delete_ | | Zod everywhere | Validate all tool inputs | | No secrets | Never commit tokens; use .env.example | | Verify script | Hit the real API — no mocks in pnpm verify | | Update docs | Add server to site/src/data/servers.ts + root README table |

For users

| Rule | Detail | |------|--------| | Keep tokens local | MCP config env vars stay on your machine | | Restart after config | MCP clients load servers at startup | | Use npx | No repo clone needed for published packages | | Report issues | GitHub Issues |

Stack

  • Runtime: Node.js 18+
  • Language: TypeScript
  • MCP SDK: @modelcontextprotocol/sdk
  • Validation: Zod
  • Build: tsup
  • Transport: stdio (local process via npx)

---

Blog

Tutorials and release notes on the docs site:

---

License

MIT — see LICENSE.

---

<div align="center">

Built by @Ayush7614

</div>

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Cloud & DevOps servers.