<h1 align="center"> 🧰 mcp-saas-toolkit (Power Edition) </h1>
<p align="center"> <strong>Give Claude superpowers over your SaaS stack.</strong><br /> A production-ready MCP server with 24 tools for Stripe, Twilio, Resend, GitHub, and Slack — plus pre-built workflow prompts and live resources. </p>
<p align="center"> <a href="https://www.npmjs.com/package/mcp-saas-toolkit"><img src="https://img.shields.io/npm/v/mcp-saas-toolkit?style=flat-square&color=CB3837" alt="npm version" /></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License: MIT" /></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-8A2BE2?style=flat-square" alt="MCP Compatible" /></a> </p>
<p align="center"> <em>Supported by Claude for Open Source</em> </p>
---
What is this?
mcp-saas-toolkit is a Model Context Protocol (MCP) server that equips Claude with tools to call popular SaaS APIs on your behalf. Instead of copy-pasting API keys into chat, you configure the server once and then ask Claude things like:
"Onboard a new customer named Alice with email alice@example.com (customer, email, slack announcement)." "Create a payment link for price_1ABC, email it to them, and let me know on Slack when sent." "Open a GitHub issue for the memory leak and assign it to John."
Claude uses the right tools, calls the right APIs, handles failures via built-in retry backoffs, and gives you the result — all within the conversation.
---
✨ Supported Integrations & Features
24 Tools across 5 Services:
- Stripe (8): List/create customers, create invoices/payment links, check subscriptions, issue refunds, get balance, list products.
- Twilio (4): Send SMS, check message delivery, list message history, initiate voice calls (TTS/TwiML).
- Resend (3): Send structured emails, fetch delivery status, batch send up to 100 emails.
- GitHub (5): List repos, get rich repo stats, list issues, create issues, open pull requests.
- Slack (4): Send messages (with thread support), list channels, set topics, add emoji reactions.
🔋 MCP Prompts (Workflow Templates):
onboard_customer: Create Stripe customer → Send welcome email → Notify Slackinvoice_reminder: Check Stripe subscription → Create invoice → Email/SMS customerincident_report: Create GitHub issue → Alert Slack → Email stakeholdersnew_release: Fetch recent commits → Create GitHub issue → Announce on Slack
📊 MCP Resources (Live Feeds):
saas://stripe/balance: Read current Stripe account balancesaas://stripe/recent-charges: Fetch recent charges instantlysaas://github/{owner}/{repo}/overview: Dynamic rich repository telemetry
---
🚀 Quick Start
1. Install & Configure
npm install -g mcp-saas-toolkit
# Or use directly via npx mcp-saas-toolkit
Copy the example .env file and fill in your keys:
# Logging level (debug, info, warn, error)
LOG_LEVEL=info
# Services (Only set keys for the ones you want to use)
GITHUB_TOKEN=ghp_...
SLACK_BOT_TOKEN=xoxb-...
STRIPE_SECRET_KEY=sk_test_...
TWILIO_ACCOUNT_SID=AC...
TWILIO_AUTH_TOKEN=...
TWILIO_PHONE_NUMBER=+1234567890
RESEND_API_KEY=re_...
2. Add to Claude Desktop
Open your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"saas-toolkit": {
"command": "npx",
"args": ["-y", "mcp-saas-toolkit"],
"env": {
"GITHUB_TOKEN": "ghp_...",
"STRIPE_SECRET_KEY": "sk_test_...",
"SLACK_BOT_TOKEN": "xoxb-..."
}
}
}
}
Restart Claude Desktop. You should see all tools, resources, and templates appear!
💬 Example Prompts
Once the server is connected, try these multi-tool workflows:
"Look up the Stripe customer with email john@acme.com, check their subscription, and if it's past due, send them an SMS reminder at +15551234567." "We have a prod incident. Open a bug report on the frontend repo, email the on-call at ops@co.com, and drop a red alert in the Slack #engineering channel." "Read my Stripe balance resource, and summarize how we did this week to the #general channel."
---
🏗️ Architecture & Development
Built with robustness in mind:
- Resiliency: All external API interactions are wrapped in an exponential backoff retry handler to safely absorb rate limits and 5xx errors.
- Lazy Initialization: SDK clients are booted only when first invoked. Missing API keys will not crash the server but will cleanly surface actionably errors.
- Strict Formatting: Input schemas strictly define all expectations. Output always maps to an
{ success: true, data }envelope.
Local verification
npm install
npm run build
npx @modelcontextprotocol/inspector node dist/index.js





