mcp-wormhole
Open-source MCP servers that connect AI agents to tools like Asana and Vercel via natural language.
README
<div align="center">
mcp-wormhole
Open-source MCP servers that connect AI agents to the tools you already use.
Documentation · Blog · Contributing · GitHub

</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
- Available servers
- Connect your client
- Repository structure
- Development
- Adding a new server
- Publishing to npm
- Guidelines
- License
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"
}
}
}
}
For team-scoped Vercel projects, add "VERCEL_TEAM_ID": "team_…" to the vercel env block.
Restart your client, then ask: "List my open Asana tasks" or "List my Vercel projects".
Published on npm: @mcp-wormhole/asana (0.2.0 · 66 tools · 18 prompts) · @mcp-wormhole/vercel (0.2.0 · 18 tools · 8 prompts)
Get tokens: Asana developer console · Vercel account tokens
Server guides: Asana MCP · Vercel 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 |
| Slack | @mcp-wormhole/slack |
Planned | Bot token | — |
| Sentry | @mcp-wormhole/sentry |
Planned | Auth token | — |
| Google Calendar | @mcp-wormhole/google-calendar |
Planned | OAuth | — |
| Airtable | @mcp-wormhole/airtable |
Planned | PAT | — |
| Stripe | @mcp-wormhole/stripe |
Planned | Secret key | — |
| Cloudflare | @mcp-wormhole/cloudflare |
Planned | API token | — |
| GitHub Actions | @mcp-wormhole/github-actions |
Planned | PAT | — |
| PagerDuty | @mcp-wormhole/pagerduty |
Planned | API key | — |
| Linear | @mcp-wormhole/linear |
Planned | API key | — |
Each server calls the vendor's existing REST 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 |
|---|---|---|
| Cursor | Cursor + Asana | Cursor + Vercel |
| VS Code | VS Code + Asana | VS Code + Vercel |
| Claude Desktop | Claude + Asana | Claude + Vercel |
| Claude Code | Claude Code + Asana | Claude Code + Vercel |
| …and 16 more | All integrations | same page — pick Vercel server |
Full server walkthroughs:
Repository structure
mcp-wormhole/
├── packages/
│ ├── asana/ # @mcp-wormhole/asana — live on npm
│ ├── vercel/ # @mcp-wormhole/vercel
│ ├── _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
# 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
# Run docs site locally
cd site && npm run dev
# → http://localhost:5173
Adding a new server
- Copy
packages/_template→packages/<name> - Implement tools against the vendor's official API (Zod validation, MCP SDK)
- Document env vars in README +
.env.example - Add entry in
site/src/data/servers.tsfor the docs catalog - 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 |
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:
- Introducing mcp-wormhole
- Connect Asana to Cursor in 5 minutes
- Connect Vercel to Cursor in 5 minutes
- Building your first MCP server
- Inside @mcp-wormhole/asana
- Inside @mcp-wormhole/vercel
License
MIT — see LICENSE.
<div align="center">
Built by @Ayush7614
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.