Back to Browse

Chatport MCP Server

Developer ToolsModerate5.1MCP RegistryLocal
Free

Server data from the Official MCP Registry

WhatsApp messaging via a GoWA REST service: send text, contacts, links, and locations.

About

WhatsApp messaging via a GoWA REST service: send text, contacts, links, and locations.

Security Report

5.1
Moderate5.1Moderate Risk

chatport is a small, well-scoped client that sends WhatsApp messages only to the user-configured GoWA base URL, with input validation and no hardcoded secrets or exfiltration paths. The main concerns are that it sends no credentials to GoWA, so its security depends entirely on how the user protects that service, and that outbound messages can be triggered by MCP tool calls with no confirmation or rate limiting. Both are worth knowing about, but neither is a code-level vulnerability. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

WHATSAPP_API_URLRequired

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-chatport": {
      "env": {
        "WHATSAPP_API_URL": "your-whatsapp-api-url-here"
      },
      "args": [
        "-y",
        "@reneturcios/chatport"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

chatport

chatport sends WhatsApp messages through a GoWA (go-whatsapp-web-multidevice) service that you host yourself: plain text messages, contact cards, links with an optional caption, and location pins. One binary serves a command-line interface and a stdio MCP server, and both faces talk to the same GoWA REST API.

chatport is a client, not a WhatsApp account. It needs a running GoWA service paired with the WhatsApp account you want to send from. Point it at that service with the WHATSAPP_API_URL environment variable, for example http://localhost:3000. There is no default: when the variable is missing, every send fails with a clear error before any request is made, so a misconfigured client never silently talks to the wrong host.

Install

npx @reneturcios/chatport send-text 15551234567 "hello"

Or run the container image:

docker run -i -e WHATSAPP_API_URL=http://host.docker.internal:3000 ghcr.io/cloudcorprecords/chatport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

export WHATSAPP_API_URL=http://localhost:3000

chatport send-text 15551234567 "hello there"
chatport send-contact 15551234567 "Ada Lovelace" 15559876543
chatport send-link 15551234567 https://example.test/page "worth a look"
chatport send-location 15551234567 37.7749 -122.4194

chatport --version

Successful sends print the GoWA service's JSON response. Exit codes: 0 on success, 1 when a send fails (including an upstream API error or a missing WHATSAPP_API_URL), 2 for usage errors.

Phone numbers are passed through exactly as given; use the format your GoWA service expects (typically international format, digits only). Latitude must be between -90 and 90 and longitude between -180 and 180; anything outside is rejected before a request is sent.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/chatport mcp

MCP client configuration:

{
  "mcpServers": {
    "chatport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/chatport", "mcp"],
      "env": { "WHATSAPP_API_URL": "http://localhost:3000" }
    }
  }
}

Tools

ToolInputWhat it sends
whatsapp_send_textphone, message (both required)A plain text message.
whatsapp_send_contactphone, contact_name, contact_phone (all required)A contact card for the named contact.
whatsapp_send_linkphone, link (required), caption (optional)A link, with a caption when one is supplied.
whatsapp_send_locationphone, latitude, longitude (all required)A location pin at the given coordinates.

Each tool posts to the matching GoWA send endpoint under WHATSAPP_API_URL (/send/message, /send/contact, /send/link, /send/location) with the tool's arguments as the JSON body.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!