mcp-saas-toolkit

hackerxj2010/mcp-saas-toolkit
1 starsCommunity

Install to Claude Code

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

Summary

A production-ready MCP server with 24 tools for Stripe, Twilio, Resend, GitHub, and Slack, plus pre-built workflow prompts and live resources.

README.md

<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 Slack
  • invoice_reminder: Check Stripe subscription → Create invoice → Email/SMS customer
  • incident_report: Create GitHub issue → Alert Slack → Email stakeholders
  • new_release: Fetch recent commits → Create GitHub issue → Announce on Slack

📊 MCP Resources (Live Feeds):

  • saas://stripe/balance: Read current Stripe account balance
  • saas://stripe/recent-charges: Fetch recent charges instantly
  • saas://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

Related MCP servers

Browse all →