Zindua

Instant communication platform for businesses, optimized for developers.

Product
  • WhatsApp
  • Campaigns
  • Bot builder
  • MailGuard
  • Verify
  • Pricing
Developers
  • Documentation
  • Node.js
  • Next.js
  • PHP
  • FastAPI
  • MCP / Cursor
Solutions
  • Public sector
  • Health & care
  • Banking & fintech
  • NGOs & associations
  • SaaS & product teams
  • All solutions
Company
  • About
  • Blog
  • Contact
  • Status
  • Terms
  • Privacy

Product

  • WhatsApp
  • Campaigns
  • Bot builder
  • MailGuard
  • Verify
  • Pricing

Developers

  • Documentation
  • Node.js
  • Next.js
  • PHP
  • FastAPI
  • MCP / Cursor

Solutions

  • Public sector
  • Health & care
  • Banking & fintech
  • NGOs & associations
  • SaaS & product teams
  • All solutions

Company

  • About
  • Blog
  • Contact
  • Status
  • Terms
  • Privacy

© 2026 Zindua, Inc. All rights reserved.

System status
Zindua
How it WorksPricingCompare
Sign in
Get started

Zindua for Cursor
& Claude

Local MCP server for Cursor and Claude Desktop. Closed-loop OTP: diagnose your live project, scaffold a certified snippet, then send a test only after you confirm a recipient. Same config for Node, Python, ASP.NET, PHP, or WordPress.

New to MCP? You do not need to understand the protocol. You add one JSON file, put your Zindua API key in the environment, reload the editor, then type one sentence in chat. The assistant calls Zindua tools for you.

@zindua/mcp v1.2.0API docs →

Your project key

Doctor checks the key and whether email or WhatsApp is ready.

One JSON file

Cursor: .cursor/mcp.json · Claude: claude_desktop_config.json

Real templates

Workflow recommends exact slugs before any code is written.

Closed loop

Diagnose → scaffold → validate → send (you confirm) → watch log.

Start here

Five steps for first-time users

Same idea for Cursor and Claude — only the config file path changes.

Five steps. Same idea for Cursor and Claude — only the config path changes.

Step 0101

Get a Zindua test key

Dashboard → create a project → copy a znd_test_ key. Connect Gmail/SMTP (email) and/or WhatsApp if you need that channel. Create one OTP template (slug + {{code}}).

Install

Do not confuse npm install with editor setup

The npm page shows npm i @zindua/mcp by default. That command is optional and usually unnecessary. For Cursor or Claude you add an mcp.json-style config with npx. The editor downloads and runs the MCP server. You are not adding @zindua/mcp to your app dependencies.

Do

Create the editor config below, put your API key in env, reload.

Skip

npm i @zindua/mcp inside your Python, .NET, PHP, or Node app. That does not connect the editor by itself.

npm i

Only if you want a pinned local binary for advanced setups. Day-to-day: use npx in the config.

Your editor

Cursor or Claude?

Same MCP server. Pick a tab. Slash commands (/zindua-ship) exist in Cursor with the plugin; Claude uses plain chat.

Four steps — then paste the config below.

0101

Open Cursor Settings → Tools & MCP

macOS: Cmd+Shift+J · Windows/Linux: Ctrl+Shift+J. Or create the JSON file manually.

.cursor/mcp.json

{
  "mcpServers": {
    "zindua": {
      "command": "npx",
      "args": ["-y", "@zindua/mcp@latest"],
      "env": {
        "ZINDUA_API_KEY": "YOUR_ZINDUA_API_KEY"
      }
    }
  }
}

Safer for git (env)

{
  "mcpServers": {
    "zindua": {
      "command": "npx",
      "args": ["-y", "@zindua/mcp@latest"],
      "env": {
        "ZINDUA_API_KEY": "${env:ZINDUA_API_KEY}"
      }
    }
  }
}

This project (recommended)

.cursor/mcp.json

At the root of your app repo (FastAPI, ASP.NET, Laravel, Next.js, …). Teammates who open the folder in Cursor get the same tools.

All Cursor projects

~/.cursor/mcp.json

In your user home folder. Available in every workspace on your machine.

API key in config

Replace YOUR_ZINDUA_API_KEY, or use ${env:ZINDUA_API_KEY} and export the key in your shell so you can commit mcp.json without secrets.

After connect

What do I type next?

Copy these into chat. The assistant should call the tools.

Copy into chat. The assistant calls the tools — you do not run npm scripts for this.

Chat

Diagnose

"Run zindua_workflow_otp for my project (stack nextjs, channel email)."

Checks key, email/WhatsApp readiness, and suggests real OTP templates. If stopCodegen is true, connect the channel in the dashboard first.

Any language

Python, ASP.NET, PHP, Node… same MCP

The editor talks to Zindua. Your app SDK is a separate step after templates are known.

The editor talks to Zindua. Your app SDK is a separate step after templates are known.

ModelContextProtocol
MCP

Any stack in Cursor / Claude

Same npx @zindua/mcp config

Then in the backend: After workflow/scaffold, install the SDK for your language

Project layout

project layout
my-otp-app/                 ← any stack (Python, .NET, PHP, Node…)├── .cursor/│   └── mcp.json            ← ONLY file required for Cursor MCP├── .env                    ← ZINDUA_API_KEY for YOUR app SDK (server-side)├── .gitignore└── … your app code …

Channels

Test email and WhatsApp

Connect the channel in the dashboard first. Then use MCP tools from chat.

Connect the channel in the Zindua dashboard first. Then use MCP tools from chat.

Dashboardemail

Email OTP

A normal email address, e.g. you@example.com

Email service connected in the dashboard (Gmail / SMTP). Prompt: “Run zindua_workflow_otp with channel email. If ready, scaffold for my stack, then after I confirm send a test to me@example.com.”

Tools

MCP tools reference

Start with zindua_workflow_otp. Everything else supports that closed loop.

Start with zindua_workflow_otp. Everything else supports that closed loop.

Toolv1.1

zindua_workflow_otp

Start here. Doctor + templates + nextSteps. Sets stopCodegen if channels are not ready.

Want the story version?

Read the beginner blog walkthrough, or open API docs for send payloads.

Read the MCP articleAPI documentation