Skip to main content
Glama

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.


Related MCP server: devflow-mcp

✨ 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

Available Tools

24 tools
github_create_issueB

Create a new issue in a GitHub repository. Supports labels, assignees, and milestone.

Inputs: repo (required), owner (required), title (required), body, +3 more.

github_create_pull_requestB

Create a pull request in a GitHub repository. Specify source and target branches, title, and body.

Inputs: base (required), head (required), repo (required), owner (required), +3 more.

github_get_repo_infoA

Get detailed information about a GitHub repository including stats, languages, recent commits, and contributor count.

Inputs: repo (required), owner (required).

github_list_issuesC

List and filter issues in a GitHub repository. Supports state, label, assignee, and keyword search.

Inputs: repo (required), owner (required), sort, state, +3 more.

github_list_reposA

List GitHub repositories for the authenticated user or a specific user/org. Returns repo name, description, stars, language, and visibility.

Inputs: sort, type, owner, per_page.

resend_get_emailA

Retrieve details and delivery status of a previously sent email. Returns metadata including delivery timestamps and any error information.

Inputs: email_id (required).

resend_send_batchA

Send a batch of up to 100 emails in a single API call.

Inputs: emails (required).

resend_send_emailB

Send a transactional email via Resend. Supports plain text and HTML content, multiple recipients, CC, BCC, reply-to, and custom headers.

Inputs: to (required), from (required), subject (required), cc, +6 more.

slack_add_reactionA

Add an emoji reaction to a Slack message. Useful for acknowledgements, approvals, or status updates.

Inputs: name (required), channel (required), timestamp (required).

slack_list_channelsA

List Slack channels the bot has access to. Returns channel name, ID, topic, member count, and purpose.

Inputs: limit, types, exclude_archived.

slack_send_messageA

Send a message to a Slack channel or DM. Supports plain text, Markdown (mrkdwn), and thread replies.

Inputs: text (required), channel (required), thread_ts, unfurl_links.

slack_set_topicB

Set or update the topic of a Slack channel.

Inputs: topic (required), channel (required).

stripe_check_subscriptionA

Check the subscription status for a Stripe customer. Returns active subscriptions with plan details, billing period, and current status.

Inputs: customer_id (required), status.

stripe_create_customerA

Create a new Stripe customer with name, email, phone, and optional metadata. Returns the created customer object.

Inputs: email (required), name, phone, metadata, +1 more.

stripe_create_invoiceC

Create and optionally finalize/send an invoice for a Stripe customer. Add line items with descriptions and amounts.

Inputs: items (required), customer_id (required), memo, auto_send, +1 more.

stripe_get_balanceA

Get the current Stripe account balance. Shows available and pending funds across all currencies.

Inputs: no named parameters.

stripe_issue_refundA

Issue a full or partial refund for a Stripe charge or payment intent. Returns refund details and status.

Inputs: amount, charge, reason, payment_intent.

stripe_list_customersB

List Stripe customers with optional filters. Returns customer ID, name, email, and metadata.

Inputs: email, limit, starting_after.

stripe_list_productsA

List Stripe products with their prices. Useful for browsing your catalog or finding Price IDs for payment links.

Inputs: limit, active.

twilio_check_message_statusB

Check the delivery status of a previously sent Twilio SMS message. Returns current status, error info (if any), and pricing.

Inputs: message_sid (required).

twilio_list_messagesB

List recent SMS messages with optional filters. View sent and received message history with status and pricing.

Inputs: to, from, limit, date_sent_after, +1 more.

twilio_make_callB

Initiate an outbound voice call via Twilio. The call is connected and plays the specified TwiML or reads text aloud via text-to-speech.

Inputs: to (required), say, from, twiml, +1 more.

twilio_send_smsA

Send an SMS message via Twilio. Returns the message SID, status, and price estimate.

Inputs: to (required), body (required), from.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 24 tools

    Disambiguation5/5

    Each tool is clearly scoped to a specific service and action, with no overlap across services or within service groups. For example, github_create_issue and github_list_issues are distinct, and tools from different services (e.g., Slack vs. Twilio) address unrelated domains.

    Naming Consistency5/5

    All tools follow a consistent service_verb_noun pattern using snake_case (e.g., stripe_get_balance, slack_send_message). The service prefix provides immediate context, and verbs (create, get, list, send) are uniformly applied.

    Tool Count4/5

    With 24 tools across five SaaS services, the count is slightly high but appropriate for a 'toolkit' that aims to cover common operations for each integration. Each service has a focused subset (3-8 tools), avoiding excessive bloat while providing meaningful functionality.

    Completeness3/5

    Each service covers core operations but lacks update/delete endpoints (e.g., GitHub has no update_issue, Stripe no update_customer). While the basics for reading and creating are present, notable gaps in lifecycle management will force agents to rely on other means for modifications.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A comprehensive MCP server providing over 390 tools across 66 providers, including major SaaS platforms like GitHub, Slack, and Stripe. It enables AI assistants to interact directly with a wide array of public APIs and utility services through a single interface.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A production-ready MCP server that provides AI assistants with comprehensive GitHub developer tooling including PR analysis, code review, changelog generation, dependency auditing, commit summarization, and refactoring suggestions.
      7 npm
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      A production-ready MCP server with tools for weather, calculator, and mock database queries, plus resources and prompt templates, featuring a glassmorphism admin dashboard and WebSocket support.
      MIT