@auctaflux/reseller-mcp
v0.1.0
Published
MCP stdio server for the AuctaFlux Reseller API — manage WhatsApp instances, send messages, and manage templates via AI assistants.
Maintainers
Readme
@auctaflux/reseller-mcp
MCP stdio server for the AuctaFlux Reseller API.
Connects Claude Desktop, Cursor, Cline, and any other MCP-compatible AI assistant to your AuctaFlux reseller account — manage WhatsApp instances, send messages, and handle templates via natural language.
Tools available
| Tool | Endpoint | Description |
|------|----------|-------------|
| list_instances | GET /workspaces | List all WhatsApp instances |
| get_instance | GET /workspaces/{id} | Get workspace details |
| create_instance | POST /workspaces | Create a new WhatsApp instance |
| update_instance | PATCH /workspaces/{id} | Update name or webhook URL |
| archive_instance | DELETE /workspaces/{id} | Archive (soft-delete) an instance |
| get_connection_status | GET /workspaces/{id}/connection | Check WhatsApp connection status |
| create_connect_link | POST /workspaces/{id}/connect-link | Generate client onboarding URL |
| register_connection | POST /workspaces/{id}/connection/register | Submit 2FA PIN |
| disconnect_connection | DELETE /workspaces/{id}/connection | Disconnect without archiving |
| rotate_forward_secret | POST /workspaces/{id}/rotate-secret | Rotate webhook HMAC secret |
| send_text_message | POST /workspaces/{id}/messages | Send a plain text message |
| send_template_message | POST /workspaces/{id}/messages/template | Send approved template |
| send_media_message | POST /workspaces/{id}/messages/media | Send image/audio/video/document |
| send_interactive_message | POST /workspaces/{id}/messages/interactive | Send buttons/list/CTA/carousel |
| mark_message_as_read | POST /workspaces/{id}/messages/{wamid}/read | Mark message as read |
| delete_message | DELETE /workspaces/{id}/messages/{wamid} | Delete a sent message |
| list_templates | GET /workspaces/{id}/templates | List WABA templates |
| create_template | POST /workspaces/{id}/templates | Submit template for Meta review |
| delete_template | DELETE /workspaces/{id}/templates?name=... | Delete all variants of a template |
| get_business_profile | GET /workspaces/{id}/profile | Get WhatsApp Business Profile |
| update_business_profile | PATCH /workspaces/{id}/profile | Update profile (about, email, etc.) |
| get_usage | GET /usage | Active instances + month-to-date messages |
Prerequisites
- Node.js >= 18
- An AuctaFlux reseller API key (
aflx_rsl_...) — generate one in the Reseller Console under API Keys
Quick start (Claude Desktop)
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"auctaflux-reseller": {
"command": "npx",
"args": ["-y", "@auctaflux/reseller-mcp"],
"env": {
"AUCTAFLUX_RESELLER_API_KEY": "aflx_rsl_your_key_here"
}
}
}
}Restart Claude Desktop. You should see the AuctaFlux tools listed in the tool panel.
Point to a custom API URL
"env": {
"AUCTAFLUX_RESELLER_API_KEY": "aflx_rsl_...",
"AUCTAFLUX_BASE_URL": "https://api-flux.aucta.tech"
}Set AUCTAFLUX_BASE_URL to your self-hosted instance if you are running AuctaFlux locally or
on a staging environment.
Smoke test with MCP Inspector
# Build first (from this directory)
npm install && npm run build
# Run the inspector — it opens a browser UI to call tools interactively
AUCTAFLUX_RESELLER_API_KEY=aflx_rsl_... npx @modelcontextprotocol/inspector node dist/index.jsIn the Inspector UI:
- Click Connect
- Click List Tools — you should see all 22 tools
- Select
list_instances→ click Call Tool → verify your instances appear - Select
get_usage→ call it → verify active_workspaces and month_to_date_messages
Development
cd tools/reseller-mcp
npm install
npm run build # compile TypeScript
npm run dev # watch mode (recompiles on save)
npm run typecheck # type-check onlyOut of scope (V1)
The following are intentionally excluded and may be added in a future version:
- Media upload (
POST /workspaces/{id}/media) — multipart/form-data upload via MCP is cumbersome. Use the Reseller Console or a direct HTTP call to upload media, then pass themedia_idtosend_media_message. - API Key CRUD (
/keys) — key management stays in the Reseller Console. - MCP remote / HTTP transport — V1 is stdio only (runs on the client's machine). A hosted HTTP MCP server may be offered in the future.
Error handling
The server maps AuctaFlux API errors ({"error": {"code": ..., "message": ...}}) to
MCP isError: true responses with human-readable messages. Notable codes:
| Code | Meaning |
|------|---------|
| RATE_LIMIT_EXCEEDED | 1 000 req/min limit reached — wait 60 s |
| WORKSPACE_NOT_FOUND | Invalid workspace_id |
| CONNECTION_NOT_FOUND | Workspace has no WhatsApp connection |
| PIN_REQUIRED | 2FA PIN needed — use register_connection |
| PIN_MISMATCH | Wrong 2FA PIN |
| WORKSPACE_ARCHIVED | Workspace is archived |
| META_API_ERROR | Meta rejected the request |
