io.github.conquext/neuron
io.github.conquext/neuronAI-powered WhatsApp chatbot platform with 196 tools for bots, campaigns, and contacts.
Tools · 351
Register a new user account with name, email, password, and organization name. Creates both the user and an initial organization.
Authenticate with Neuron. Three modes: 1. No args: Opens a browser URL for secure authorization (recommended — no credentials shared with AI) 2. token: Paste an MCP token from the Neuron dashboard 3. …
Refresh the access token using a refresh token. Automatically sets the new access token for subsequent API calls.
Switch to a different organization. Returns a new access token scoped to the target organization and automatically sets it.
Retrieve all organizations the authenticated user belongs to, including their roles in each.
Retrieve the authenticated user's profile information including name, email, role, and current organization.
Check which Neuron account is currently logged in, including user name, email, role, and organization.
Switch the MCP server to target a different Neuron backend instance. Auth tokens are preserved per instance — if you've previously logged in to an instance, switching back restores your session automa…
Clear the current auth token locally. Does NOT revoke server-side MCP tokens — revoke from the Neuron dashboard (Settings > MCP Tokens) for full invalidation.
Create a new AI bot with specified name, model, and behavior instructions. Returns the created bot object.
Retrieve all bots accessible to the current user, including their configurations and status.
Retrieve detailed information about a specific bot including its configuration, status, and associated resources.
Update an existing bot's configuration. Only provided fields are modified; omitted fields remain unchanged.
Permanently delete a bot and all its associated data. This action cannot be undone.
Pause a bot to temporarily stop it from processing new messages. The bot retains its configuration and can be resumed later.
Resume a previously paused bot so it begins processing new messages again.
Retrieve analytics and usage statistics for a specific bot, including message counts, response times, and conversation metrics.
Attach a knowledge base to a bot to enhance its responses with domain-specific knowledge. Optional priority determines retrieval order when multiple knowledge bases are attached.
Retrieve all knowledge bases attached to a specific bot, including their priorities and metadata.
Remove a knowledge base from a bot. The bot will no longer reference this knowledge base when generating responses.
Create a new API key for programmatic access to a specific bot. Store the key securely as it cannot be retrieved later.
Retrieve all API keys associated with a specific bot, including their names, creation dates, expiration status, and revocation status.
Permanently revoke an API key to immediately invalidate it and prevent further programmatic access. This action cannot be undone.
Send a message to a bot via the API and receive a streaming or complete AI-generated response. Requires a valid API key with 'nrn_' prefix.
Send an outbound message through the bot API to a specified phone number. Supports text and media messages. Requires a valid API key.
Retrieve a paginated list of conversations managed by the bot. Supports filtering by conversation status. Requires a valid API key.
Retrieve message history for a specific conversation with cursor-based pagination. Requires a valid API key.
Retrieve configuration and status information about the bot associated with the provided API key.
Retrieve a paginated list of conversations for a specific bot, with optional filtering by status.
Retrieve detailed information about a specific conversation, including its status, participants, and metadata.
Retrieve messages from a specific conversation in chronological order, with optional cursor-based pagination.
Transfer control of a conversation from the bot to a human agent. The bot will stop auto-responding until the conversation is released.
Release a conversation back to the bot, returning control from a human agent. The bot will resume auto-responding.
Send a message to an existing conversation. Supports text, image, and document message types with optional media attachments.
Compose and send a new message to a phone number via a specific channel. Automatically creates a new conversation if one does not exist.
Send a WhatsApp message to a phone number or group. Auto-resolves which channel to use (org default > first connected). Supports text, image, audio, video, and document types.
Edit the content of a previously sent message in a conversation. Only the message sender can edit their messages.
Permanently delete a specific message from a conversation. This action cannot be undone.
Close an active conversation, marking it as completed. The bot will stop responding and the conversation is archived.
Create a new knowledge base to store and organize information, documents, and entries.
Retrieve all knowledge bases accessible to the current user.
Retrieve detailed information about a specific knowledge base by its ID.
Update the properties of an existing knowledge base such as name, description, or root instruction.
Permanently delete a knowledge base and all its associated entries and documents.
Add a new entry (note, document, or information piece) to a knowledge base.
Retrieve entries from a knowledge base with optional filtering and pagination.
Update the content, title, folder, or source of an existing knowledge base entry.
Permanently delete a specific entry from a knowledge base.
Upload a text document to a knowledge base. The document will be automatically chunked and indexed for semantic search.
Perform semantic search across all entries and documents in a knowledge base to find relevant information.
Retrieve all bots that are connected to or using a specific knowledge base.
Ingest content into a knowledge base. Supports deduplication via externalId and optional LLM processing (summarize, extract_facts, or custom instruction).
Trigger a synchronization operation to refresh embeddings, reindex content, or update the knowledge base state.
Create a custom API tool that the bot can invoke during conversations to fetch external data or trigger actions.
Retrieve all custom API tool integrations configured for a specific bot, including their endpoints and configuration.
Modify an existing custom API tool's configuration, including its endpoint, authentication, or request template.
Permanently remove a custom API tool integration from a bot. The bot will no longer be able to invoke this tool in conversations.
Execute a dry-run test of a custom API tool with sample arguments to verify the endpoint responds correctly.
Store or update a secret credential (API key, token, etc.) for a custom tool integration. Secrets are encrypted at rest.
Permanently delete a stored secret from a custom tool integration. The tool will lose access to this credential.
List all scheduled tasks for a bot. A task is a natural-language instruction the bot carries out autonomously on a schedule (e.g. 're-engage stale contacts every morning at 8am').
Create a scheduled autonomous task for a bot. The instruction is a self-contained, natural-language directive the bot executes with its tools (find stale conversations, message contacts, schedule foll…
Update a scheduled task's instruction, schedule, timezone, enabled state, or config. Only provided fields change.
Delete a scheduled task. This is a soft delete — the task stops running immediately.
Pause or resume a scheduled task (flips its enabled state and reschedules the next run).
Trigger a task to run immediately (in addition to its normal schedule). Returns once the run is queued.
Retrieve the paginated execution history for a task — each run's status, AI summary, tool steps, and stats (messages sent, contacts processed).
Turn a plain-English description into a structured task spec (title, instruction, scheduleKind, schedule, timezone, config) WITHOUT creating it. Use the returned draft as input to neuron_create_task a…
List configured lead sources for the org.
Create a lead source. `config` depends on type: text_paste {text}; web_scrape {url|urls[]}; document {mediaUrl,mimeType}; tool_output {toolId,args?}; instagram/x {channelId, query?|hashtag?, limit?}; …
Run a lead source now to pull new leads into the pool (queues the extraction).
Run a one-off extraction WITHOUT creating a persistent source, saving the results to the lead pool. Great for pasted text or a web page. `type` + `config` as in neuron_create_lead_source (e.g. type='t…
List leads from the pool, filterable by status (new/enriched/contacted/converted/rejected), sourceId, and search.
Counts of leads by status.
Promote a phone-bearing lead into a contact (so it can be messaged / added to lists). Optionally add the new contact to a list.
List voice personas for the org. Each persona holds a voiceProfile (tone/style/themes/dos/donts) + exemplars distilled from a Collection of mined content.
Get one voice persona (full voiceProfile + exemplars).
Distill a reusable voice from a Collection of mined content: analyzes the top-engagement items and reverse-engineers a voiceProfile (tone, diction, cadence, emoji/formatting habits, themes, dos/donts)…
Distill a reusable voice from raw text — no Collection or browser extension needed. Feed it pasted posts, a chat/dialogue transcript, WhatsApp-export text, or your own well-crafted writing sample, and…
Distill a reusable voice from an existing WhatsApp conversation's stored messages — no extension needed. `author` picks whose voice: 'me' (owner's own outgoing texts), 'contact' (the other party), 'bo…
Generate content written in the persona's voice for a topic/brief. Returns N variations. Stateless — nothing is persisted.
Give a bot this persona's voice: merges a delimited voice block into the bot's system prompt (idempotent — re-applying or swapping personas replaces it cleanly) and tags the bot's metadata with the pe…
Update a persona's name/description, or hand-tune its voiceProfile / exemplars.
Delete a voice persona.
Register a new inbound webhook endpoint that triggers bot actions when called by an external service.
Retrieve all inbound webhooks configured for a specific bot, including their status and configuration.
Modify an existing inbound webhook's configuration, such as its name, event type, or processing prompt.
Permanently remove an inbound webhook from a bot. External services will no longer be able to trigger this endpoint.
Retrieve execution logs for an inbound webhook to monitor incoming requests and debug processing issues.
Retrieve pending reflections that the bot has generated from conversations, awaiting human review. Optionally filter by approval status.
Approve a bot-generated reflection to incorporate the learned insight into the bot's future behavior and responses.
Reject a bot-generated reflection to prevent it from being incorporated into the bot's learned behavior.
Synchronize all approved reflections into the bot's active knowledge base, applying learned insights to future conversations.
Retrieve all WhatsApp channels configured in the current organization, including their type and connection status.
Create a new WhatsApp channel with either Meta Cloud API or Baileys (direct WhatsApp) integration. Meta Cloud channels require metaPhoneNumberId and metaAccessToken.
Retrieve detailed information about a specific WhatsApp channel, including its configuration, type, and connection status.
Update configuration of an existing WhatsApp channel. Only provided fields are modified; omitted fields remain unchanged.
Permanently delete a WhatsApp channel and disconnect any active sessions. This action cannot be undone.
Assign a bot to handle incoming messages on a specific WhatsApp channel. Replaces any previously assigned bot.
Remove the bot assignment from a WhatsApp channel. The channel will stop auto-responding to messages.
Start a Baileys (direct WhatsApp) session for the channel. Generates a QR code for device pairing. Only applicable to Baileys-type channels.
Stop the active Baileys session for the channel and disconnect from WhatsApp. The channel can be restarted later.
Retrieve the current connection status and session details for a specific channel (e.g., connected, disconnected, qr_pending).
Request a numeric pairing code for a Baileys channel as an alternative to QR code scanning. Requires the phone number to pair with.
Retrieve all WhatsApp groups that the channel is participating in, including group metadata.
Retrieve the list of participants in a specific WhatsApp group accessible through a channel.
Retrieve contacts from the WhatsApp account connected to this channel, with optional search filtering.
Retrieve the event log for a channel, including connection events, message events, and errors. Supports pagination.
Retrieve the current QR code for pairing a Baileys channel with WhatsApp. A session must be started first.
Retrieve all WhatsApp channels connected to a specific bot, including primary and secondary connections.
Connect an additional WhatsApp channel to a bot as a secondary number. The bot will respond to messages on this channel.
Disconnect a WhatsApp channel from a bot. The bot will no longer respond to messages on this channel.
Browse the shared marketplace pool of published bots, tools, knowledge bases, and reflections with optional filtering by type, category, tags, or search query.
Retrieve detailed information about a specific item in the marketplace pool, including its description, category, tags, and install count.
List all items the current organization has published to the marketplace pool.
List all items the current organization has installed from the marketplace pool.
Publish a bot, tool, knowledge base, or reflection to the shared marketplace pool for other organizations to discover and install.
Update a pool item you have published — metadata (name, description, category, tags) and content fields (setupInstructions, defaultSecrets for tool_template items). The underlying resource is re-snaps…
Permanently remove a published item from the marketplace pool. Organizations that installed this item will retain their copies.
Install a resource from the marketplace pool into the current organization. Choose 'fork' for an independent copy or 'subscribe' to receive future updates from the publisher.
Pull the latest updates for a subscribed pool resource to sync with the publisher's changes. Only applies to items installed with 'subscribe' mode.
Toggle the featured status of a pool item. Featured items appear prominently in the marketplace. Requires admin privileges.
Retrieve detailed information about a specific organization, including its name, settings, and configuration.
Update organization settings such as name, description, or configuration preferences. Only provided fields are changed.
Update WhatsApp Business API credentials for the organization. These credentials are required for sending messages via the WhatsApp Cloud API.
Set or clear the default WhatsApp channel for the organization. The default channel is used by neuron_send_whatsapp for auto-resolving which channel to send through.
Retrieve a list of all members in the organization, including their roles and permissions.
Send an invitation to a new member to join the organization. The invitee receives an email with a link to accept.
Retrieve a list of all pending invitations for the organization that have not yet been accepted or revoked.
Revoke a pending organization invitation so it can no longer be accepted. This action cannot be undone.
Update a member's permissions within the organization, such as conversation access. Only provided fields are changed.
Permanently remove a member from the organization. The member loses all access immediately. This action cannot be undone.
Retrieve audit logs for the organization, showing a chronological record of actions performed by members. Supports filtering by action type and resource.
Retrieve all available built-in tools with their enabled/disabled status for a specific bot. Built-in tools include WhatsApp actions (send messages, delete messages, post status), utility functions (w…
Toggle a built-in tool on or off for a specific bot. Enabled tools become available in the bot's conversations. Example tool IDs: delete_message, post_to_channel, post_status, web_search, send_direct_…
Enable or disable multiple built-in tools at once for a bot. More efficient than toggling tools individually.
Register a new outbound webhook that sends HTTP POST requests to an external URL when specified bot events occur. Supported events: message.created, message.assistant, conversation.created, conversati…
Retrieve all outbound webhooks configured for a specific bot, including their target URLs and subscribed event types.
Modify an existing outbound webhook's configuration, including its destination URL, subscribed event types, or filter prompt.
Permanently remove an outbound webhook. The external endpoint will no longer receive event notifications from this bot.
Retrieve delivery logs for an outbound webhook to monitor event dispatch history and debug delivery failures.
Retrieve all contacts for the current organization with optional filtering by search term, tag, and pagination.
Search contacts by a query string across name, phone number, and email fields. Returns matching contacts ranked by relevance.
Retrieve detailed information about a specific contact including their tags, notes, and associated lists.
Create a new contact in the organization's address book. If notes are provided, they are saved as a structured note entry with source tracking.
Update an existing contact's details. If notes are provided, they are appended as a new structured note entry without overwriting existing notes.
Permanently delete a contact and remove them from all contact lists. This action cannot be undone.
Export all contacts as a downloadable dataset for the current organization.
Bulk import multiple contacts into the organization's address book. Accepts an array of contact objects with name, phone, and optional fields.
Enrich existing contacts with additional data from connected messaging channels. Syncs profile information from linked platforms.
Synchronize contacts from all connected WhatsApp channels into the organization's contact database. Creates new contacts for unseen numbers.
Search contacts using natural language AI-powered semantic search. Finds contacts based on the meaning of their notes — skills, services, schedules, preferences, etc. Returns ranked results with relev…
Transcribe an audio recording and extract contact information (name, phone, email, notes, tags). Automatically saves the extracted contact to the organization's address book.
Retrieve all contact lists for the current organization with optional filtering by search term, type, and pagination.
Retrieve detailed information about a specific contact list, including member count and configuration.
Create a new contact list. Slug is auto-generated from name if not provided. For dynamic lists, provide criteria with rules and/or an AI prompt.
Update an existing contact list's name, slug, description, criteria, or refresh schedule.
Permanently delete a contact list. System-protected lists (e.g., 'Do Not Contact') cannot be deleted.
Retrieve the members of a specific contact list with optional search filtering and pagination.
Add one or more contacts to a list by contact ID or phone number. Phone numbers without existing contacts are auto-created as minimal contact records.
Remove one or more contacts from a list by their contact IDs. Does not delete the contacts themselves.
Merge two or more contact lists into a single unified list, deduplicating entries. Window merge creates a virtual union; materialized merge creates a static copy.
Retrieve all contact lists that a specific contact belongs to.
Trigger a refresh of a dynamic contact list. Re-evaluates criteria rules and/or AI prompt and materializes updated members.
Create a paced campaign that messages the next N un-reached members of a contact list on a schedule. The cursor follows the LIVE list — as members are added or removed, only current members get reache…
List all paced list campaigns for the organization, optionally filtered to a single contact list.
Get a paced list campaign with live progress: how many members have been reached this cycle, the current list size, and how many remain.
Update a paced list campaign's name, message source, batch size, schedule, exhaust behavior, or send settings. Changing the schedule reschedules the next run.
Pause a paced list campaign. No further batches run until resumed. The cursor is preserved.
Resume a paused paced list campaign. It picks up from where the cursor left off.
Fire the next batch of a paced list campaign immediately (on the next worker tick, ~30s), regardless of its schedule. The schedule continues normally afterward.
Permanently delete a paced list campaign and its reached-set. Does not delete the contacts or the list.
Retrieve a paginated list of all broadcasts with optional filtering by status such as draft, sent, or scheduled.
Create a new broadcast message in draft status. Provide recipients directly or use recipientSources to resolve from contact lists. The WhatsApp channel is auto-resolved if not specified.
Retrieve detailed information about a specific broadcast, including its status, message content, and recipient summary.
Retrieve the paginated list of recipients for a specific broadcast with their individual delivery status.
Update an existing broadcast's name, message content, or media before sending. The broadcast must still be in draft status.
Permanently delete a broadcast and its recipient data. This action cannot be undone.
Send a broadcast message to all its recipients. The broadcast must be in draft status. This triggers message delivery and cannot be undone.
Retrieve the current billing information, subscription plan, and usage details for the organization.
Initiate a checkout session for a subscription plan upgrade. Returns a checkout URL or confirmation to complete the purchase.
Cancel the current active subscription. Access continues until the end of the current billing period.
Upload a media file (image, video, audio, or document) by providing its base64-encoded content. Returns a URL for use in messages and broadcasts.
Rewrite or rephrase text using AI with specified tone, style, or instructions (e.g., make it more formal, translate, summarize).
Retrieve all campaigns for the current organization with optional status filtering and pagination.
Retrieve detailed information about a specific campaign including its status, budget, participants, and delivery metrics.
Browse available campaigns in the marketplace that your organization can join to earn rewards by sending messages.
Create a new outreach campaign with target audience, messaging template, and schedule configuration. Requires a Pro or Business plan.
Update a campaign that is in 'draft' or 'rejected' status. Active or completed campaigns cannot be modified.
Permanently delete a campaign that is in 'draft' status. Active or funded campaigns cannot be deleted.
Submit a draft campaign for admin review and approval. The campaign must be in 'draft' status.
Fund an approved campaign by deducting the total budget from the organization's wallet balance. Requires sufficient wallet funds.
Join a marketplace campaign as a participant to earn rewards by sending messages through your WhatsApp channel.
Retrieve contacts eligible to receive a campaign message. Respects deduplication rules and mutual contact requirements.
Send a campaign message to selected eligible contacts via WhatsApp. Requires the campaign to be in 'active' status and contacts to be eligible.
Retrieve all campaigns the current organization has joined as a participant, including earnings and delivery stats.
Retrieve all participants who have joined a campaign you own, including their delivery counts and earned rewards.
Pause an active campaign to temporarily stop message delivery. Can be resumed later with the resume action.
Resume a previously paused campaign to restart message delivery.
Permanently stop an active campaign and refund the remaining unspent budget to the organization's wallet. This action cannot be undone.
Retrieve the current wallet balance for the organization, including available and pending amounts.
Retrieve the wallet transaction history for the organization, with optional filtering by transaction type.
Initialize a wallet funding transaction via Paystack. Returns a checkout URL to complete the payment in a browser.
Verify a wallet funding transaction using the Paystack payment reference to confirm the payment was successful.
Verify a Nigerian bank account number via Paystack to confirm the account holder name before saving.
Save a verified bank account as the organization's payout destination. Verify the account first using neuron_verify_bank_account.
Retrieve the saved bank account details currently configured as the organization's payout destination.
Request a payout to transfer funds from the organization wallet to the linked bank account. A bank account must be saved first.
Retrieve the payout history for the organization, including amounts, statuses, and timestamps.
Create a new blog post. Body can be authored two ways: (1) `content` as markdown (GFM) + inline raw HTML, or (2) `blocks` — a structured array of typed layout blocks rendered as styled components (her…
Retrieve a paginated list of blog posts with optional filtering by status, author type, author ID, or tag.
Retrieve a single blog post by its URL-friendly slug, including full content and metadata.
Update an existing blog post's content, metadata, status, or SEO fields. Only provided fields are changed.
Permanently delete a blog post by its ID. This action cannot be undone.
Publish a blog post, making it publicly visible. The post must be in 'draft' status.
Retrieve a paginated list of all WhatsApp Channel newsletters for the organization, with optional filtering by WhatsApp session channel.
Create a new WhatsApp Channel newsletter for one-way broadcast updates. Requires a connected Baileys session on the specified channel.
Retrieve detailed information about a specific WhatsApp Channel newsletter, including subscriber count and metadata.
Update the name or description of an existing WhatsApp Channel newsletter. Only provided fields are changed.
Permanently delete a WhatsApp Channel newsletter and remove it from WhatsApp. This action cannot be undone.
Post a message to a WhatsApp Channel newsletter. All subscribers receive the message. Provide at least one of text or mediaUrl. This triggers delivery and cannot be undone.
Post a WhatsApp Status / Story from a connected direct (Baileys) WhatsApp number. Visible to the account's synced contacts for 24 hours — you do NOT specify recipients (the contact list is built autom…
Re-fetch metadata (name, description, subscriber count) for a WhatsApp Channel newsletter from WhatsApp to synchronize local data.
Synchronize and import WhatsApp Channels from a connected WhatsApp session into Neuron. Discovers channels created outside Neuron.
Browse verified contact lists available in the shared marketplace pool. Filter by category, region, or search term.
Submit a contact list to the shared pool marketplace for other organizations to discover and use for ad distribution.
Create an ad distribution request to send a message to contacts in pool lists matching target demographics. Deducts from wallet upon approval.
Retrieve all ad requests for the current organization with optional status filtering and pagination.
Retrieve delivery analytics and performance breakdown for a specific ad request, including delivery rates and cost metrics.
Get detailed information about a specific ad request, including pool selections if targeting mode is manual.
Update a draft or rejected ad request. Only draft and rejected ad requests can be edited. Rejected requests revert to draft on update.
Permanently delete a draft ad request. Only ad requests in draft status can be deleted.
Submit a draft ad request for admin review. The request must be in draft status. After submission, an admin must approve it before it can be funded.
Fund an approved ad request from the organization wallet. This debits the budget amount and activates the campaign for distribution. If wallet balance is insufficient, returns shortfall information in…
Pause an active ad request campaign. Distribution stops until resumed. Only active ad requests can be paused.
Resume a paused ad request campaign. Distribution resumes from where it left off. Only paused ad requests can be resumed.
Stop an active or paused ad request campaign permanently. Any remaining unspent budget is refunded to the organization wallet. This cannot be undone.
Create a draft SMS campaign. Choose the audience via sourceType: 'all_contacts' or 'contact_list' (your own contacts), 'phones' (bring your own list — raw numbers you pass in), 'platform' (the wider N…
List the organization's SMS campaigns, optionally filtered by status or type.
Retrieve a single SMS campaign with its status and delivery counters.
Price a draft SMS campaign before sending: returns recipient count, SMS provider cost, curated owner payout (₦2/contact), and the total in kobo. Call this before neuron_send_sms_campaign.
Send a draft SMS campaign. Debits the wallet for the SMS cost plus any curated owner payout, then queues delivery. Returns a 402 with shortfall details if the wallet balance is insufficient (fund the …
Pause a sending drip SMS campaign. Only drip campaigns in the 'sending' state can be paused.
Resume a paused drip SMS campaign.
Delete a draft SMS campaign. Only draft campaigns can be deleted.
Send or remove an emoji reaction on a WhatsApp message. Pass an empty emoji string to remove a reaction.
Send a sticker via WhatsApp. The easy way: pass `sticker` as a mood or label (e.g. 'laughing', 'thumbs up', 'fire', 'celebrate') and a matching sticker is found automatically from the platform-wide co…
Send a location pin via WhatsApp with coordinates and optional name/address.
Send a vCard contact card via WhatsApp with name, phone, and optional organization.
Forward a WhatsApp message from one chat to another. Uses copy-send approach — the message content is re-sent to the destination.
Mark a WhatsApp message as read, sending read receipts to the sender.
Set typing indicator or online/offline presence on a WhatsApp chat. Only supported on Baileys channels.
Get the invite link for a WhatsApp group. Only supported on Baileys channels where the bot is a group admin.
Create a new WhatsApp group and seed its members from any combination of sources: other groups (combine/copy), contact lists, individual contacts, pasted phone numbers, or the whole address book. Opti…
Add members to an existing group, resolved from any combination of sources (other groups, contact lists, contacts, pasted phones, all contacts). Address the group by its id, slug, or JID.
Remove members from a group, resolved from any combination of sources — e.g. remove everyone on a contact list. Address the group by its id, slug, or JID.
Update the name/subject of a WhatsApp group. Requires the bot to be a group admin.
Update the description of a WhatsApp group. Requires the bot to be a group admin.
Change WhatsApp group settings: 'announcement' (only admins send), 'not_announcement' (everyone sends), 'locked' (only admins edit info), 'unlocked' (everyone edits info). Requires admin.
Add, remove, promote, or demote members in a WhatsApp group. Provide phone numbers or JIDs. Requires admin privileges.
Enable or disable join approval mode for a WhatsApp group. When enabled, join requests must be manually approved by admins. Requires admin.
Approve or reject pending join requests for a WhatsApp group. Requires admin privileges.
Revoke the current group invite link and generate a new one. The old link will stop working. Requires admin.
Make the bot leave a WhatsApp group. This action is irreversible — the bot will need to be re-added by an admin.
Send a poll message via WhatsApp. Polls support 2-12 options and optional multi-select. Only supported on Baileys channels.
Update the bot's WhatsApp display name on the given channel.
Update the bot's WhatsApp profile picture from an image URL.
Remove the bot's WhatsApp profile picture, reverting to the default.
Update the bot's WhatsApp status/bio text.
Fetch the bot's current WhatsApp privacy settings (last seen, online, profile picture, status, read receipts, groups add).
Update a specific WhatsApp privacy setting. Settings: lastSeen (all/contacts/contact_blacklist/none), online (all/match_last_seen), profilePicture (all/contacts/contact_blacklist/none), status (all/co…
Block a WhatsApp contact. Blocked contacts cannot message the bot or see its profile.
Unblock a previously blocked WhatsApp contact.
Fetch the list of all blocked WhatsApp contacts for the bot on the given channel.
Fetch the WhatsApp Business profile of an external contact, including description, website, category, and business hours.
Retrieve all social media channels (Instagram, Twitter/X) configured in the current organization.
Create a new social media channel with platform credentials. Supports Instagram and Twitter/X. Credentials should be the full session JSON including account, cookies, headers, and platform-specific to…
Retrieve detailed information about a specific social media channel, including its platform, credentials status, and connection state.
Update an existing social media channel. Can update label, username, or refresh credentials.
Permanently delete a social media channel and disconnect any active sessions. This action cannot be undone.
Start or reconnect a social media session for the channel. Initializes the platform client with stored credentials.
Stop the active session for a social media channel. The channel can be restarted later.
Retrieve the current session status for a social media channel (e.g., connected, disconnected, error).
Test whether the stored credentials for a social channel are still valid by making a test API call to the platform.
Assign a bot to handle interactions on a specific social media channel. The bot will be able to use the channel's credentials for social media actions.
Remove the bot assignment from a social media channel. The bot will lose access to the channel's social media credentials.
Retrieve a paginated list of scheduled messages for the current organization, with optional filtering by status (scheduled, sent, failed, cancelled).
Retrieve detailed information about a specific scheduled message, including its status, send time, and message content.
Update the message content, media, or send time of a scheduled message. Only messages with status 'scheduled' can be updated.
Cancel a scheduled message to prevent it from being sent. Only messages with status 'scheduled' can be cancelled. This action cannot be undone.
Ask a human to approve or reject an action over WhatsApp and get the decision back. The recipient replies approve/reject (optionally with a reason) or quotes the message. Use this to gate any action n…
Fetch a single approval request by id, including its decision once resolved. Set waitSeconds (1–60) to long-poll until it resolves. Requires a bot API key.
List approval requests for the organization, newest first. Filter by status (pending/approved/rejected/expired/cancelled). Requires a bot API key.
Approve or reject a pending approval programmatically — the decision surface for an authorized operator acting via MCP instead of replying on WhatsApp. Fires the configured callback and posts the outc…
Cancel a still-pending approval (e.g. the upstream action was aborted). Fires the approval.cancelled callback. Requires a bot API key.
Retrieve the COMPLETE catalog for authoring flows. ALWAYS call this first when building or editing a flow — do not rely on memory, the full node set changes. The response has two parts: • `data`: ev…
List all automation flows in the organization. Returns each flow's id, name, description, enabled status, trigger events, run count, and last run time.
Create a new automation flow. A flow is a directed graph of nodes connected by edges. The graph MUST start with at least one trigger node (entry point). Edges connect nodes via output handles. BEFORE…
Retrieve a single flow by id, including its full graph (nodes and edges), enabled status, and run stats.
Update a flow's name, description, graph, or enabled state. Only provided fields are changed. When updating the graph, provide the COMPLETE graph (all nodes and edges) — it replaces the existing graph…
Soft-delete a flow. It stops running but can be restored. Running executions are not cancelled.
Enable or disable a flow. Disabled flows stop receiving events but retain their graph.
Manually trigger a flow run for testing. Starts at the 'trigger.manual' node if present, otherwise the first trigger node. Optionally provide a payload object that becomes {{trigger.*}} in the flow.
List execution runs for a flow, newest first. Each run shows status (running/waiting/completed/failed/cancelled), trigger type, step count, and timing.
Get a single flow run with its full step-by-step execution trace. Each step shows the node type, input/output, status (ok/error/skipped/wait), duration, and which handle fired. Use this to debug flows…
Cancel a running or waiting flow execution. Steps already completed are not rolled back.
Check whether this account can sell (Pro plan + admin-granted access) and any pending application.
Apply for seller access (digital products). Requires a Pro plan or higher; a platform admin then grants access.
Get this seller's storefront profile (handle, display name, bio, branding) and its public URL.
Create or update the seller storefront (nestuge-style page). Handle is auto-generated from the display name if omitted.
List all products for this seller, each with its public checkout URL and price breakdown.
Get a single product by id, with its public URL and fee breakdown.
Create a digital product/service with a public checkout link. Amount in kobo (minor units): ₦1 = 100. Minimum ₦500 = 50000. For 'file' delivery, upload the file first (neuron_upload_media) and pass it…
Update any field of a product (price, delivery, cover, enabled, fee payer, …).
List the members of a membership product: current (paid-up) or all. Returns each buyer's status (active / lapsed / cancelled), when their period renews, whether they're in the attached WhatsApp group …
Manually enroll existing / off-platform people into a membership product WITHOUT a payment. Use this to backfill members who were already in the WhatsApp group before you switched membership on, so th…
Add more unique codes/keys to a 'pool' code product's stock. Each buyer receives one. Returns the product with the new remaining count.
Clone an existing product into a hidden draft copy (new checkout link, '(copy)' title, reset counters). A 'pool' code product is cloned with an empty pool — restock codes before enabling. Edit the cop…
Permanently delete a product. Existing orders are retained.
List recent product orders (sales) for this seller, with buyer, amount, fee breakdown, and status.
Refund a paid order via Paystack. The buyer is refunded and the sale amount is reversed from your wallet.
Re-send a paid-but-undelivered order to the buyer over WhatsApp/email. Use when a sale settled while no WhatsApp session was connected; connect one first, then deliver.
List verified-purchase reviews across this seller's products (rating, text, buyer, status).
Total paid sales count and net revenue (kobo) for this seller.
Get the Studio's editing vocabulary — every tool (add_text, add_shape, animate_layer, set_visibility_window, group, trim_clip, add_overlay, add_scene, set_transition, …) with its JSON-schema arguments…
Apply a batch of Studio tool calls to a video doc and get back the updated doc plus a fresh scene description — YOU (this agent) are the brain, so this needs NO OpenRouter/AI key. Loop: call neuron_st…
Build a new video or edit an existing one from a natural-language instruction. Returns the updated ProjectDoc plus the list of edits made. Pass the returned `doc` back in to keep iterating, or to neur…
One-shot: build/edit a video from a prompt AND start the MP4 render. Returns the ProjectDoc, the edits, and a render `job` — poll it with neuron_studio_render_status until status is 'completed' to get…
Persist a ProjectDoc and get back an `openUrl`. Opening it drops the video into the Studio in the user's browser, where 'Export MP4' renders CLIENT-SIDE (on their machine, no server render cost). Use …
Submit a Studio ProjectDoc for a headless MP4 render. Returns a job id — poll neuron_studio_render_status until 'completed'. Any media (video/image) in the doc must be a server-reachable URL (use neur…
Poll a render job by id. When status is 'completed', outputUrl is the finished MP4. status is queued | rendering | completed | failed.
Turn a script into a hosted voiceover audio URL, optionally with caption cues synced to the speech. Returns { url, durationSeconds, cues? }. Then place it with neuron_studio_apply: add_audio({url, lab…
Transcribe a hosted media/audio URL into time-coded caption cues { cues:[{startSeconds,endSeconds,text}] }. Feed them to neuron_studio_apply add_captions to subtitle existing footage. Needs a transcri…
Text → image (AI b-roll) via the org's Replicate key. Returns { url } (an external URL). Re-host it (neuron_studio_rehost_media) so it persists, then place it with neuron_studio_apply add_image. Busin…
Text → video via Replicate (async). Returns { id, status } — poll neuron_studio_generate_video_status until 'succeeded' to get videoUrl, then re-host + add_video. Needs a genvideo model version config…
Poll an AI video job. When status is 'succeeded', videoUrl is the result (external — re-host it before use).
Run an AI transform on a hosted video via Replicate (async): op 'bg-remove' or 'face-swap' (face-swap needs imageUrl). Returns { id, status } — poll neuron_studio_transform_video_status for videoUrl. …
Poll a video-transform job. When status is 'succeeded', videoUrl is the result (external — re-host before use).
Fetch any image/video/audio URL and re-host it on Neuron so it's stable and server-reachable — use this on external/temporary URLs (AI-generated b-roll, etc.) before placing them with add_image/add_vi…
Fetch a video from a direct link or a platform page (YouTube / Instagram / TikTok / X / LinkedIn) and re-host it so the Studio + renderer can use it. Returns { url, filename, kind, w, h, durationMs }.…
Upload a local image/video (base64) to the Studio media store (uncapped) so the renderer can fetch it. Returns { url, filename }. Put the url on an image/video layer.
List browser-mission runs (live + recent). Stale runs (no heartbeat >2min) show as 'stale'. Note the result nests as data.data[].
Fetch one run's status, config snapshot and latest live stats (captured/flushed/leads/reels/hops/scrolls). status is running|stopped|completed|killed|stale.
The kill switch — flags a run to stop. It's cooperative: the browser extension stops on its next heartbeat (usually within ~12s) and finalizes the run.
Queue a browser mission for the user's Neuron extension to run — mine content into a Collection or prospects into the lead pool. Returns a command id; the extension picks it up on its next poll (so th…
Queue a graceful stop for the current mission (the extension finalizes it). For an immediate hard stop of a specific run, use neuron_webagent_kill.
Ask the extension to open its Web Agent panel so the user can review/adjust a mission before it runs. Delivered on the extension's next poll.
See the launch/stop/open commands queued for the extension and their outcomes (pending|claimed|done|failed, plus the runId a launch created).
List content collections (where web-agent missions and captures land). Returns each collection's item count, kind and source.
Fetch a collection's metadata by id.
Browse the mined content in a collection — posts/comments/profiles with author, content, engagement and engagementScore. sort 'top' ranks by engagement (great for picking the best clips/posts to reuse…
Similar MCP servers embedding-nearest
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"io.github.conquext/neuron": {
"url": "https://mcp.neuron.ng/mcp",
"transport": "streamable-http"
}
}
}