# io.github.conquext/neuron (npm · neuron-mcp-server)

AI-powered WhatsApp chatbot platform with 196 tools for bots, campaigns, and contacts.

- Trust score: 59/100 (low)
- Change this week: +19
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.neuron.ng`: 70/100, [markdown](https://verifymcp.io/servers/conquext-neuron/mcp.md), [page](https://verifymcp.io/servers/conquext-neuron/mcp)
- npm · `neuron-mcp-server`: 59/100 (this document), [markdown](https://verifymcp.io/servers/conquext-neuron/neuron-mcp-server.md), [page](https://verifymcp.io/servers/conquext-neuron/neuron-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `neuron-mcp-server`
- Version: `1.0.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (109 of 110), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (109 of 110), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 35 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 12306 tokens (~63/item across 195 items; 195 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add conquext-neuron -- npx -y neuron-mcp-server
```

### Codex

```bash
codex mcp add conquext-neuron -- npx -y neuron-mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "conquext-neuron": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "neuron-mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add conquext-neuron --command npx --arg -y --arg neuron-mcp-server
```

### Hermes

```yaml
mcp_servers:
  conquext-neuron:
    command: "npx"
    args: ["-y", "neuron-mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "conquext-neuron": {
      "command": "npx",
      "args": [
        "-y",
        "neuron-mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 59, +28)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-08-02 (score 31, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-08-01 (score 16, +16)

- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 0, −40)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 40)

First indexed and scored.

## MCP tools (195)

### `neuron_register` (~78 tokens)

Register New User

Register a new user account with name, email, password, and organization name

Input parameters:

- `email` (string, required): Email address of the user
- `name` (string, required): Full name of the user
- `orgName` (string, required): Name of the organization to create
- `password` (string, required): Password for the account (minimum 8 characters)

### `neuron_login` (~65 tokens)

Login to Neuron

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\. email+password: Legacy login (credentials visible to AI)

### `neuron_refresh_token` (~38 tokens)

Refresh Access Token

Refresh the access token using a refresh token. Automatically sets the new access token.

Input parameters:

- `refreshToken` (string, required): Refresh token obtained from login

### `neuron_switch_org` (~40 tokens)

Switch Organization

Switch to a different organization. Returns a new access token and automatically sets it.

Input parameters:

- `orgId` (string, required): ID of the organization to switch to

### `neuron_list_organizations` (~19 tokens)

List Organizations

List all organizations the authenticated user belongs to

### `neuron_get_profile` (~16 tokens)

Get User Profile

Get the authenticated user's profile information

### `neuron_whoami` (~31 tokens)

Check Current Account

Check which Neuron account is currently logged in, including user name, email, role, and organization.

### `neuron_logout` (~40 tokens)

Logout

Clear the current auth token locally. Does NOT revoke server-side MCP tokens — revoke from the Neuron dashboard (Settings > MCP Tokens) for full invalidation.

### `neuron_create_bot` (~246 tokens)

Create Bot

Create a new bot with specified configuration including name, system prompt, and optional parameters like model, temperature, and phone number.

Input parameters:

- `assignment` (string): One-sentence role definition (max 2000 chars)
- `escalationPrompt` (string): Prompt template for human handoff (max 5000 chars)
- `fallbackMessage` (string): Fallback message when bot cannot understand (max 2000 chars)
- `greetingMessage` (string): Auto-greeting when a new conversation starts (max 2000 chars)
- `llmModel` (string): OpenRouter model ID (e.g., google/gemini-2.5-flash-lite-preview-09-2025, openrouter/auto)
- `llmTemperature` (number): Temperature parameter for response randomness (0-2)
- `maxTokens` (number): Maximum tokens for responses
- `name` (string, required): The name of the bot
- `responsibilities` (array): Array of responsibility descriptions
- `systemPrompt` (string, required): The system prompt that defines the bot's behavior and personality
- `whatsappChannelId` (string): UUID of the WhatsApp channel to associate with the bot

### `neuron_list_bots` (~25 tokens)

List Bots

Retrieve a list of all bots in the system with their configurations and status.

### `neuron_get_bot` (~41 tokens)

Get Bot

Retrieve detailed information about a specific bot by ID including its configuration, status, and associated resources.

Input parameters:

- `id` (string, required): The unique identifier of the bot

### `neuron_update_bot` (~253 tokens)

Update Bot

Update an existing bot's configuration including name, system prompt, model parameters, and phone number association.

Input parameters:

- `assignment` (string): One-sentence role definition (max 2000 chars)
- `escalationPrompt` (string): Prompt template for human handoff (max 5000 chars)
- `fallbackMessage` (string): Fallback message when bot cannot understand (max 2000 chars)
- `greetingMessage` (string): Auto-greeting when a new conversation starts (max 2000 chars)
- `id` (string, required): The unique identifier of the bot to update
- `llmModel` (string): OpenRouter model ID (e.g., google/gemini-2.5-flash-lite-preview-09-2025, openrouter/auto)
- `llmTemperature` (number): The new temperature parameter (0-2)
- `maxTokens` (number): The new maximum tokens limit
- `name` (string): The new name of the bot
- `responsibilities` (array): Array of responsibility descriptions
- `systemPrompt` (string): The new system prompt for the bot
- `whatsappChannelId` (string): UUID of the WhatsApp channel to associate with the bot

### `neuron_delete_bot` (~41 tokens)

Delete Bot

Permanently delete a bot and all its associated data. This action cannot be undone.

Input parameters:

- `id` (string, required): The unique identifier of the bot to delete

### `neuron_pause_bot` (~41 tokens)

Pause Bot

Pause a bot's operations temporarily. The bot will stop responding to messages until resumed.

Input parameters:

- `id` (string, required): The unique identifier of the bot to pause

### `neuron_resume_bot` (~40 tokens)

Resume Bot

Resume a paused bot's operations. The bot will start responding to messages again.

Input parameters:

- `id` (string, required): The unique identifier of the bot to resume

### `neuron_get_bot_analytics` (~44 tokens)

Get Bot Analytics

Retrieve analytics and usage statistics for a specific bot including message counts, response times, and conversation metrics.

Input parameters:

- `id` (string, required): The unique identifier of the bot

### `neuron_attach_knowledge_base` (~84 tokens)

Attach Knowledge Base

Attach a knowledge base to a bot to enhance its responses with specific domain knowledge. Optional priority determines retrieval order.

Input parameters:

- `id` (string, required): The unique identifier of the bot
- `knowledgeBaseId` (string, required): The unique identifier of the knowledge base to attach
- `priority` (number): Optional priority level for knowledge base retrieval (higher priority is checked first)

### `neuron_list_bot_knowledge_bases` (~42 tokens)

List Bot Knowledge Bases

Retrieve all knowledge bases attached to a specific bot along with their priorities and metadata.

Input parameters:

- `id` (string, required): The unique identifier of the bot

### `neuron_detach_knowledge_base` (~62 tokens)

Detach Knowledge Base

Remove a knowledge base from a bot. The bot will no longer use this knowledge base for responses.

Input parameters:

- `id` (string, required): The unique identifier of the bot
- `kbId` (string, required): The unique identifier of the knowledge base to detach

### `neuron_create_api_key` (~120 tokens)

Create API Key

Generate a new API key for a bot to enable programmatic access. The key will have an 'nrn_' prefix and can optionally expire at a specified date.

Input parameters:

- `botId` (string, required): The unique identifier of the bot for which to create the API key
- `expiresAt` (string): Optional ISO 8601 date-time when the key should expire (e.g., '2026-12-31T23:59:59Z')
- `name` (string, required): A descriptive name for the API key to identify its purpose

### `neuron_list_api_keys` (~53 tokens)

List API Keys

Retrieve all API keys associated with a specific bot including their names, creation dates, expiration dates, and revocation status.

Input parameters:

- `botId` (string, required): The unique identifier of the bot whose API keys to retrieve

### `neuron_revoke_api_key` (~67 tokens)

Revoke API Key

Revoke an API key to immediately invalidate it and prevent further use. This action cannot be undone.

Input parameters:

- `botId` (string, required): The unique identifier of the bot that owns the API key
- `keyId` (string, required): The unique identifier of the API key to revoke

### `neuron_bot_api_chat` (~114 tokens)

Bot API Chat

Send a chat message to the bot API as a contact and receive an AI-generated response. Requires a valid API key with 'nrn_' prefix.

Input parameters:

- `apiKey` (string, required): The bot API key starting with 'nrn_' prefix for authentication
- `contactName` (string): Optional name of the contact for context
- `contactPhone` (string, required): The phone number of the contact sending the message (E.164 format recommended)
- `message` (string, required): The message text to send to the bot

### `neuron_bot_api_send` (~161 tokens)

Bot API Send

Send an outbound message through the bot API to a specified phone number. Supports text and media messages. Requires a valid API key.

Input parameters:

- `apiKey` (string, required): The bot API key starting with 'nrn_' prefix for authentication
- `channelId` (string): Optional channel ID to send from a specific WhatsApp number. Uses the bot's primary number if omitted.
- `mediaUrl` (string): Optional URL to media file if sending media message
- `message` (string, required): The message text to send
- `messageType` (string): Optional message type (e.g., 'text', 'image', 'video', 'audio', 'document')
- `to` (string, required): The recipient's phone number (E.164 format recommended)

### `neuron_bot_api_list_conversations` (~115 tokens)

Bot API List Conversations

Retrieve a list of conversations managed by the bot. Supports filtering by status and pagination. Requires a valid API key.

Input parameters:

- `apiKey` (string, required): The bot API key starting with 'nrn_' prefix for authentication
- `limit` (number): Optional number of conversations per page (default: 20)
- `page` (number): Optional page number for pagination (default: 1)
- `status` (string): Optional filter by conversation status (e.g., 'active', 'closed', 'pending')

### `neuron_bot_api_get_messages` (~102 tokens)

Bot API Get Messages

Retrieve message history for a specific conversation with pagination support. Requires a valid API key.

Input parameters:

- `apiKey` (string, required): The bot API key starting with 'nrn_' prefix for authentication
- `before` (string): Optional cursor for pagination - retrieve messages before this message ID or timestamp
- `conversationId` (string, required): The unique identifier of the conversation
- `limit` (number): Optional maximum number of messages to retrieve (default: 50)

### `neuron_bot_api_get_bot` (~49 tokens)

Bot API Get Bot

Retrieve information about the bot associated with the provided API key including its configuration and status.

Input parameters:

- `apiKey` (string, required): The bot API key starting with 'nrn_' prefix for authentication

### `neuron_list_conversations` (~92 tokens)

List Conversations

Retrieve a list of conversations for a specific bot with optional filtering by status and pagination

Input parameters:

- `botId` (string, required): The unique identifier of the bot
- `cursor` (string): Pagination cursor for retrieving the next page of results
- `limit` (integer): Maximum number of conversations to return per page
- `status` (string): Filter conversations by status (e.g., 'active', 'closed')

### `neuron_get_conversation` (~34 tokens)

Get Conversation

Retrieve detailed information about a specific conversation by its ID

Input parameters:

- `id` (string, required): The unique identifier of the conversation

### `neuron_get_messages` (~63 tokens)

Get Conversation Messages

Retrieve messages from a specific conversation with optional pagination

Input parameters:

- `cursor` (string): Pagination cursor for retrieving the next page of messages
- `id` (string, required): The unique identifier of the conversation
- `limit` (integer): Maximum number of messages to return per page

### `neuron_takeover_conversation` (~42 tokens)

Takeover Conversation

Take over a conversation, transferring control from the bot to a human agent

Input parameters:

- `id` (string, required): The unique identifier of the conversation to take over

### `neuron_release_conversation` (~40 tokens)

Release Conversation

Release a conversation back to the bot, returning control from a human agent

Input parameters:

- `id` (string, required): The unique identifier of the conversation to release

### `neuron_send_message` (~89 tokens)

Send Message

Send a message to a specific conversation

Input parameters:

- `content` (string, required): The message content to send
- `id` (string, required): The unique identifier of the conversation
- `mediaUrl` (string): URL of media to attach (for image/document message types)
- `messageType` (string): Type of message (e.g., 'text', 'image', 'document'). Defaults to 'text'.

### `neuron_compose_message` (~117 tokens)

Compose Message

Compose and send a new message to a phone number, starting a new conversation if one does not exist

Input parameters:

- `channelId` (string, required): ID of the WhatsApp channel to send through
- `contactName` (string): Display name for the contact
- `mediaUrl` (string): URL of media to attach
- `messageType` (string): Type of message (e.g., 'text', 'image', 'document')
- `text` (string, required): Message text content
- `to` (string, required): Recipient phone number

### `neuron_send_whatsapp` (~168 tokens)

Send WhatsApp Message

Send a WhatsApp message to a phone number or group. Auto-resolves which WhatsApp channel to use (org default channel > first connected channel). Optionally attach media.

Input parameters:

- `channelId` (string): Override auto-resolved channel with a specific channel ID
- `contactName` (string): Display name for the recipient
- `mediaUrl` (string): URL of media to attach (required for non-text types)
- `messageType` (string): Message type: 'text' (default), 'image', 'audio', 'video', 'document'
- `text` (string, required): Message text
- `to` (string, required): Recipient: phone number (e.g. '2348012345678') or group JID (e.g. '120363XXX@g.us')

### `neuron_edit_message` (~62 tokens)

Edit Message

Edit the content of a previously sent message in a conversation

Input parameters:

- `content` (string, required): New content for the message
- `id` (string, required): The unique identifier of the conversation
- `msgId` (string, required): The unique identifier of the message to edit

### `neuron_delete_message` (~52 tokens)

Delete Message

Delete a specific message from a conversation. This action cannot be undone.

Input parameters:

- `id` (string, required): The unique identifier of the conversation
- `msgId` (string, required): The unique identifier of the message to delete

### `neuron_close_conversation` (~35 tokens)

Close Conversation

Close an active conversation, marking it as completed

Input parameters:

- `id` (string, required): The unique identifier of the conversation to close

### `neuron_create_knowledge_base` (~70 tokens)

Create Knowledge Base

Create a new knowledge base to store and organize information, documents, and entries.

Input parameters:

- `description` (string): Optional description of the knowledge base purpose
- `name` (string, required): Name of the knowledge base
- `rootInstruction` (string): Optional root instruction or context for the knowledge base

### `neuron_list_knowledge_bases` (~22 tokens)

List Knowledge Bases

Retrieve all knowledge bases accessible to the current user.

### `neuron_get_knowledge_base` (~36 tokens)

Get Knowledge Base

Retrieve detailed information about a specific knowledge base by its ID.

Input parameters:

- `id` (string, required): Unique identifier of the knowledge base

### `neuron_update_knowledge_base` (~83 tokens)

Update Knowledge Base

Update the properties of an existing knowledge base such as name, description, or root instruction.

Input parameters:

- `description` (string): New description for the knowledge base
- `id` (string, required): Unique identifier of the knowledge base to update
- `name` (string): New name for the knowledge base
- `rootInstruction` (string): New root instruction or context

### `neuron_delete_knowledge_base` (~40 tokens)

Delete Knowledge Base

Permanently delete a knowledge base and all its associated entries and documents.

Input parameters:

- `id` (string, required): Unique identifier of the knowledge base to delete

### `neuron_create_kb_entry` (~131 tokens)

Create Knowledge Base Entry

Add a new entry (note, document, or information piece) to a knowledge base.

Input parameters:

- `content` (string, required): Content or body of the entry
- `folder` (string): Folder to organize the entry: 'general', 'skills', 'contexts', 'documents', or 'faqs' (default: general)
- `id` (string, required): Unique identifier of the knowledge base
- `metadata` (object): Optional metadata key-value pairs for the entry
- `source` (string): Source type of the entry (default: manual)
- `title` (string, required): Title of the entry

### `neuron_list_kb_entries` (~113 tokens)

List Knowledge Base Entries

Retrieve entries from a knowledge base with optional filtering and pagination.

Input parameters:

- `folder` (string): Filter entries by folder ('general', 'skills', 'contexts', 'documents', 'faqs')
- `id` (string, required): Unique identifier of the knowledge base
- `limit` (number): Maximum number of entries to return per page
- `page` (number): Page number for pagination (starts at 1)
- `source` (string): Filter entries by source type ('manual', 'document', 'url')

### `neuron_update_kb_entry` (~132 tokens)

Update Knowledge Base Entry

Update the content, title, folder, or source of an existing knowledge base entry.

Input parameters:

- `content` (string): New content for the entry
- `entryId` (string, required): Unique identifier of the entry to update
- `folder` (string): New folder: 'general', 'skills', 'contexts', 'documents', or 'faqs'
- `kbId` (string, required): Unique identifier of the knowledge base
- `metadata` (object): New metadata key-value pairs
- `source` (string): New source type for the entry
- `title` (string): New title for the entry

### `neuron_delete_kb_entry` (~51 tokens)

Delete Knowledge Base Entry

Permanently delete a specific entry from a knowledge base.

Input parameters:

- `entryId` (string, required): Unique identifier of the entry to delete
- `kbId` (string, required): Unique identifier of the knowledge base

### `neuron_upload_document` (~88 tokens)

Upload Document

Upload a text document to a knowledge base. The document will be automatically chunked and indexed for semantic search.

Input parameters:

- `content` (string, required): Text content of the document to upload
- `filename` (string, required): Name of the file being uploaded
- `folder` (string): Folder path to organize the document within the knowledge base
- `id` (string, required): Unique identifier of the knowledge base

### `neuron_search_knowledge` (~70 tokens)

Search Knowledge

Perform semantic search across all entries and documents in a knowledge base to find relevant information.

Input parameters:

- `id` (string, required): Unique identifier of the knowledge base to search
- `limit` (number): Maximum number of search results to return
- `q` (string, required): Search query text to find relevant entries

### `neuron_list_kb_bots` (~39 tokens)

List Knowledge Base Bots

Retrieve all bots that are connected to or using a specific knowledge base.

Input parameters:

- `id` (string, required): Unique identifier of the knowledge base

### `neuron_ingest_knowledge` (~173 tokens)

Ingest Knowledge

Ingest content into a knowledge base. Supports deduplication via externalId and optional LLM processing (summarize, extract_facts, or custom instruction).

Input parameters:

- `content` (string, required): Content to ingest
- `externalId` (string): Unique external ID for deduplication (e.g. file path, URL)
- `folder` (string): Folder: 'general', 'skills', 'contexts', 'documents', or 'faqs' (default: general)
- `knowledgeBaseId` (string, required): Knowledge base ID to ingest into
- `processing` (object): Optional LLM processing before storage
- `source` (string): Source type (default: mcp)
- `sourceUrl` (string): Source URL for reference
- `title` (string, required): Title for the knowledge entry

### `neuron_sync_knowledge` (~44 tokens)

Sync Knowledge

Trigger a synchronization operation to refresh embeddings, reindex content, or update the knowledge base state.

Input parameters:

- `id` (string, required): Unique identifier of the knowledge base to synchronize

### `neuron_create_tool` (~145 tokens)

Create Tool

Create a new tool integration for a bot to call external HTTP APIs and webhooks

Input parameters:

- `authType` (string): Authentication type (bearer, basic, apiKey, etc.)
- `botId` (string, required): The ID of the bot to create the tool for
- `config` (object, required): Tool configuration object
- `description` (string): Description of what the tool does
- `name` (string, required): Name of the tool
- `rateLimit` (number): Rate limit (requests per minute)
- `timeoutMs` (number): Request timeout in milliseconds
- `type` (string, required): Type of the tool (e.g., 'http', 'webhook')

### `neuron_list_tools` (~35 tokens)

List Tools

List all tool integrations for a specific bot

Input parameters:

- `botId` (string, required): The ID of the bot to list tools for

### `neuron_update_tool` (~95 tokens)

Update Tool

Update an existing tool integration configuration

Input parameters:

- `authType` (string): Updated authentication type
- `config` (object): Updated tool configuration
- `description` (string): Updated description
- `id` (string, required): The ID of the tool to update
- `name` (string): Updated name of the tool
- `rateLimit` (number): Updated rate limit
- `timeoutMs` (number): Updated timeout in milliseconds

### `neuron_delete_tool` (~31 tokens)

Delete Tool

Delete a tool integration from a bot

Input parameters:

- `id` (string, required): The ID of the tool to delete

### `neuron_test_tool` (~51 tokens)

Test Tool

Test a tool integration with sample arguments to verify it works correctly

Input parameters:

- `args` (object, required): Test arguments object to pass to the tool
- `id` (string, required): The ID of the tool to test

### `neuron_add_tool_secret` (~73 tokens)

Add Tool Secret

Add or update a secret (API key, token, etc.) for a tool integration

Input parameters:

- `id` (string, required): The ID of the tool
- `key` (string, required): Secret key name (e.g., 'API_KEY', 'AUTH_TOKEN')
- `value` (string, required): Secret value to store securely

### `neuron_remove_tool_secret` (~42 tokens)

Remove Tool Secret

Remove a secret from a tool integration

Input parameters:

- `id` (string, required): The ID of the tool
- `key` (string, required): Secret key name to remove

### `neuron_create_webhook` (~112 tokens)

Create Webhook

Create a new inbound webhook that triggers bot actions when called

Input parameters:

- `botId` (string, required): The ID of the bot to create the webhook for
- `eventType` (string): Type of event this webhook handles
- `isActive` (boolean): Whether the webhook is active (default: true)
- `name` (string, required): Name of the webhook
- `processingPrompt` (string): Prompt to guide bot processing of webhook data
- `slug` (string): URL-friendly slug for the webhook endpoint

### `neuron_list_webhooks` (~39 tokens)

List Webhooks

List all inbound webhooks configured for a specific bot

Input parameters:

- `botId` (string, required): The ID of the bot to list webhooks for

### `neuron_update_webhook` (~78 tokens)

Update Webhook

Update an existing webhook configuration

Input parameters:

- `eventType` (string): Updated event type
- `id` (string, required): The ID of the webhook to update
- `isActive` (boolean): Whether the webhook should be active
- `name` (string): Updated name of the webhook
- `processingPrompt` (string): Updated processing prompt

### `neuron_delete_webhook` (~32 tokens)

Delete Webhook

Delete an inbound webhook from a bot

Input parameters:

- `id` (string, required): The ID of the webhook to delete

### `neuron_get_webhook_logs` (~73 tokens)

Get Webhook Logs

Retrieve execution logs for a webhook to monitor activity and debug issues

Input parameters:

- `id` (string, required): The ID of the webhook to get logs for
- `limit` (number): Number of logs per page (default: 20)
- `page` (number): Page number for pagination (default: 1)

### `neuron_list_reflections` (~52 tokens)

List Reflections

List self-learning reflections generated by a bot, optionally filtered by status

Input parameters:

- `botId` (string, required): The ID of the bot to list reflections for
- `status` (string): Filter by reflection status

### `neuron_approve_reflection` (~41 tokens)

Approve Reflection

Approve a bot reflection to incorporate it into the bot's learning and behavior

Input parameters:

- `id` (string, required): The ID of the reflection to approve

### `neuron_reject_reflection` (~41 tokens)

Reject Reflection

Reject a bot reflection to prevent it from being incorporated into the bot's behavior

Input parameters:

- `id` (string, required): The ID of the reflection to reject

### `neuron_sync_reflections` (~41 tokens)

Sync Reflections

Synchronize and update the bot's knowledge base with all approved reflections

Input parameters:

- `botId` (string, required): The ID of the bot to sync reflections for

### `neuron_list_channels` (~21 tokens)

List Channels

List all WhatsApp channels configured in the Neuron system

### `neuron_create_channel` (~124 tokens)

Create Channel

Create a new WhatsApp channel. Supports Meta Cloud API or Baileys (direct WhatsApp) integration.

Input parameters:

- `metaAccessToken` (string): Meta Access Token (required for meta_cloud type)
- `metaPhoneNumberId` (string): Meta Phone Number ID (required for meta_cloud type)
- `name` (string, required): Display name for the channel
- `phoneNumber` (string): Phone number for the channel (optional)
- `type` (string, required): Channel type: 'meta_cloud' for Meta Cloud API or 'baileys' for direct WhatsApp

### `neuron_get_channel` (~32 tokens)

Get Channel

Get detailed information about a specific WhatsApp channel

Input parameters:

- `id` (string, required): The unique identifier of the channel

### `neuron_update_channel` (~89 tokens)

Update Channel

Update configuration details of an existing WhatsApp channel

Input parameters:

- `id` (string, required): The unique identifier of the channel to update
- `metaAccessToken` (string): New Meta Access Token
- `metaPhoneNumberId` (string): New Meta Phone Number ID
- `name` (string): New display name for the channel
- `phoneNumber` (string): New phone number for the channel

### `neuron_delete_channel` (~39 tokens)

Delete Channel

Delete a WhatsApp channel from the system. This action cannot be undone.

Input parameters:

- `id` (string, required): The unique identifier of the channel to delete

### `neuron_assign_bot_to_channel` (~53 tokens)

Assign Bot to Channel

Assign a bot to handle messages on a specific WhatsApp channel

Input parameters:

- `botId` (string, required): The unique identifier of the bot to assign
- `id` (string, required): The unique identifier of the channel

### `neuron_unassign_bot_from_channel` (~35 tokens)

Unassign Bot from Channel

Remove the bot assignment from a WhatsApp channel

Input parameters:

- `id` (string, required): The unique identifier of the channel

### `neuron_start_channel_session` (~44 tokens)

Start Channel Session

Start a Baileys (direct WhatsApp) session for the channel. Generates QR code for pairing.

Input parameters:

- `id` (string, required): The unique identifier of the channel

### `neuron_stop_channel_session` (~39 tokens)

Stop Channel Session

Stop the active Baileys session for the channel and disconnect from WhatsApp

Input parameters:

- `id` (string, required): The unique identifier of the channel

### `neuron_get_channel_status` (~40 tokens)

Get Channel Status

Get the current session status of a WhatsApp channel (connected, disconnected, etc.)

Input parameters:

- `id` (string, required): The unique identifier of the channel

### `neuron_request_pair_code` (~63 tokens)

Request Pair Code

Request a pairing code for a Baileys channel instead of using QR code. Useful for linking with a phone number.

Input parameters:

- `id` (string, required): The unique identifier of the channel
- `phoneNumber` (string, required): Phone number to generate the pair code for

### `neuron_list_channel_groups` (~35 tokens)

List Channel Groups

List all WhatsApp groups that the channel is participating in

Input parameters:

- `id` (string, required): The unique identifier of the channel

### `neuron_get_group_participants` (~56 tokens)

Get Group Participants

Get the list of participants in a specific WhatsApp group on a channel

Input parameters:

- `groupJid` (string, required): The JID of the WhatsApp group
- `id` (string, required): The unique identifier of the channel

### `neuron_list_whatsapp_contacts` (~48 tokens)

List WhatsApp Contacts

List contacts from the WhatsApp account connected to this channel

Input parameters:

- `id` (string, required): The unique identifier of the channel
- `q` (string): Search query to filter contacts

### `neuron_get_channel_events` (~64 tokens)

Get Channel Events

Get the event log for a channel (connection events, message events, errors, etc.)

Input parameters:

- `id` (string, required): The unique identifier of the channel
- `limit` (integer): Number of events per page
- `page` (integer): Page number for pagination

### `neuron_get_channel_qr` (~46 tokens)

Get Channel QR Code

Get the QR code for pairing a Baileys channel with WhatsApp. Scan with WhatsApp mobile app.

Input parameters:

- `id` (string, required): The unique identifier of the channel

### `neuron_list_bot_channels` (~40 tokens)

List Bot Channels

List all WhatsApp channels connected to a bot, including primary and secondary connections

Input parameters:

- `botId` (string, required): The unique identifier of the bot

### `neuron_add_bot_channel` (~56 tokens)

Add Bot Channel

Connect an additional WhatsApp channel to a bot as a secondary number

Input parameters:

- `botId` (string, required): The unique identifier of the bot
- `channelId` (string, required): The unique identifier of the WhatsApp channel to connect

### `neuron_remove_bot_channel` (~51 tokens)

Remove Bot Channel

Disconnect a WhatsApp channel from a bot

Input parameters:

- `botId` (string, required): The unique identifier of the bot
- `channelId` (string, required): The unique identifier of the WhatsApp channel to disconnect

### `neuron_browse_pool` (~139 tokens)

Browse Pool

Browse the marketplace/pool to discover shared bots, tools, knowledge bases, and reflections. Supports filtering and search.

Input parameters:

- `category` (string): Filter by category
- `featured` (boolean): Show only featured items
- `limit` (number): Number of items per page (default: 20)
- `page` (number): Page number for pagination (default: 1)
- `query` (string): Search query to filter items
- `tags` (string): Filter by tags (comma-separated)
- `type` (string): Filter by resource type (e.g., 'bot', 'tool', 'knowledge_base', 'reflection')

### `neuron_get_pool_item` (~37 tokens)

Get Pool Item

Get detailed information about a specific item in the marketplace/pool

Input parameters:

- `id` (string, required): The unique identifier of the pool item

### `neuron_list_published` (~22 tokens)

List My Published Items

List all items you have published to the marketplace/pool

### `neuron_list_installed` (~22 tokens)

List Installed Items

List all items you have installed from the marketplace/pool

### `neuron_publish_to_pool` (~110 tokens)

Publish to Pool

Publish a bot, tool, knowledge base, or reflection to the marketplace/pool for others to discover and use

Input parameters:

- `category` (string): Category for organizing the resource
- `description` (string): Detailed description of the resource
- `resourceId` (string, required): The unique identifier of the resource to publish
- `resourceType` (string, required): Type of resource to publish
- `tags` (array): Tags for improved discoverability
- `title` (string, required): Title for the pool listing

### `neuron_update_pool_item` (~85 tokens)

Update Pool Item

Update the metadata of a pool item you have published (title, description, category, tags)

Input parameters:

- `category` (string): New category
- `description` (string): New description
- `id` (string, required): The unique identifier of the pool item to update
- `tags` (array): New tags
- `title` (string): New title for the pool listing

### `neuron_unpublish_from_pool` (~44 tokens)

Unpublish from Pool

Remove a published item from the marketplace/pool. This action cannot be undone.

Input parameters:

- `id` (string, required): The unique identifier of the pool item to unpublish

### `neuron_install_from_pool` (~80 tokens)

Install from Pool

Install a resource from the marketplace/pool. Choose 'fork' to create an independent copy or 'subscribe' to receive updates.

Input parameters:

- `id` (string, required): The unique identifier of the pool item to install
- `mode` (string): Installation mode: 'fork' for independent copy or 'subscribe' for linked updates (default: 'fork')

### `neuron_pull_pool_update` (~46 tokens)

Pull Pool Update

Pull the latest updates for a subscribed pool resource. Only applies to items installed with 'subscribe' mode.

Input parameters:

- `installId` (string, required): The unique identifier of the installed resource

### `neuron_toggle_featured` (~45 tokens)

Toggle Featured Status

Toggle the featured status of a pool item. Featured items appear prominently in the marketplace. (Admin operation)

Input parameters:

- `id` (string, required): The unique identifier of the pool item

### `neuron_get_organization` (~33 tokens)

Get Organization

Get details of a specific organization by ID

Input parameters:

- `orgId` (string, required): ID of the organization to retrieve

### `neuron_update_organization` (~43 tokens)

Update Organization

Update organization details such as name

Input parameters:

- `name` (string): New name for the organization
- `orgId` (string, required): ID of the organization to update

### `neuron_update_whatsapp_credentials` (~84 tokens)

Update WhatsApp Credentials

Update WhatsApp Business API credentials for the organization

Input parameters:

- `orgId` (string, required): ID of the organization
- `whatsappAccessToken` (string, required): WhatsApp access token for API authentication
- `whatsappBusinessAccountId` (string, required): WhatsApp Business Account ID from Meta
- `whatsappPhoneNumberId` (string, required): WhatsApp phone number ID from Meta Business

### `neuron_set_default_channel` (~74 tokens)

Set Default WhatsApp Channel

Set the default WhatsApp channel for the organization. Used by neuron_send_whatsapp for auto-resolving which channel to send through. Pass null to clear.

Input parameters:

- `channelId` (string|null, required): Channel ID to set as default, or null to clear
- `orgId` (string, required): ID of the organization

### `neuron_list_members` (~31 tokens)

List Organization Members

Get a list of all members in the organization

Input parameters:

- `orgId` (string, required): ID of the organization

### `neuron_invite_member` (~107 tokens)

Invite Organization Member

Invite a new member to the organization with email, name, and optional role

Input parameters:

- `canViewConversations` (boolean): Whether the member can view conversations (default: true)
- `email` (string, required): Email address of the member to invite
- `name` (string, required): Full name of the member
- `orgId` (string, required): ID of the organization
- `role` (string): Role of the member (e.g., 'admin', 'agent', 'viewer')

### `neuron_list_invitations` (~31 tokens)

List Invitations

List all pending invitations for the organization

Input parameters:

- `orgId` (string, required): ID of the organization

### `neuron_revoke_invitation` (~50 tokens)

Revoke Invitation

Revoke a pending invitation so it can no longer be accepted

Input parameters:

- `invitationId` (string, required): ID of the invitation to revoke
- `orgId` (string, required): ID of the organization

### `neuron_update_member` (~61 tokens)

Update Member Permissions

Update a member's permissions such as conversation access

Input parameters:

- `canViewConversations` (boolean, required): Whether the member can view conversations
- `orgId` (string, required): ID of the organization
- `userId` (string, required): ID of the member to update

### `neuron_remove_member` (~45 tokens)

Remove Organization Member

Remove a member from the organization

Input parameters:

- `orgId` (string, required): ID of the organization
- `userId` (string, required): ID of the user to remove from the organization

### `neuron_list_audit_logs` (~107 tokens)

List Audit Logs

Retrieve audit logs with optional filtering by page, limit, action, and resource type

Input parameters:

- `action` (string): Filter by action type (e.g., 'CREATE', 'UPDATE', 'DELETE')
- `limit` (integer): Number of records per page
- `page` (integer): Page number for pagination (starts at 1)
- `resourceType` (string): Filter by resource type (e.g., 'USER', 'ORGANIZATION', 'CAMPAIGN')

### `neuron_list_builtin_tools` (~82 tokens)

List Built-in Tools

List all 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 (web search, QR codes, weather), scheduling, knowledge base search, and more.

Input parameters:

- `botId` (string, required): The ID of the bot to list built-in tools for

### `neuron_toggle_builtin_tool` (~115 tokens)

Toggle Built-in Tool

Enable or disable a specific built-in tool for a bot. Example tool IDs: delete_message, post_to_channel, post_status, web_search, send_direct_message, react_to_message, set_reminder, create_poll, etc.

Input parameters:

- `botId` (string, required): The ID of the bot
- `enabled` (boolean, required): Whether to enable (true) or disable (false) the tool
- `toolId` (string, required): The ID of the built-in tool (e.g. 'delete_message', 'post_status')

### `neuron_bulk_toggle_builtin_tools` (~62 tokens)

Bulk Toggle Built-in Tools

Enable or disable multiple built-in tools at once for a bot. Pass an array of { toolId, enabled } settings.

Input parameters:

- `botId` (string, required): The ID of the bot
- `settings` (array, required): Array of tool settings to apply

### `neuron_create_outbound_webhook` (~138 tokens)

Create Outbound Webhook

Create a new outbound webhook that fires HTTP requests when bot events occur. Events: message.created, message.assistant, conversation.created, conversation.escalated, conversation.closed, bot.paused, bot.resumed.

Input parameters:

- `botId` (string, required): The ID of the bot to create the outbound webhook for
- `eventTypes` (array, required): Which events should trigger this webhook
- `filterPrompt` (string): Optional LLM prompt to filter which events are sent (e.g. only forward escalations)
- `name` (string, required): Name of the webhook
- `url` (string, required): The URL to send webhook events to

### `neuron_list_outbound_webhooks` (~42 tokens)

List Outbound Webhooks

List all outbound webhooks configured for a specific bot

Input parameters:

- `botId` (string, required): The ID of the bot to list outbound webhooks for

### `neuron_update_outbound_webhook` (~74 tokens)

Update Outbound Webhook

Update an existing outbound webhook configuration

Input parameters:

- `eventTypes` (array): Updated event types
- `filterPrompt` (string): Updated filter prompt
- `id` (string, required): The ID of the outbound webhook to update
- `name` (string): Updated name
- `url` (string): Updated URL

### `neuron_delete_outbound_webhook` (~32 tokens)

Delete Outbound Webhook

Delete an outbound webhook

Input parameters:

- `id` (string, required): The ID of the outbound webhook to delete

### `neuron_get_outbound_webhook_logs` (~77 tokens)

Get Outbound Webhook Logs

Retrieve delivery logs for an outbound webhook to monitor and debug event delivery

Input parameters:

- `id` (string, required): The ID of the outbound webhook to get logs for
- `limit` (number): Number of logs per page (default: 20)
- `page` (number): Page number for pagination (default: 1)

### `neuron_list_contacts` (~76 tokens)

List Contacts

List contacts with optional filtering by search term, tag, and pagination

Input parameters:

- `limit` (integer): Number of contacts per page
- `page` (integer): Page number for pagination
- `search` (string): Search term to filter contacts by name, phone, or email
- `tag` (string): Filter contacts by tag

### `neuron_search_contacts` (~34 tokens)

Search Contacts

Search contacts by a query string across name, phone, and email fields

Input parameters:

- `q` (string, required): Search query string

### `neuron_get_contact` (~32 tokens)

Get Contact

Get detailed information about a specific contact by ID

Input parameters:

- `id` (string, required): The unique identifier of the contact

### `neuron_create_contact` (~91 tokens)

Create Contact

Create a new contact. If notes are provided, they are saved as a structured note entry with source tracking.

Input parameters:

- `email` (string): Email address of the contact
- `name` (string, required): Full name of the contact
- `notes` (string): Additional notes about the contact
- `phone` (string, required): Phone number of the contact
- `tags` (array): Tags to categorize the contact

### `neuron_update_contact` (~112 tokens)

Update Contact

Update an existing contact. If notes are provided, they are added as a new structured note entry (does not overwrite existing notes).

Input parameters:

- `email` (string): New email address for the contact
- `id` (string, required): The unique identifier of the contact to update
- `name` (string): New name for the contact
- `notes` (string): New notes about the contact
- `phone` (string): New phone number for the contact
- `tags` (array): New tags for the contact

### `neuron_delete_contact` (~36 tokens)

Delete Contact

Permanently delete a contact. This action cannot be undone.

Input parameters:

- `id` (string, required): The unique identifier of the contact to delete

### `neuron_export_contacts` (~16 tokens)

Export Contacts

Export all contacts from the system

### `neuron_import_contacts` (~34 tokens)

Import Contacts

Import multiple contacts at once. Provide an array of contact objects.

Input parameters:

- `contacts` (array, required): Array of contacts to import

### `neuron_populate_contacts` (~19 tokens)

Populate Contacts

Populate contacts with additional data from connected channels

### `neuron_sync_whatsapp_contacts` (~24 tokens)

Sync WhatsApp Contacts

Synchronize contacts from connected WhatsApp channels into the contacts database

### `neuron_semantic_search_contacts` (~98 tokens)

Semantic Search Contacts

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 relevance scores and AI-generated match reasons.

Input parameters:

- `limit` (integer): Maximum number of results to return (default 10, max 20)
- `query` (string, required): Natural language search query (e.g. 'who can deliver to Lagos on Monday?')

### `neuron_audio_contact` (~74 tokens)

Extract Contact from Audio

Transcribe an audio recording and extract contact information (name, phone, email, notes, tags). Auto-saves the contact. Provide base64-encoded audio data.

Input parameters:

- `audioBase64` (string, required): Base64-encoded audio data
- `audioFormat` (string): Audio format hint (default: webm)

### `neuron_list_contact_lists` (~71 tokens)

List Contact Lists

List all contact lists with optional search, type filter, and pagination

Input parameters:

- `limit` (integer): Items per page
- `page` (integer): Page number
- `search` (string): Search by name or slug
- `type` (string): Filter by type: static, dynamic, merged

### `neuron_get_contact_list` (~40 tokens)

Get Contact List

Get a contact list by ID or slug, including member count

Input parameters:

- `idOrSlug` (string, required): The list ID (UUID) or slug

### `neuron_create_contact_list` (~132 tokens)

Create Contact List

Create a new contact list. Slug is auto-generated from name if not provided. For dynamic lists, provide criteria with rules and/or aiPrompt.

Input parameters:

- `criteria` (object): For dynamic lists: { rules?: { operator, conditions }, aiPrompt?, aiMaxResults? }
- `description` (string): Optional description
- `name` (string, required): Display name for the list
- `refreshSchedule` (string): Refresh schedule for dynamic lists (default: manual)
- `slug` (string): URL-friendly identifier (auto-generated if omitted)
- `type` (string): List type (default: static)

### `neuron_update_contact_list` (~104 tokens)

Update Contact List

Update a contact list's name, slug, description, criteria, or refresh schedule

Input parameters:

- `criteria`: For dynamic lists: criteria rules/AI prompt. Set to null to clear.
- `description` (string): New description
- `idOrSlug` (string, required): The list ID (UUID) or slug
- `name` (string): New name
- `refreshSchedule` (string): Refresh schedule for dynamic lists
- `slug` (string): New slug

### `neuron_delete_contact_list` (~45 tokens)

Delete Contact List

Delete a contact list. System lists (like 'Do Not Contact') cannot be deleted.

Input parameters:

- `idOrSlug` (string, required): The list ID (UUID) or slug

### `neuron_get_contact_list_members` (~71 tokens)

Get Contact List Members

List members of a contact list with search and pagination

Input parameters:

- `idOrSlug` (string, required): The list ID (UUID) or slug
- `limit` (integer): Items per page
- `page` (integer): Page number
- `search` (string): Search members by name or phone

### `neuron_add_to_contact_list` (~62 tokens)

Add to Contact List

Add contacts to a list by contact ID or phone number. Phone numbers without existing contacts are auto-created as minimal contacts.

Input parameters:

- `entries` (array, required): Contacts to add
- `idOrSlug` (string, required): The list ID (UUID) or slug

### `neuron_remove_from_contact_list` (~51 tokens)

Remove from Contact List

Remove contacts from a list by their contact IDs

Input parameters:

- `contactIds` (array, required): Contact UUIDs to remove
- `idOrSlug` (string, required): The list ID (UUID) or slug

### `neuron_merge_contact_lists` (~99 tokens)

Merge Contact Lists

Create a new list by merging multiple source lists. Window merge creates a virtual union; materialized merge creates a static copy.

Input parameters:

- `mergeType` (string, required): Merge type: window (virtual union) or materialized (static copy)
- `name` (string, required): Name for the merged list
- `slug` (string): Optional slug for the merged list
- `sourceListIds` (array, required): IDs or slugs of lists to merge

### `neuron_find_contact_lists_for_contact` (~33 tokens)

Find Contact Lists for Contact

Find which contact lists a specific contact belongs to

Input parameters:

- `contactId` (string, required): The contact UUID

### `neuron_refresh_contact_list` (~53 tokens)

Refresh Contact List

Trigger a refresh of a dynamic contact list. Re-evaluates criteria rules and/or AI prompt, materializes updated members.

Input parameters:

- `idOrSlug` (string, required): The dynamic list ID (UUID) or slug

### `neuron_list_broadcasts` (~68 tokens)

List Broadcasts

List all broadcasts with optional filtering by status and pagination

Input parameters:

- `limit` (integer): Number of broadcasts per page
- `page` (integer): Page number for pagination
- `status` (string): Filter by broadcast status (e.g., 'draft', 'sent', 'scheduled')

### `neuron_create_broadcast` (~161 tokens)

Create Broadcast

Create a new broadcast message. Provide recipients directly OR use recipientSources to resolve from contact lists. Channel is auto-resolved if not specified.

Input parameters:

- `channelId` (string): ID of the WhatsApp channel (optional — auto-resolved if omitted)
- `mediaUrl` (string): URL of media to attach (for image/document message types)
- `message` (string, required): The message content to broadcast
- `messageType` (string): Type of message (e.g., 'text', 'image', 'document')
- `name` (string, required): Name/label for the broadcast
- `recipientSources` (object): Resolve recipients from contact lists, with filtering and exclusion
- `recipients` (array): Direct list of recipients (alternative to recipientSources)

### `neuron_get_broadcast` (~33 tokens)

Get Broadcast

Get detailed information about a specific broadcast by ID

Input parameters:

- `id` (string, required): The unique identifier of the broadcast

### `neuron_get_broadcast_recipients` (~74 tokens)

Get Broadcast Recipients

Get the list of recipients for a specific broadcast with delivery status

Input parameters:

- `id` (string, required): The unique identifier of the broadcast
- `limit` (integer): Number of recipients per page
- `page` (integer): Page number for pagination
- `status` (string): Filter by recipient delivery status

### `neuron_update_broadcast` (~79 tokens)

Update Broadcast

Update an existing broadcast's details (before sending)

Input parameters:

- `id` (string, required): The unique identifier of the broadcast to update
- `mediaUrl` (string): New media URL
- `message` (string): New message content
- `messageType` (string): New message type
- `name` (string): New name for the broadcast

### `neuron_delete_broadcast` (~35 tokens)

Delete Broadcast

Delete a broadcast. This action cannot be undone.

Input parameters:

- `id` (string, required): The unique identifier of the broadcast to delete

### `neuron_send_broadcast` (~41 tokens)

Send Broadcast

Send a broadcast to all its recipients. The broadcast must be in draft status.

Input parameters:

- `id` (string, required): The unique identifier of the broadcast to send

### `neuron_get_billing` (~26 tokens)

Get Billing Info

Get the current billing information, subscription status, and usage details for the organization

### `neuron_checkout` (~35 tokens)

Checkout Subscription

Start a checkout session for a subscription plan. Returns a checkout URL or confirmation.

Input parameters:

- `plan` (string, required): Subscription plan to purchase

### `neuron_cancel_subscription` (~28 tokens)

Cancel Subscription

Cancel the current active subscription. The subscription will remain active until the end of the billing period.

### `neuron_upload_media` (~99 tokens)

Upload Media

Upload a media file (image, document, audio, video) by providing its base64-encoded content. Returns a URL that can be used in messages and broadcasts.

Input parameters:

- `base64` (string, required): Base64-encoded file content
- `filename` (string, required): Original filename including extension (e.g., 'photo.jpg')
- `mimetype` (string, required): MIME type of the file (e.g., 'image/jpeg', 'application/pdf')

### `neuron_rewrite_text` (~74 tokens)

Rewrite Text

Use AI to rewrite or transform text based on an optional instruction (e.g., make it more formal, translate, summarize)

Input parameters:

- `instruction` (string): Instructions for how to rewrite the text (e.g., 'make it more professional', 'translate to Spanish')
- `text` (string, required): The text to rewrite

### `neuron_list_campaigns` (~51 tokens)

List Campaigns

List your organization's campaigns with optional status filter

Input parameters:

- `limit` (integer)
- `page` (integer)
- `status` (string): Filter by status: draft, active, completed, etc.

### `neuron_get_campaign` (~26 tokens)

Get Campaign

Get detailed information about a specific campaign

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_campaign_marketplace` (~35 tokens)

Browse Campaign Marketplace

Browse available campaigns that you can join and earn from

Input parameters:

- `limit` (integer)
- `page` (integer)

### `neuron_create_campaign` (~135 tokens)

Create Campaign

Create a new draft campaign. Requires Pro or Business plan.

Input parameters:

- `deadline` (string, required): Campaign deadline (ISO date)
- `description` (string): Campaign description for marketplace listing
- `guidelines` (string): Guidelines for participants
- `message` (string, required): The WhatsApp message to send
- `requireMutualContact` (boolean): Only allow sends to contacts who have responded
- `rewardPerDelivery` (number, required): Reward per delivery in kobo (e.g. 5000 = ₦50)
- `title` (string, required): Campaign title
- `totalBudget` (number, required): Total campaign budget in kobo

### `neuron_update_campaign` (~117 tokens)

Update Campaign

Update a draft or rejected campaign

Input parameters:

- `deadline` (string): Campaign deadline (ISO date)
- `description` (string): Campaign description
- `guidelines` (string): Guidelines for participants
- `id` (string, required): Campaign ID
- `message` (string): The WhatsApp message to send
- `requireMutualContact` (boolean)
- `rewardPerDelivery` (number): Reward per delivery in kobo
- `title` (string): Campaign title
- `totalBudget` (number): Total campaign budget in kobo

### `neuron_delete_campaign` (~23 tokens)

Delete Campaign

Delete a draft campaign

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_submit_campaign` (~26 tokens)

Submit Campaign for Review

Submit a draft campaign for admin review

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_fund_campaign` (~28 tokens)

Fund Campaign

Fund an approved campaign from your wallet balance

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_join_campaign` (~47 tokens)

Join Campaign

Join a campaign from the marketplace to earn rewards by sending messages

Input parameters:

- `channelId` (string, required): Your WhatsApp channel ID to send from
- `id` (string, required): Campaign ID

### `neuron_get_eligible_contacts` (~38 tokens)

Get Eligible Contacts

Get contacts eligible for receiving a campaign message (respects dedup and mutual contact rules)

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_send_campaign_message` (~43 tokens)

Send Campaign Messages

Send the campaign message to selected eligible contacts

Input parameters:

- `contactIds` (array, required): Array of contact IDs to send to
- `id` (string, required): Campaign ID

### `neuron_my_participations` (~34 tokens)

My Campaign Participations

List campaigns you have joined as a participant

Input parameters:

- `limit` (integer)
- `page` (integer)

### `neuron_campaign_participants` (~27 tokens)

List Campaign Participants

List participants of a campaign you own

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_pause_campaign` (~23 tokens)

Pause Campaign

Pause an active campaign

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_resume_campaign` (~23 tokens)

Resume Campaign

Resume a paused campaign

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_stop_campaign` (~29 tokens)

Stop Campaign

Stop an active campaign and refund remaining budget to wallet

Input parameters:

- `id` (string, required): Campaign ID

### `neuron_wallet_balance` (~15 tokens)

Wallet Balance

Check your organization's wallet balance

### `neuron_wallet_transactions` (~46 tokens)

Wallet Transactions

List wallet transaction history with optional type filter

Input parameters:

- `limit` (integer)
- `page` (integer)
- `type` (string): Filter by type: credit, debit

### `neuron_fund_wallet` (~60 tokens)

Fund Wallet

Initialize wallet funding via Paystack. Returns a checkout URL to complete payment.

Input parameters:

- `amount` (integer, required): Amount in kobo (e.g. 500000 = ₦5,000)
- `email` (string, required): Email for payment receipt

### `neuron_verify_wallet_funding` (~32 tokens)

Verify Wallet Funding

Verify a wallet funding transaction by Paystack reference

Input parameters:

- `reference` (string, required): Paystack payment reference

### `neuron_verify_bank_account` (~54 tokens)

Verify Bank Account

Verify a Nigerian bank account number via Paystack

Input parameters:

- `accountNumber` (string, required): 10-digit bank account number
- `bankCode` (string, required): Bank code (e.g. '058' for GTBank)

### `neuron_save_bank_account` (~74 tokens)

Save Bank Account

Save a verified bank account for payouts

Input parameters:

- `accountName` (string, required): Account holder name from verification
- `accountNumber` (string, required): 10-digit account number
- `bankCode` (string, required): Bank code
- `bankName` (string, required): Bank name (e.g. 'Guaranty Trust Bank')

### `neuron_get_bank_account` (~18 tokens)

Get Bank Account

Get the saved bank account for payouts

### `neuron_request_payout` (~46 tokens)

Request Payout

Request a payout from your wallet to your saved bank account

Input parameters:

- `amount` (integer, required): Amount in kobo (e.g. 100000 = ₦1,000)

### `neuron_list_payouts` (~29 tokens)

List Payouts

List payout history

Input parameters:

- `limit` (integer)
- `page` (integer)

### `neuron_create_blog_post` (~138 tokens)

Create Blog Post

Create a new blog post (draft or published)

Input parameters:

- `authorType` (string, required): Author type
- `content` (string, required): Post content (markdown)
- `coverImageUrl` (string): Cover image URL (optional)
- `excerpt` (string): Short summary (optional)
- `seoDescription` (string): Meta description (optional)
- `seoKeywords` (array): SEO keywords (optional)
- `seoTitle` (string): SEO title override (optional)
- `status` (string): Post status
- `tags` (array): Tag names or slugs
- `title` (string, required): Post title (max 500 chars)

### `neuron_list_blog_posts` (~80 tokens)

List Blog Posts

List blog posts with filters

Input parameters:

- `authorId` (string): Filter by author UUID
- `authorType` (string): Filter by author type
- `limit` (number): Results per page
- `page` (number): Page number
- `status` (string): Filter by status
- `tag` (string): Filter by tag slug

### `neuron_get_blog_post` (~26 tokens)

Get Blog Post

Get a blog post by slug

Input parameters:

- `slug` (string, required): Post slug

### `neuron_update_blog_post` (~103 tokens)

Update Blog Post

Update an existing blog post

Input parameters:

- `content` (string): Post content
- `coverImageUrl` (string): Cover image URL
- `excerpt` (string): Short summary
- `id` (string, required): Post UUID
- `seoDescription` (string): Meta description
- `seoKeywords` (array): SEO keywords
- `seoTitle` (string): SEO title
- `status` (string): Post status
- `title` (string): Post title

### `neuron_delete_blog_post` (~24 tokens)

Delete Blog Post

Delete a blog post

Input parameters:

- `id` (string, required): Post UUID

### `neuron_publish_blog_post` (~24 tokens)

Publish Blog Post

Publish a draft post

Input parameters:

- `id` (string, required): Post UUID

### `neuron_list_newsletters` (~69 tokens)

List Newsletters

List all WhatsApp Channel newsletters for the organization. Optionally filter by WhatsApp session channel ID.

Input parameters:

- `channelId` (string): Filter newsletters by WhatsApp session channel ID
- `limit` (integer): Number of items per page
- `page` (integer): Page number for pagination

### `neuron_create_newsletter` (~74 tokens)

Create Newsletter

Create a new WhatsApp Channel (newsletter) for one-way broadcast updates. Requires a connected Baileys session.

Input parameters:

- `channelId` (string, required): The WhatsApp session channel ID to create the newsletter on
- `description` (string): Description of the newsletter
- `name` (string, required): Name of the newsletter

### `neuron_get_newsletter` (~33 tokens)

Get Newsletter

Get details of a specific WhatsApp Channel newsletter

Input parameters:

- `id` (string, required): The unique identifier of the newsletter

### `neuron_update_newsletter` (~61 tokens)

Update Newsletter

Update the name or description of a WhatsApp Channel newsletter

Input parameters:

- `description` (string): New description for the newsletter
- `id` (string, required): The unique identifier of the newsletter to update
- `name` (string): New name for the newsletter

### `neuron_delete_newsletter` (~38 tokens)

Delete Newsletter

Delete a WhatsApp Channel newsletter. This action cannot be undone.

Input parameters:

- `id` (string, required): The unique identifier of the newsletter to delete

### `neuron_post_to_newsletter` (~111 tokens)

Post to Newsletter

Post a message (text, image, video, or document) to a WhatsApp Channel newsletter. All subscribers will receive the message. Provide at least one of text or mediaUrl.

Input parameters:

- `id` (string, required): The unique identifier of the newsletter
- `mediaUrl` (string): URL of the media file to attach (image, video, or document)
- `messageType` (string): The type of message to send
- `text` (string): The message text or caption to post

### `neuron_refresh_newsletter` (~46 tokens)

Refresh Newsletter

Re-fetch metadata (name, description, subscriber count) for a WhatsApp Channel newsletter from WhatsApp

Input parameters:

- `id` (string, required): The unique identifier of the newsletter to refresh

### `neuron_sync_newsletters` (~51 tokens)

Sync Newsletters

Sync/import WhatsApp Channels from a connected WhatsApp session into Neuron. This discovers channels created outside Neuron.

Input parameters:

- `channelId` (string, required): The WhatsApp session channel ID to sync newsletters from

### `neuron_browse_list_pool` (~91 tokens)

Browse List Pool

Browse verified contact lists available in the marketplace pool. Filter by category or region.

Input parameters:

- `category` (string): Filter by category (e.g., 'delivery', 'tech', 'consumers')
- `limit` (number): Items per page
- `page` (number): Page number
- `region` (string): Filter by region
- `search` (string): Search by description or category

### `neuron_submit_to_list_pool` (~108 tokens)

Submit List to Pool

Submit a contact list to the marketplace pool for advertisers to use.

Input parameters:

- `category` (string, required): Category (e.g., 'delivery', 'tech', 'consumers')
- `channelId` (string, required): WhatsApp channel ID for sending
- `demographics` (object): Demographic information
- `description` (string): Description of the audience
- `listId` (string, required): Contact list ID to submit
- `pricePerDelivery` (number, required): Price per delivery in kobo

### `neuron_create_ad_request` (~110 tokens)

Create Ad Request

Create an ad request to distribute a message to contacts in pool lists matching target demographics.

Input parameters:

- `budget` (number, required): Total budget in kobo
- `mediaUrl` (string): Media URL for non-text messages
- `message` (string, required): The ad message content
- `messageType` (string): Message type (text, image, video, document)
- `targetDemographics` (object, required): Demographics to match against pool entries
- `targetGoal` (number, required): Target number of deliveries

### `neuron_list_ad_requests` (~58 tokens)

List Ad Requests

List your ad requests with optional status filter.

Input parameters:

- `limit` (number)
- `page` (number)
- `status` (string): Filter by status (draft, pending_review, approved, active, paused, completed, rejected)

### `neuron_get_ad_request_analytics` (~35 tokens)

Get Ad Request Analytics

Get delivery analytics and breakdown for an ad request.

Input parameters:

- `adRequestId` (string, required): The ad request ID

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/conquext-neuron/neuron-mcp-server#diagnostics

## Score history

- 2026-08-03: 59
- 2026-08-02: 31
- 2026-08-01: 16
- 2026-07-31: 0
- 2026-07-30: 40
- 2026-07-28: 40
- 2026-07-27: 40

## Links

- npm package: https://www.npmjs.com/package/neuron-mcp-server
- Socket report: https://socket.dev/npm/package/neuron-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/conquext-neuron/neuron-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/conquext-neuron/neuron-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/conquext-neuron/neuron-mcp-server
