Skip to main content
Glama

mcp-wormhole

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

Website npm @mcp-wormhole/asana npm downloads @mcp-wormhole/asana npm @mcp-wormhole/vercel npm downloads @mcp-wormhole/vercel License: MIT MCP

Documentation · Blog · Contributing · GitHub

mcp-wormhole server catalog — orange CLI demo


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


Related MCP server: Enterprise AI Bridge (MCP)

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:

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.


Built by @Ayush7614

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/Ayush7614/mcp-wormhole'

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