{"server":{"name":"io.github.conquext/neuron","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://mcp.neuron.ng/mcp","type":"streamable-http"}],"version":"1.0.2","packages":[{"version":"1.0.1","transport":{"type":"stdio"},"identifier":"neuron-mcp-server","registryType":"npm"}],"repository":{"url":"https://github.com/conquext/neuron","source":"github"},"description":"AI-powered WhatsApp chatbot platform with 196 tools for bots, campaigns, and contacts."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-06-28T20:11:26.831358Z","publishedAt":"2026-06-28T20:11:26.831358Z","statusChangedAt":"2026-06-28T20:11:26.831358Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://mcp.neuron.ng/mcp","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":false},"health":{"reachable":true,"uptime_30d":0.9915254,"latency_ms_p50":470,"consecutive_failures":0,"last_probe_at":"2026-10-20T04:39:59.117Z","last_ok_at":"2026-10-20T04:39:59.117Z"}}],"packages":[{"idx":0,"registry_type":"npm","identifier":"neuron-mcp-server","version":"1.0.1","runtime_hint":null,"transport":"stdio","secrets":[],"requires_execution":true}]},"dev.protogrid/tools":[{"name":"neuron_add_bot_channel","title":"Add Bot Channel","description":"Connect an additional WhatsApp channel to a bot as a secondary number. The bot will respond to messages on this channel.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_add_group_members","title":"Add Members to Group","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_add_notify_recipient","title":"Add Outside Email Notification Address","description":"Add an email address outside the team that flows may notify. Neuron emails it a confirmation link; flows can only email it after the person confirms. Owners and admins only.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_add_product_codes","title":"Add Product Codes","description":"Add more unique codes/keys to a 'pool' code product's stock. Each buyer receives one. Returns the product with the new remaining count.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_add_to_contact_list","title":"Add to Contact List","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_add_to_instagram_list","title":"Add to Instagram List","description":"Add Instagram usernames to a list (with or without @, up to 1,000). Their Instagram id is filled in the first time they DM or comment, so the list keeps matching after a rename. Returns added / invalid.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_add_tool_secret","title":"Add Tool Secret","description":"Store or update a secret credential (API key, token, etc.) for a custom tool integration. Secrets are encrypted at rest.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_apply_persona_to_bot","title":"Apply Persona Voice to Bot","description":"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 persona id.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_apply_to_sell","title":"Apply to Sell","description":"Apply for seller access (digital products). Requires a Pro plan or higher; a platform admin then grants access.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_approve_reflection","title":"Approve Reflection","description":"Approve a bot-generated reflection to incorporate the learned insight into the bot's future behavior and responses.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_assign_bot_to_channel","title":"Assign Bot to Channel","description":"Assign a bot to handle incoming messages on a specific WhatsApp channel. Replaces any previously assigned bot.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_assign_bot_to_social_channel","title":"Assign Bot to Social Channel","description":"Set the bot for a social media channel. A channel has one bot: it answers the channel's DMs and can use the channel's credentials for social media actions. Assigning replaces the channel's current bot (the response's replacedBotId says which).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_attach_knowledge_base","title":"Attach Knowledge Base","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_audio_contact","title":"Extract Contact from Audio","description":"Transcribe an audio recording and extract contact information (name, phone, email, notes, tags). Automatically saves the extracted contact to the organization's address book.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_block_contact","title":"Block Contact","description":"Block a WhatsApp contact. Blocked contacts cannot message the bot or see its profile.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_bot_api_chat","title":"Bot API Chat","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_bot_api_get_bot","title":"Bot API Get Bot","description":"Retrieve configuration and status information about the bot associated with the provided API key.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_bot_api_get_messages","title":"Bot API Get Messages","description":"Retrieve message history for a specific conversation with cursor-based pagination. Requires a valid API key.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_bot_api_list_conversations","title":"Bot API List Conversations","description":"Retrieve a paginated list of conversations managed by the bot. Supports filtering by conversation status. Requires a valid API key.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_bot_api_send","title":"Bot API Send","description":"Send an outbound message through the bot API to a specified phone number. Supports text and media messages. Requires a valid API key.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_browse_list_pool","title":"Browse List Pool","description":"Browse verified contact lists available in the shared marketplace pool. Filter by category, region, or search term.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_browse_pool","title":"Browse Pool","description":"Browse the shared marketplace pool of published bots, tools, knowledge bases, and reflections with optional filtering by type, category, tags, or search query.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_build_persona","title":"Build Persona from Collection","description":"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) + representative exemplars. Requires the collection to have >=3 usable samples. Runs an LLM call (a few seconds).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_build_persona_from_conversation","title":"Build Persona from WhatsApp Chat","description":"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), 'bot', or 'any'. For a group chat, pass senderName/senderPhone to isolate one participant. Requires >=3 usable text messages. Runs an LLM call.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_build_persona_from_text","title":"Build Persona from Text","description":"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 it reverse-engineers a voiceProfile (tone, diction, cadence, emoji/formatting habits, themes, dos/donts) + exemplars. Provide `text` (auto-split into samples) and/or `samples` (already-split). Runs an LLM call (a few seconds).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_bulk_toggle_builtin_tools","title":"Bulk Toggle Built-in Tools","description":"Enable or disable multiple built-in tools at once for a bot. More efficient than toggling tools individually.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_campaign_marketplace","title":"Browse Campaign Marketplace","description":"Browse available campaigns in the marketplace that your organization can join to earn rewards by sending messages.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_campaign_participants","title":"List Campaign Participants","description":"Retrieve all participants who have joined a campaign you own, including their delivery counts and earned rewards.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_cancel_approval","title":"Cancel Approval","description":"Cancel a still-pending approval (e.g. the upstream action was aborted). Fires the approval.cancelled callback. Requires a bot API key.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_cancel_booking","title":"Cancel Booking","description":"Cancel a confirmed or pending booking. Sends cancellation notifications to the invitee.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_cancel_flow_run","title":"Cancel Flow Run","description":"Cancel a running or waiting flow execution. Steps already completed are not rolled back.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_cancel_scheduled_message","title":"Cancel Scheduled Message","description":"Cancel a scheduled message to prevent it from being sent. Only messages with status 'scheduled' can be cancelled. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_cancel_subscription","title":"Cancel Subscription","description":"Cancel the current active subscription. Access continues until the end of the current billing period.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_checkout","title":"Checkout Subscription","description":"Initiate a checkout session for a subscription plan upgrade. Returns a checkout URL or confirmation to complete the purchase.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_clear_chat","title":"Clear Chats","description":"Delete messages (and their media) from chats; the conversations stay, empty. Chats a human is currently handling, or that a flow is waiting on, are skipped. Only Neuron's copy — nothing is deleted from WhatsApp. DRY RUN by default. To clear without picking conversations, pass execute: true AND confirmChats equal to the number of chats from the preview. Irreversible.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_clear_media","title":"Clear Chat Media","description":"Remove media files (photos, videos, voice notes, documents) from chats while keeping the messages and captions; chats show 'Media removed'. Only Neuron's copy — nothing is deleted from WhatsApp. DRY RUN by default: returns how many messages/files/bytes would go. Pass execute: true to run it (irreversible).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_close_conversation","title":"Close Conversation","description":"Close an active conversation, marking it as completed. The bot will stop responding and the conversation is archived.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_complete_booking","title":"Complete Booking","description":"Mark a confirmed booking as completed (e.g. after the meeting has happened).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_compose_message","title":"Compose Message","description":"Compose and send a new message to a phone number via a specific channel. Automatically creates a new conversation if one does not exist.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_confirm_booking","title":"Confirm Booking","description":"Confirm a pending booking. Only works on bookings with status 'pending'.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_convert_lead","title":"Convert Lead to Contact","description":"Promote a phone-bearing lead into a contact (so it can be messaged / added to lists). Optionally add the new contact to a list.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_ad_request","title":"Create Ad Request","description":"Create an ad distribution request to send a message to contacts in pool lists matching target demographics. Deducts from wallet upon approval.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_api_key","title":"Create API Key","description":"Create a new API key for programmatic access to a specific bot. Store the key securely as it cannot be retrieved later.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_blog_post","title":"Create Blog Post","description":"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 (heroes, columns, callouts, code cards, embeds, CTAs, sanitized custom HTML). Prefer `blocks` for rich, magazine-style layouts; use `content` for simple prose. If both are given, `blocks` renders and `content` is kept as a fallback.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_bot","title":"Create Bot","description":"Create a new AI bot with specified name, model, and behavior instructions. Returns the created bot object.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_broadcast","title":"Create Broadcast","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_calendar","title":"Create Calendar","description":"Create a new booking calendar with a name, timezone, and visibility setting.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_campaign","title":"Create Campaign","description":"Create a new outreach campaign with target audience, messaging template, and schedule configuration. Requires a Pro or Business plan.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_channel","title":"Create Channel","description":"Create a new WhatsApp channel with either Meta Cloud API or Baileys (direct WhatsApp) integration. Meta Cloud channels require metaPhoneNumberId and metaAccessToken.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_contact","title":"Create Contact","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_contact_list","title":"Create Contact List","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_event","title":"Create Calendar Event","description":"Create a host-initiated event on a calendar. Supports attendees (with WhatsApp/email invitations), location, and daily/weekly/monthly recurrence.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_event_type","title":"Create Event Type","description":"Create a bookable event type on a calendar (e.g. '30-min consultation').","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_flow","title":"Create Flow","description":"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.\n\nBEFORE BUILDING: call neuron_get_flow_catalog and read its `reference` — it carries the JSON shapes you cannot guess: the ConditionGroup + operator list for branch/filter/switch conditions, the `cases`/`assignments`/`weekdays` composite shapes, the handle wiring map, and copy-ready `examples`. Condition `field` on a logic node must be a {{template}} (e.g. '{{trigger.text}}'); on a trigger's config.conditions it is a raw payload path (e.g. 'text').\n\nAFTER SAVING: the flow always saves, but the response includes a `warnings` array flagging likely bugs (unknown node type, missing required field, malformed conditions/cases/assignments, edges wired to a handle a node never emits, missing trigger). Always check it and fix any warnings — a warning means that part will silently no-op at run time.\n\nTEMPLATE RESOLUTION: Node config values support {{…}} templates resolved at runtime:\n  {{trigger.text}} — the triggering message text\n  {{trigger.contactPhone}} — the sender's phone\n  {{trigger.senderName}} — the sender's name\n  {{vars.myVar}} — a variable set by logic.set_variable\n  {{nodes.n_abc.output.text}} — output from a previous node\n  {{= amount * 1.1 }} — inline expression (arithmetic, comparisons, ternary)\n\nERROR HANDLING: Any node's config can include __errorHandling: { continueOnFail: true, retryCount: 3, retryDelayMs: 1000 } to retry on failure with exponential backoff and/or continue on the 'error' handle instead of failing the run.\n\nWIRING RULES:\n  - logic.branch: 'true' and 'false' handles\n  - logic.switch / logic.ai_router: one handle per case id, plus 'default'\n  - logic.wait_for_reply: 'default' (replied) and 'timeout'\n  - logic.wait_for_approval: 'approved', 'rejected', 'timeout'\n  - logic.wait_first_of: 'reply', 'event', 'timeout'\n  - logic.loop: 'loop' (body) and 'done'\n  - action.lookup_contact: 'found' and 'not_found'\n  - action.call_flow: 'default' (returned), 'timeout', 'error'\n  - All other nodes: 'default' handle (or 'error' when continueOnFail is on)","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_group","title":"Create WhatsApp Group","description":"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. Optionally pass a unique `slug` to address the group later without its JID. Members blocked by privacy come back in the failed list. Uses the org's default connected session unless `channelId` is given.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_instagram_list","title":"Create Instagram List","description":"Create an Instagram list. Names are unique per organization (case-insensitive).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_kb_entry","title":"Create Knowledge Base Entry","description":"Add a new entry (note, document, or information piece) to a knowledge base.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_knowledge_base","title":"Create Knowledge Base","description":"Create a new knowledge base to store and organize information, documents, and entries.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_lead_source","title":"Create Lead Source","description":"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?}; csv {rows[]}; stream {triggerTaskId?} (fed by the ingest endpoint). Set scheduleKind cron/interval/once for recurring (schedule: cron {time,days?} / interval {everyMinutes} / once {runAt}).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_list_campaign","title":"Create List Campaign","description":"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 reached, and nobody is messaged twice per cycle. Multiple campaigns can run on the same or different lists concurrently. On exhaust, either stop or loop (start over after a cooldown).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_newsletter","title":"Create Newsletter","description":"Create a new WhatsApp Channel newsletter for one-way broadcast updates. Requires a connected Baileys session on the specified channel.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_outbound_webhook","title":"Create Outbound Webhook","description":"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, conversation.escalated, conversation.released, conversation.closed, bot.paused, bot.resumed.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_product","title":"Create Product","description":"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 its URL as deliveryFileUrl. On payment, Neuron confirms it and delivers the product to the buyer's WhatsApp automatically.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_sms_campaign","title":"Create SMS Campaign","description":"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 Neuron audience — budget required, sent over the bulk campaign route), or 'curated' (SMS-opted-in marketplace lists via poolEntryIds; the list owner earns ₦2/contact). After creating, call neuron_estimate_sms_campaign to price it, then neuron_send_sms_campaign. Requires SMS to be enabled by an admin and a configured provider.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_social_channel","title":"Create Social Channel","description":"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 tokens.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_task","title":"Create Bot Task","description":"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 follow-ups, etc.). Sends are always screened against Do-Not-Contact, a per-run cap, and a no-repeat window.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_tool","title":"Create Tool","description":"Create a custom API tool that the bot can invoke during conversations to fetch external data or trigger actions.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_create_webhook","title":"Create Webhook","description":"Register a new inbound webhook endpoint that triggers bot actions when called by an external service.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_ad_request","title":"Delete Ad Request","description":"Permanently delete a draft ad request. Only ad requests in draft status can be deleted.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_blog_post","title":"Delete Blog Post","description":"Permanently delete a blog post by its ID. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_bot","title":"Delete Bot","description":"Permanently delete a bot and all its associated data. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_broadcast","title":"Delete Broadcast","description":"Permanently delete a broadcast and its recipient data. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_calendar","title":"Delete Calendar","description":"Permanently delete a calendar and all its event types, bookings, and availability data.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_campaign","title":"Delete Campaign","description":"Permanently delete a campaign that is in 'draft' status. Active or funded campaigns cannot be deleted.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_channel","title":"Delete Channel","description":"Permanently delete a WhatsApp channel and disconnect any active sessions. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_contact","title":"Delete Contact","description":"Permanently delete a contact and remove them from all contact lists. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_contact_list","title":"Delete Contact List","description":"Permanently delete a contact list. System-protected lists (e.g., 'Do Not Contact') cannot be deleted.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_event","title":"Delete Calendar Event","description":"Delete a host-created event. For recurring events, use scope to control what gets deleted: 'single' (just this one), 'future' (this and all future), or 'all' (entire series).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_event_type","title":"Delete Event Type","description":"Permanently delete an event type and all its bookings.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_flow","title":"Delete Flow","description":"Soft-delete a flow. It stops running but can be restored for 30 days with neuron_restore_deleted_flow. Running executions are not cancelled.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_flow_run","title":"Delete Flow Run","description":"Permanently delete a completed, failed, or cancelled flow run and all its step data.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_instagram_list","title":"Delete Instagram List","description":"Delete an Instagram list and its members. Flows filtering on it stop matching anyone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_kb_entry","title":"Delete Knowledge Base Entry","description":"Permanently delete a specific entry from a knowledge base.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_knowledge_base","title":"Delete Knowledge Base","description":"Permanently delete a knowledge base and all its associated entries and documents.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_list_campaign","title":"Delete List Campaign","description":"Permanently delete a paced list campaign and its reached-set. Does not delete the contacts or the list.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_message","title":"Delete Message","description":"Permanently delete a specific message from a conversation. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_newsletter","title":"Delete Newsletter","description":"Permanently delete a WhatsApp Channel newsletter and remove it from WhatsApp. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_outbound_webhook","title":"Delete Outbound Webhook","description":"Permanently remove an outbound webhook. The external endpoint will no longer receive event notifications from this bot.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_override","title":"Delete Availability Override","description":"Remove a date-specific availability override, reverting to the default weekly hours.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_persona","title":"Delete Persona","description":"Delete a voice persona.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_product","title":"Delete Product","description":"Permanently delete a product. Existing orders are retained.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_sms_campaign","title":"Delete SMS Campaign","description":"Delete a draft SMS campaign. Only draft campaigns can be deleted.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_social_channel","title":"Delete Social Channel","description":"Permanently delete a social media channel and disconnect any active sessions. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_task","title":"Delete Bot Task","description":"Delete a scheduled task. This is a soft delete — the task stops running immediately.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_tool","title":"Delete Tool","description":"Permanently remove a custom API tool integration from a bot. The bot will no longer be able to invoke this tool in conversations.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_delete_webhook","title":"Delete Webhook","description":"Permanently remove an inbound webhook from a bot. External services will no longer be able to trigger this endpoint.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_deliver_order","title":"Deliver Order","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_detach_knowledge_base","title":"Detach Knowledge Base","description":"Remove a knowledge base from a bot. The bot will no longer reference this knowledge base when generating responses.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_download_media","title":"Download Media","description":"Prepare a zip of the workspace's chat media (one folder per chat), or get the download link of a finished one. Call without exportId to start an export; call with exportId to get a 10-minute download link once it's ready. Zips are kept for 72 hours.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_draft_task","title":"Draft Bot Task with AI","description":"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 after any edits.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_duplicate_product","title":"Duplicate Product","description":"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 copy with neuron_update_product, then set enabled: true to publish.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_edit_message","title":"Edit Message","description":"Edit the content of a previously sent message in a conversation. Only the message sender can edit their messages.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_enroll_members","title":"Enroll Membership Members","description":"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 the renewal + eviction cycle applies to them too. No order or revenue is booked. Each enrolled member gets a free first period (firstPeriodDays, or one normal interval by default), then renews like everyone else — reminder-only until they connect a Neuron account (no auto-charge). Existing members are left untouched (counted as skipped). Returns { enrolled, skipped, total }.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_estimate_sms_campaign","title":"Estimate SMS Campaign","description":"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.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_export_contacts","title":"Export Contacts","description":"Export all contacts as a downloadable dataset for the current organization.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_export_flow","title":"Export Flow","description":"Export a flow as a portable file (JSON with format \"neuron.flow\"). Credentials (auth headers, tokens, secret variable values) are blanked and listed in `redacted`. Pass the returned object to neuron_import_flow to copy the flow into this or another account.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_extract_leads","title":"Extract Leads (ad-hoc)","description":"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='text_paste', config={text}).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_find_contact_lists_for_contact","title":"Find Contact Lists for Contact","description":"Retrieve all contact lists that a specific contact belongs to.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_forward_message","title":"Forward Message","description":"Forward a WhatsApp message from one chat to another. Uses copy-send approach — the message content is re-sent to the destination.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_fund_ad_request","title":"Fund Ad Request","description":"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 instead of an error.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_fund_campaign","title":"Fund Campaign","description":"Fund an approved campaign by deducting the total budget from the organization's wallet balance. Requires sufficient wallet funds.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_fund_wallet","title":"Fund Wallet","description":"Initialize a wallet funding transaction via Paystack. Returns a checkout URL to complete the payment in a browser.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_generate_from_persona","title":"Generate Content in Voice","description":"Generate content written in the persona's voice for a topic/brief. Returns N variations. Stateless — nothing is persisted.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_ad_request","title":"Get Ad Request","description":"Get detailed information about a specific ad request, including pool selections if targeting mode is manual.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_ad_request_analytics","title":"Get Ad Request Analytics","description":"Retrieve delivery analytics and performance breakdown for a specific ad request, including delivery rates and cost metrics.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_approval","title":"Get Approval","description":"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.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_availability","title":"Get Availability","description":"Retrieve the default availability schedule (weekly hours + timezone) for a calendar.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_available_slots","title":"Get Available Slots","description":"Compute available time slots for an event type over a date range, accounting for availability, existing bookings, buffers, and Google Calendar busy times.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_bank_account","title":"Get Bank Account","description":"Retrieve the saved bank account details currently configured as the organization's payout destination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_billing","title":"Get Billing Info","description":"Retrieve the current billing information, subscription plan, and usage details for the organization.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_blocklist","title":"Get Blocklist","description":"Fetch the list of all blocked WhatsApp contacts for the bot on the given channel.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_blog_post","title":"Get Blog Post","description":"Retrieve a single blog post by its URL-friendly slug, including full content and metadata.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_booking","title":"Get Booking","description":"Retrieve details of a specific booking.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_bot","title":"Get Bot","description":"Retrieve detailed information about a specific bot including its configuration, status, and associated resources.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_bot_analytics","title":"Get Bot Analytics","description":"Retrieve analytics and usage statistics for a specific bot, including message counts, response times, and conversation metrics.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_broadcast","title":"Get Broadcast","description":"Retrieve detailed information about a specific broadcast, including its status, message content, and recipient summary.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_broadcast_recipients","title":"Get Broadcast Recipients","description":"Retrieve the paginated list of recipients for a specific broadcast with their individual delivery status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_business_profile","title":"Get Business Profile","description":"Fetch the WhatsApp Business profile of an external contact, including description, website, category, and business hours.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_calendar","title":"Get Calendar","description":"Retrieve details of a specific calendar by its ID.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_campaign","title":"Get Campaign","description":"Retrieve detailed information about a specific campaign including its status, budget, participants, and delivery metrics.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_channel","title":"Get Channel","description":"Retrieve detailed information about a specific WhatsApp channel, including its configuration, type, and connection status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_channel_events","title":"Get Channel Events","description":"Retrieve the event log for a channel, including connection events, message events, and errors. Supports pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_channel_qr","title":"Get Channel QR Code","description":"Retrieve the current QR code for pairing a Baileys channel with WhatsApp. A session must be started first.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_channel_status","title":"Get Channel Status","description":"Retrieve the current connection status and session details for a specific channel (e.g., connected, disconnected, qr_pending).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_collection","title":"Get a collection","description":"Fetch a collection's metadata by id.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_collection_items","title":"Browse collection items","description":"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 or distill into a persona).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_contact","title":"Get Contact","description":"Retrieve detailed information about a specific contact including their tags, notes, and associated lists.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_contact_list","title":"Get Contact List","description":"Retrieve detailed information about a specific contact list, including member count and configuration.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_contact_list_members","title":"Get Contact List Members","description":"Retrieve the members of a specific contact list with optional search filtering and pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_conversation","title":"Get Conversation","description":"Retrieve detailed information about a specific conversation, including its status, participants, and metadata.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_eligible_contacts","title":"Get Eligible Contacts","description":"Retrieve contacts eligible to receive a campaign message. Respects deduplication rules and mutual contact requirements.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_event_type","title":"Get Event Type","description":"Retrieve details of a specific event type.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_flow","title":"Get Flow","description":"Retrieve a single flow by id, including its full graph (nodes and edges), enabled status, and run stats.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_flow_catalog","title":"Get Flow Node Catalog","description":"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:\n  • `data`: every node type (all triggers, logic, and actions) with its config `fields` (including `options` enums and `required`), output `handles`, and `dynamicHandles`.\n  • `reference`: the authoring guide you need for anything non-trivial —\n      - `conditions`: the ConditionGroup JSON shape + the full operator vocabulary (used by branch/filter/switch/loop and trigger filters). Note: on LOGIC nodes a rule's `field` is a {{template}}; on a TRIGGER's config.conditions it is a raw payload path.\n      - `compositeFields`: the exact JSON for field kinds the flat schema can't express — `cases` (switch), `assignments` (set_fields), `weekdays`, and the delay amount/unit note.\n      - `triggerConditions`: every trigger also accepts an optional config.conditions AND/OR filter over the raw event payload.\n      - `templating`, `errorHandling` (__errorHandling), `handles` (wiring map), and `examples` (simple, branching AND/OR, and complex switch+set_fields+expression graphs to imitate).\nThe catalog is grouped by kind: trigger (entry points), logic (routing/waits/data), action (side effects). There are dozens of node types — read `data` for the authoritative list rather than assuming.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_flow_revision","title":"Get Flow Revision","description":"Get one saved version of a flow with its full graph, to compare with the current flow before restoring.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_flow_run","title":"Get Flow Run","description":"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 — see exactly what happened at each step.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_group_invite_link","title":"Get Group Invite Link","description":"Get the invite link for a WhatsApp group. Only supported on Baileys channels where the bot is a group admin.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_group_participants","title":"Get Group Participants","description":"Retrieve the list of participants in a specific WhatsApp group accessible through a channel.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_instagram_chat_menu","title":"Get Instagram Greeting Prompts & Menu","description":"Read an Instagram channel's greeting prompts (ice breakers: up to 4 questions shown when someone opens an empty chat) and its persistent chat menu. Only for accounts connected with Instagram login (authMethod official).","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_instagram_list_members","title":"Get Instagram List Members","description":"Page through an Instagram list's members (username, Instagram id once known, how they were added).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_kb_import_status","title":"Get Knowledge Import Status","description":"Progress of a WhatsApp chat import: state (queued/running/done/stopped/failed), messages read, listings created/updated, listings skipped because their date had passed.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_knowledge_base","title":"Get Knowledge Base","description":"Retrieve detailed information about a specific knowledge base by its ID.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_list_campaign","title":"Get List Campaign","description":"Get a paced list campaign with live progress: how many members have been reached this cycle, the current list size, and how many remain.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_messages","title":"Get Conversation Messages","description":"Retrieve messages from a specific conversation in chronological order, with optional cursor-based pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_newsletter","title":"Get Newsletter","description":"Retrieve detailed information about a specific WhatsApp Channel newsletter, including subscriber count and metadata.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_organization","title":"Get Organization","description":"Retrieve detailed information about a specific organization, including its name, settings, and configuration.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_outbound_webhook_logs","title":"Get Outbound Webhook Logs","description":"Retrieve delivery logs for an outbound webhook to monitor event dispatch history and debug delivery failures.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_persona","title":"Get Persona","description":"Get one voice persona (full voiceProfile + exemplars).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_pool_item","title":"Get Pool Item","description":"Retrieve detailed information about a specific item in the marketplace pool, including its description, category, tags, and install count.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_privacy_settings","title":"Get Privacy Settings","description":"Fetch the bot's current WhatsApp privacy settings (last seen, online, profile picture, status, read receipts, groups add).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_product","title":"Get Product","description":"Get a single product by id, with its public URL and fee breakdown.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_profile","title":"Get User Profile","description":"Retrieve the authenticated user's profile information including name, email, role, and current organization.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_scheduled_message","title":"Get Scheduled Message","description":"Retrieve detailed information about a specific scheduled message, including its status, send time, and message content.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_sms_campaign","title":"Get SMS Campaign","description":"Retrieve a single SMS campaign with its status and delivery counters.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_social_channel","title":"Get Social Channel","description":"Retrieve detailed information about a specific social media channel, including its platform, credentials status, and connection state.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_social_channel_status","title":"Get Social Channel Status","description":"Retrieve the current session status for a social media channel (e.g., connected, disconnected, error).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_storefront","title":"Get Storefront","description":"Get this seller's storefront profile (handle, display name, bio, branding) and its public URL.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_task_runs","title":"Get Bot Task Run History","description":"Retrieve the paginated execution history for a task — each run's status, AI summary, tool steps, and stats (messages sent, contacts processed).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_get_webhook_logs","title":"Get Webhook Logs","description":"Retrieve execution logs for an inbound webhook to monitor incoming requests and debug processing issues.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_google_calendar_disconnect","title":"Disconnect Google Calendar","description":"Disconnect a calendar from Google Calendar sync.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_google_calendar_status","title":"Google Calendar Status","description":"Check whether a calendar is connected to Google Calendar and when it last synced.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_handle_join_requests","title":"Handle Join Requests","description":"Approve or reject pending join requests for a WhatsApp group. Requires admin privileges.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_import_contacts","title":"Import Contacts","description":"Bulk import multiple contacts into the organization's address book. Accepts an array of contact objects with name, phone, and optional fields.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_import_flow","title":"Import Flow","description":"Create a new flow from an exported flow file (the object neuron_export_flow returns). It is always created switched OFF and never overwrites an existing flow. Inbound webhook URLs get new slugs. The response lists `missing` (steps pointing at a bot, list, session or knowledge base this account doesn't have, which need picking before switching on) and `redacted` (credentials blanked on export that need refilling).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_import_whatsapp_chat","title":"Import WhatsApp Chat Into Knowledge Base","description":"Read a WhatsApp 'Export chat' (.txt, without media) and save the listings in it (trips, items for sale, services, jobs...) as entries that expire on their own date. Runs in the background: poll neuron_get_kb_import_status. Pro plan and up; charged to AI credits; reads at most the newest 1,000 messages from the last `sinceDays` days. The file itself is never stored. One import per organization at a time.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_ingest_knowledge","title":"Ingest Knowledge","description":"Ingest content into a knowledge base. Supports deduplication via externalId and optional LLM processing (summarize, extract_facts, or custom instruction).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_install_from_pool","title":"Install from Pool","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_invite_member","title":"Invite Organization Member","description":"Send an invitation to a new member to join the organization. The invitee receives an email with a link to accept.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_join_campaign","title":"Join Campaign","description":"Join a marketplace campaign as a participant to earn rewards by sending messages through your WhatsApp channel.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_kb_storage_usage","title":"Knowledge Storage Usage","description":"How many knowledge bases, entries and characters the organization holds, against its plan's caps (maxBases, maxEntries, maxChars) and whether it can fill knowledge bases automatically.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_lead_stats","title":"Lead Pool Stats","description":"Counts of leads by status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_leave_group","title":"Leave Group","description":"Make the bot leave a WhatsApp group. This action is irreversible — the bot will need to be re-added by an admin.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_ad_requests","title":"List Ad Requests","description":"Retrieve all ad requests for the current organization with optional status filtering and pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_api_keys","title":"List API Keys","description":"Retrieve all API keys associated with a specific bot, including their names, creation dates, expiration status, and revocation status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_approvals","title":"List Approvals","description":"List approval requests for the organization, newest first. Filter by status (pending/approved/rejected/expired/cancelled). Requires a bot API key.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_audit_logs","title":"List Audit Logs","description":"Retrieve audit logs for the organization, showing a chronological record of actions performed by members. Supports filtering by action type and resource.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_blog_posts","title":"List Blog Posts","description":"Retrieve a paginated list of blog posts with optional filtering by status, author type, author ID, or tag.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_bookings","title":"List Bookings","description":"List bookings (inbound and host-created) with optional filters for calendar, status, date range, and source.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_bot_channels","title":"List Bot Channels","description":"Retrieve all WhatsApp channels connected to a specific bot, including primary and secondary connections.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_bot_knowledge_bases","title":"List Bot Knowledge Bases","description":"Retrieve all knowledge bases attached to a specific bot, including their priorities and metadata.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_bots","title":"List Bots","description":"Retrieve all bots accessible to the current user, including their configurations and status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_broadcasts","title":"List Broadcasts","description":"Retrieve a paginated list of all broadcasts with optional filtering by status such as draft, sent, or scheduled.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_builtin_tools","title":"List Built-in Tools","description":"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 (web search, QR codes, weather), scheduling, knowledge base search, and more.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_calendars","title":"List Calendars","description":"Retrieve all booking calendars for the current organization.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_campaigns","title":"List Campaigns","description":"Retrieve all campaigns for the current organization with optional status filtering and pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_channel_groups","title":"List Channel Groups","description":"Retrieve all WhatsApp groups that the channel is participating in, including group metadata.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_channels","title":"List Channels","description":"Retrieve all WhatsApp channels configured in the current organization, including their type and connection status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_collections","title":"List collections","description":"List content collections (where web-agent missions and captures land). Returns each collection's item count, kind and source.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_contact_lists","title":"List Contact Lists","description":"Retrieve all contact lists for the current organization with optional filtering by search term, type, and pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_contacts","title":"List Contacts","description":"Retrieve all contacts for the current organization with optional filtering by search term, tag, and pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_conversations","title":"List Conversations","description":"Retrieve a paginated list of conversations for a specific bot, with optional filtering by status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_deleted_flows","title":"List Deleted Flows","description":"List flows deleted in the last 30 days, which can still be restored with neuron_restore_deleted_flow.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_events","title":"List Calendar Events","description":"List host-created events, optionally filtered by calendar and date range.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_event_types","title":"List Event Types","description":"Retrieve all event types, optionally filtered by calendar.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_flow_revisions","title":"List Flow Revisions","description":"List the last saved versions of a flow (newest first, up to 3). Each is the flow as it was before a change replaced it, with who saved it, when, and where from (editor, mcp, restore). Back up before risky edits by checking this, and roll back with neuron_restore_flow_revision.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_flow_runs","title":"List Flow Runs","description":"List execution runs for a flow, newest first. Each run shows status (running/waiting/completed/failed/cancelled), trigger type, step count, and timing.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_flows","title":"List Flows","description":"List all automation flows in the organization. Returns each flow's id, name, description, enabled status, trigger events, run count, and last run time.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_instagram_lists","title":"List Instagram Lists","description":"List the organization's Instagram lists (any name the user chose, e.g. VIPs, giveaway entrants, blocked) with member counts. Use a list's id as `inList` / `notInList` on Instagram flow triggers, or `listId` on the add/remove list flow steps.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_instagram_posts","title":"List Instagram Posts","description":"List an Instagram channel's recent posts (newest first) with id, caption, type, thumbnail, permalink, date and comment count. Use the ids in a comment trigger's mediaId (a list) to limit a flow to specific posts. Only for accounts connected with Instagram login (authMethod official).","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_installed","title":"List Installed Items","description":"List all items the current organization has installed from the marketplace pool.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_invitations","title":"List Invitations","description":"Retrieve a list of all pending invitations for the organization that have not yet been accepted or revoked.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_kb_bots","title":"List Knowledge Base Bots","description":"Retrieve all bots that are connected to or using a specific knowledge base.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_kb_entries","title":"List Knowledge Base Entries","description":"Retrieve entries from a knowledge base with optional filtering and pagination.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_knowledge_bases","title":"List Knowledge Bases","description":"Retrieve all knowledge bases accessible to the current user.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_leads","title":"List Leads","description":"List leads from the pool, filterable by status (new/enriched/contacted/converted/rejected), sourceId, and search.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_lead_sources","title":"List Lead Sources","description":"List configured lead sources for the org.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_list_campaigns","title":"List List Campaigns","description":"List all paced list campaigns for the organization, optionally filtered to a single contact list.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_members","title":"List Organization Members","description":"Retrieve a list of all members in the organization, including their roles and permissions.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_newsletters","title":"List Newsletters","description":"Retrieve a paginated list of all WhatsApp Channel newsletters for the organization, with optional filtering by WhatsApp session channel.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_notify_recipients","title":"List Email Notification Recipients","description":"Who the org's flows can email with the \"Send email notification\" step: team members (userId, opt-out state) and outside addresses (id, status pending/verified/unsubscribed). In that step's `recipients`, use refs: \"role:all\", \"role:admins\", \"member:<userId>\", or \"ext:<id>\" (verified only). Free-text addresses are not allowed.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_orders","title":"List Orders","description":"List recent product orders (sales) for this seller, with buyer, amount, fee breakdown, and status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_organizations","title":"List Organizations","description":"Retrieve all organizations the authenticated user belongs to, including their roles in each.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_outbound_webhooks","title":"List Outbound Webhooks","description":"Retrieve all outbound webhooks configured for a specific bot, including their target URLs and subscribed event types.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_overrides","title":"List Availability Overrides","description":"List date-specific availability overrides for a calendar (e.g. holidays, special hours).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_payouts","title":"List Payouts","description":"Retrieve the payout history for the organization, including amounts, statuses, and timestamps.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_personas","title":"List Personas","description":"List voice personas for the org. Each persona holds a voiceProfile (tone/style/themes/dos/donts) + exemplars distilled from a Collection of mined content.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_products","title":"List Products","description":"List all products for this seller, each with its public checkout URL and price breakdown.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_published","title":"List My Published Items","description":"List all items the current organization has published to the marketplace pool.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_reflections","title":"List Reflections","description":"Retrieve pending reflections that the bot has generated from conversations, awaiting human review. Optionally filter by approval status.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_reviews","title":"List Reviews","description":"List verified-purchase reviews across this seller's products (rating, text, buyer, status).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_scheduled_messages","title":"List Scheduled Messages","description":"Retrieve a paginated list of scheduled messages for the current organization, with optional filtering by status (scheduled, sent, failed, cancelled).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_sms_campaigns","title":"List SMS Campaigns","description":"List the organization's SMS campaigns, optionally filtered by status or type.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_social_channels","title":"List Social Channels","description":"Retrieve all social media channels (Instagram, Twitter/X) configured in the current organization.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_tasks","title":"List Bot Tasks","description":"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').","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_tools","title":"List Tools","description":"Retrieve all custom API tool integrations configured for a specific bot, including their endpoints and configuration.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_webhooks","title":"List Webhooks","description":"Retrieve all inbound webhooks configured for a specific bot, including their status and configuration.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_whatsapp_contacts","title":"List WhatsApp Contacts","description":"Retrieve contacts from the WhatsApp account connected to this channel, with optional search filtering.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_list_whatsapp_templates","title":"List WhatsApp Templates","description":"List message templates on an official WhatsApp Business API session (provider 'meta'). On the official API you can only send free-form messages to someone who messaged you in the last 24 hours; outside that window only an approved template is delivered. Use a template's name + language with neuron_send_whatsapp / neuron_compose_message / neuron_create_broadcast (messageType 'template').","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_login","title":"Login to Neuron","description":"Authenticate with Neuron. Three modes:\n1. No args: Opens a browser URL for secure authorization (recommended — no credentials shared with AI)\n2. token: Paste an MCP token from the Neuron dashboard\n3. email+password: Legacy login (credentials visible to AI)","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_logout","title":"Logout","description":"Clear the current auth token locally. Does NOT revoke server-side MCP tokens — revoke from the Neuron dashboard (Settings > MCP Tokens) for full invalidation.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_mark_as_read","title":"Mark as Read","description":"Mark a WhatsApp message as read, sending read receipts to the sender.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_mark_no_show","title":"Mark No-Show","description":"Mark a booking as no-show when the invitee did not attend.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_merge_contact_lists","title":"Merge Contact Lists","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_my_participations","title":"My Campaign Participations","description":"Retrieve all campaigns the current organization has joined as a participant, including earnings and delivery stats.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_pause_ad_request","title":"Pause Ad Request","description":"Pause an active ad request campaign. Distribution stops until resumed. Only active ad requests can be paused.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_pause_bot","title":"Pause Bot","description":"Pause a bot to temporarily stop it from processing new messages. The bot retains its configuration and can be resumed later.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_pause_campaign","title":"Pause Campaign","description":"Pause an active campaign to temporarily stop message delivery. Can be resumed later with the resume action.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_pause_list_campaign","title":"Pause List Campaign","description":"Pause a paced list campaign. No further batches run until resumed. The cursor is preserved.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_pause_sms_campaign","title":"Pause SMS Campaign","description":"Pause a sending drip SMS campaign. Only drip campaigns in the 'sending' state can be paused.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_populate_contacts","title":"Populate Contacts","description":"Enrich existing contacts with additional data from connected messaging channels. Syncs profile information from linked platforms.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_post_to_newsletter","title":"Post to Newsletter","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_post_to_social_channel","title":"Post to Social Channel","description":"Publish to one of the organization's connected social accounts (by channel id from neuron_list_social_channels). Text and/or up to 10 media items (several items make an Instagram carousel). Set as='story' to publish one image or video as an Instagram story (Instagram accounts connected with Instagram login; stories don't show a caption). Media URLs must be publicly reachable; Instagram images must be JPEG.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_post_to_status","title":"Post to WhatsApp Status","description":"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 automatically; pass statusJidList only to target a subset). Provide at least one of text or mediaUrl. channelId is optional and auto-resolves to the default connected number. This triggers delivery and cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_product_members","title":"Product Members","description":"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 (if one is attached), plus totals.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_publish_blog_post","title":"Publish Blog Post","description":"Publish a blog post, making it publicly visible. The post must be in 'draft' status.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_publish_to_pool","title":"Publish to Pool","description":"Publish a bot, tool, knowledge base, or reflection to the shared marketplace pool for other organizations to discover and install.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_pull_pool_update","title":"Pull Pool Update","description":"Pull the latest updates for a subscribed pool resource to sync with the publisher's changes. Only applies to items installed with 'subscribe' mode.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_refresh_contact_list","title":"Refresh Contact List","description":"Trigger a refresh of a dynamic contact list. Re-evaluates criteria rules and/or AI prompt and materializes updated members.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_refresh_newsletter","title":"Refresh Newsletter","description":"Re-fetch metadata (name, description, subscriber count) for a WhatsApp Channel newsletter from WhatsApp to synchronize local data.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_refresh_token","title":"Refresh Access Token","description":"Refresh the access token using a refresh token. Automatically sets the new access token for subsequent API calls.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_refund_order","title":"Refund Order","description":"Refund a paid order via Paystack. The buyer is refunded and the sale amount is reversed from your wallet.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_register","title":"Register New User","description":"Register a new user account with name, email, password, and organization name. Creates both the user and an initial organization.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_reject_reflection","title":"Reject Reflection","description":"Reject a bot-generated reflection to prevent it from being incorporated into the bot's learned behavior.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_release_conversation","title":"Release Conversation","description":"Release a conversation back to the bot, returning control from a human agent. The bot will resume auto-responding.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_bot_channel","title":"Remove Bot Channel","description":"Disconnect a WhatsApp channel from a bot. The bot will no longer respond to messages on this channel.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_from_contact_list","title":"Remove from Contact List","description":"Remove one or more contacts from a list by their contact IDs. Does not delete the contacts themselves.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_from_instagram_list","title":"Remove from Instagram List","description":"Remove one member (by member id from neuron_get_instagram_list_members) from an Instagram list.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_group_members","title":"Remove Members from Group","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_member","title":"Remove Organization Member","description":"Permanently remove a member from the organization. The member loses all access immediately. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_notify_recipient","title":"Remove Outside Email Notification Address","description":"Remove an outside address so flows can no longer email it. Owners and admins only.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_profile_picture","title":"Remove Profile Picture","description":"Remove the bot's WhatsApp profile picture, reverting to the default.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_remove_tool_secret","title":"Remove Tool Secret","description":"Permanently delete a stored secret from a custom tool integration. The tool will lose access to this credential.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_request_approval","title":"Request Approval","description":"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 needing human sign-off (refunds, deploys, spend, publishing). Returns an approvalId; poll neuron_get_approval / neuron_list_approvals for the outcome, or supply a webhook in `callback` to be notified. Requires a bot API key ('nrn_' prefix).","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_request_pair_code","title":"Request Pair Code","description":"Request a numeric pairing code for a Baileys channel as an alternative to QR code scanning. Requires the phone number to pair with.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_request_payout","title":"Request Payout","description":"Request a payout to transfer funds from the organization wallet to the linked bank account. A bank account must be saved first.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_reschedule_booking","title":"Reschedule Booking","description":"Reschedule a booking to a new time. Creates a new booking and marks the old one as rescheduled.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_respond_approval","title":"Respond to Approval","description":"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 outcome to the WhatsApp chat. Exactly-once: the first responder (here or on WhatsApp) wins; later responses return 410. Requires a bot API key.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_restore_deleted_flow","title":"Restore Deleted Flow","description":"Bring back a flow deleted in the last 30 days. It comes back switched off; switch it on with neuron_toggle_flow.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_restore_flow_revision","title":"Restore Flow Revision","description":"Put a saved version of a flow back. The current graph is saved as a revision first, so the restore can itself be undone. The flow keeps its name and on/off state.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_resume_ad_request","title":"Resume Ad Request","description":"Resume a paused ad request campaign. Distribution resumes from where it left off. Only paused ad requests can be resumed.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_resume_bot","title":"Resume Bot","description":"Resume a previously paused bot so it begins processing new messages again.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_resume_campaign","title":"Resume Campaign","description":"Resume a previously paused campaign to restart message delivery.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_resume_list_campaign","title":"Resume List Campaign","description":"Resume a paused paced list campaign. It picks up from where the cursor left off.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_resume_sms_campaign","title":"Resume SMS Campaign","description":"Resume a paused drip SMS campaign.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_revoke_api_key","title":"Revoke API Key","description":"Permanently revoke an API key to immediately invalidate it and prevent further programmatic access. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_revoke_group_invite","title":"Revoke Group Invite","description":"Revoke the current group invite link and generate a new one. The old link will stop working. Requires admin.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_revoke_invitation","title":"Revoke Invitation","description":"Revoke a pending organization invitation so it can no longer be accepted. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_rewrite_text","title":"Rewrite Text","description":"Rewrite or rephrase text using AI with specified tone, style, or instructions (e.g., make it more formal, translate, summarize).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_run_flow","title":"Run Flow","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_run_lead_source","title":"Run Lead Source","description":"Run a lead source now to pull new leads into the pool (queues the extraction).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_run_list_campaign_now","title":"Run List Campaign Now","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_run_task","title":"Run Bot Task Now","description":"Trigger a task to run immediately (in addition to its normal schedule). Returns once the run is queued.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sales_stats","title":"Sales Stats","description":"Total paid sales count and net revenue (kobo) for this seller.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_save_bank_account","title":"Save Bank Account","description":"Save a verified bank account as the organization's payout destination. Verify the account first using neuron_verify_bank_account.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_search_contacts","title":"Search Contacts","description":"Search contacts by a query string across name, phone number, and email fields. Returns matching contacts ranked by relevance.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_search_knowledge","title":"Search Knowledge","description":"Perform semantic search across all entries and documents in a knowledge base to find relevant information.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_seller_status","title":"Seller Status","description":"Check whether this account can sell (Pro plan + admin-granted access) and any pending application.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_semantic_search_contacts","title":"Semantic Search Contacts","description":"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.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_broadcast","title":"Send Broadcast","description":"Send a broadcast message to all its recipients. The broadcast must be in draft status. This triggers message delivery and cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_campaign_message","title":"Send Campaign Messages","description":"Send a campaign message to selected eligible contacts via WhatsApp. Requires the campaign to be in 'active' status and contacts to be eligible.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_contact_card","title":"Send Contact Card","description":"Send a vCard contact card via WhatsApp with name, phone, and optional organization.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_location","title":"Send Location","description":"Send a location pin via WhatsApp with coordinates and optional name/address.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_message","title":"Send Message","description":"Send a message to an existing conversation. Supports text, image, and document message types with optional media attachments.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_poll","title":"Send Poll","description":"Send a poll message via WhatsApp. Polls support 2-12 options and optional multi-select. Only supported on Baileys channels.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_reaction","title":"Send Reaction","description":"Send or remove an emoji reaction on a WhatsApp message. Pass an empty emoji string to remove a reaction.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_sms_campaign","title":"Send SMS Campaign","description":"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 wallet with neuron_fund_wallet and retry).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_sticker","title":"Send Sticker","description":"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 community sticker library (falling back to this org's own stickers). Advanced: pass `stickerUrl` with a direct public WebP image URL instead. Provide one of the two. Only supported on Baileys channels.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_send_whatsapp","title":"Send WhatsApp Message","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_set_default_channel","title":"Set Default WhatsApp Channel","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_set_group_join_approval","title":"Set Group Join Approval","description":"Enable or disable join approval mode for a WhatsApp group. When enabled, join requests must be manually approved by admins. Requires admin.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_set_instagram_chat_menu","title":"Set Instagram Greeting Prompts & Menu","description":"Replace an Instagram channel's greeting prompts (max 4) and persistent chat menu (max 20 items). Pass the full lists; an empty list removes that part. A tap sends a postback with the item's payload: it fires flows with the \"Instagram button tapped\" trigger, and the channel's bot answers taps no flow handles (as if the person typed the title). Menu items are either a postback (payload) or a link (url).","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_set_override","title":"Set Availability Override","description":"Set a date-specific availability override — mark a day as unavailable, or set custom hours for that date.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_set_presence","title":"Set Presence","description":"Set typing indicator or online/offline presence on a WhatsApp chat. Only supported on Baileys channels.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_check_label","title":"Check Site Address","description":"Business plans: is this address free for a new site? Returns { available, code, message }. The create call re-checks.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_delete","title":"Delete Site","description":"Permanently wipe a site: every version, its files in storage, people, access requests and view history. The address stops working. Cannot be undone or recovered. Use neuron_sites_set_access {paused:true} to take it down temporarily instead.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_delete_version","title":"Delete Site Version","description":"Permanently delete an old (non-live) version of a site, e.g. a wrong upload. Its files are removed from storage right away, except files other versions still use. The live version can't be deleted (roll back first). Cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_duplicate","title":"Duplicate Site","description":"Copy a site's live files into a new site with a new address (addresses never change, so this is how to get a different one). No re-upload. The copy starts Restricted with nobody added and goes through review like any new site.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_get","title":"Get Site","description":"One site's details: URL, share link, access settings, versions (for rollback) and the people who have access.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_get_access_requests","title":"Get Site Access Requests","description":"List access requests for a site (pending, approved, denied, expired). `repeat: true` marks people who asked before.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_list","title":"List Sites","description":"List the org's Neuron Sites (static sites with Docs-style sharing) with URL, access mode, size and pending access requests, plus plan limits.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_publish","title":"Publish Site","description":"Publish a static site (HTML/CSS/JS/images/fonts/PDF/video) and get its link. Creates a new site when siteId is omitted, otherwise redeploys to the same URL — the link and access settings survive and the previous version stays available for rollback. Pass exactly one source: `dir` (local folder, e.g. the output of a build), `zipPath` (local .zip), `html` (a single page), or `files` ([{path, base64}]). New sites start Restricted (only you). Use neuron_sites_set_access to share. Only changed files are uploaded on redeploy. A new site is reviewed by Neuron once; until approved (`reviewStatus`), visitors can't open it. Its address (`label`) is fixed for life.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_respond_access_request","title":"Respond to Site Access Request","description":"Approve or deny an access request. Approved people become named viewers (optionally until expiresAt) and get in on their next visit — no new link needed. They're notified either way.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_rollback","title":"Roll Back Site","description":"Make an earlier version live again at the same URL. Omit versionId to go back one version.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_set_access","title":"Set Site Access","description":"Control who can open a site, Google Docs style. generalAccess: 'restricted' (only named people), 'link' (anyone with the unguessable link), 'request' (anyone can ask; you approve), 'org' (members of your Neuron org), 'domain' (verified emails on allowedDomains), 'public' (anyone — requires confirmPublic). Optionally add a password (applies to everyone but owners), add/remove named people (email / WhatsApp number / Neuron user id, with optional expiry), rotate the link (old link dies instantly), set a link expiry, or pause the site. Every change logs current viewers out within ~15 seconds.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sites_update","title":"Update Site Settings","description":"Rename a site, change its entry page, toggle owner email alerts, allow external resources (CDN scripts/styles/images over https), or choose what link previews show. Content changes go through neuron_sites_publish.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_start_channel_session","title":"Start Channel Session","description":"Start a Baileys (direct WhatsApp) session for the channel. Generates a QR code for device pairing. Only applicable to Baileys-type channels.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_start_social_channel_session","title":"Start Social Channel Session","description":"Start or reconnect a social media session for the channel. Initializes the platform client with stored credentials.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_stop_ad_request","title":"Stop Ad Request","description":"Stop an active or paused ad request campaign permanently. Any remaining unspent budget is refunded to the organization wallet. This cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_stop_campaign","title":"Stop Campaign","description":"Permanently stop an active campaign and refund the remaining unspent budget to the organization's wallet. This action cannot be undone.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_stop_channel_session","title":"Stop Channel Session","description":"Stop the active Baileys session for the channel and disconnect from WhatsApp. The channel can be restarted later.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_stop_social_channel_session","title":"Stop Social Channel Session","description":"Stop the active session for a social media channel. The channel can be restarted later.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_storage_job","title":"Storage Job Status","description":"Status and result of a clear-media / clear-chat job started by neuron_clear_media or neuron_clear_chat.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_storage_summary","title":"Storage Summary","description":"How much chat media the workspace stores (by type), its media retention window, and recent media downloads.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_agent","title":"Build / edit a video (AI)","description":"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 neuron_studio_render to produce an MP4. Does NOT render.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_apply","title":"Drive the Studio yourself (no AI key)","description":"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_studio_catalog once, then neuron_studio_apply with { doc, calls:[{tool,args}] }, read the returned `scene`, apply more, and finally neuron_studio_render. Omit `doc` (with an optional `platform`) to start a fresh video.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_catalog","title":"List Studio tools","description":"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. Read this first when driving the Studio yourself with neuron_studio_apply.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_generate_image","title":"Generate AI b-roll image","description":"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. Business plan + an image-model version configured in Studio settings.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_generate_video","title":"Generate AI video (start)","description":"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 configured.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_generate_video_status","title":"Generate AI video (poll)","description":"Poll an AI video job. When status is 'succeeded', videoUrl is the result (external — re-host it before use).","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_import_media_url","title":"Import media from a URL (for the Studio)","description":"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 }. Put the returned url on a video layer in the ProjectDoc.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_make","title":"Make a video (AI + render)","description":"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 the outputUrl. Great for 'make me a 20s TikTok reel about X'. Requires a Pro+ plan.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_rehost_media","title":"Re-host a media URL (persist it)","description":"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_video/add_audio. Returns { url, filename }.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_render","title":"Render a video","description":"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 neuron_studio_import_media_url / neuron_studio_upload_media first). Requires a Pro+ plan.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_render_status","title":"Check a render job","description":"Poll a render job by id. When status is 'completed', outputUrl is the finished MP4. status is queued | rendering | completed | failed.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_save","title":"Save the video & get an open link (client-render handoff)","description":"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 this for the hybrid flow: build with neuron_studio_apply/agent, then save and hand the user the link. Use neuron_studio_render instead only for headless/unattended server renders.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_transcribe","title":"Transcribe footage into captions","description":"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 transcription key on the org.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_transform_video","title":"Transform a video (bg-remove / face-swap)","description":"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. Needs the matching model version configured.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_transform_video_status","title":"Transform a video (poll)","description":"Poll a video-transform job. When status is 'succeeded', videoUrl is the result (external — re-host before use).","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_upload_media","title":"Upload media (for the Studio)","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_studio_voiceover","title":"Generate a voiceover (TTS)","description":"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, label:'Voiceover', durationSeconds}) and add_captions({cues}). This makes fully-voiced reels possible from a prompt. Needs a TTS key on the org (captions also need a transcription key).","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_submit_ad_request","title":"Submit Ad Request for Review","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_submit_campaign","title":"Submit Campaign for Review","description":"Submit a draft campaign for admin review and approval. The campaign must be in 'draft' status.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_submit_to_list_pool","title":"Submit List to Pool","description":"Submit a contact list to the shared pool marketplace for other organizations to discover and use for ad distribution.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_switch_instance","title":"Switch Neuron Instance","description":"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 automatically.\n\nCall with no args to list known instances and see which is active.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_switch_org","title":"Switch Organization","description":"Switch to a different organization. Returns a new access token scoped to the target organization and automatically sets it.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sync_knowledge","title":"Sync Knowledge","description":"Trigger a synchronization operation to refresh embeddings, reindex content, or update the knowledge base state.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sync_newsletters","title":"Sync Newsletters","description":"Synchronize and import WhatsApp Channels from a connected WhatsApp session into Neuron. Discovers channels created outside Neuron.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sync_reflections","title":"Sync Reflections","description":"Synchronize all approved reflections into the bot's active knowledge base, applying learned insights to future conversations.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_sync_whatsapp_contacts","title":"Sync WhatsApp Contacts","description":"Synchronize contacts from all connected WhatsApp channels into the organization's contact database. Creates new contacts for unseen numbers.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_takeover_conversation","title":"Takeover Conversation","description":"Transfer control of a conversation from the bot to a human agent. The bot will stop auto-responding until the conversation is released.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_team_availability","title":"Get Team Availability","description":"Find available slots across all team calendars. Mode 'any' returns slots where at least one member is free (round-robin), 'all' requires everyone to be free (collective).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_test_tool","title":"Test Tool","description":"Execute a dry-run test of a custom API tool with sample arguments to verify the endpoint responds correctly.","annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_toggle_builtin_tool","title":"Toggle Built-in Tool","description":"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_message, react_to_message, set_reminder, create_poll.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_toggle_featured","title":"Toggle Featured Status","description":"Toggle the featured status of a pool item. Featured items appear prominently in the marketplace. Requires admin privileges.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_toggle_flow","title":"Toggle Flow","description":"Enable or disable a flow. Disabled flows stop receiving events but retain their graph.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_toggle_task","title":"Toggle Bot Task","description":"Pause or resume a scheduled task (flips its enabled state and reschedules the next run).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_unassign_bot_from_channel","title":"Unassign Bot from Channel","description":"Remove the bot assignment from a WhatsApp channel. The channel will stop auto-responding to messages.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_unassign_bot_from_social_channel","title":"Unassign Bot from Social Channel","description":"Remove the bot assignment from a social media channel. The bot will lose access to the channel's social media credentials.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_unblock_contact","title":"Unblock Contact","description":"Unblock a previously blocked WhatsApp contact.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_unpublish_from_pool","title":"Unpublish from Pool","description":"Permanently remove a published item from the marketplace pool. Organizations that installed this item will retain their copies.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_ad_request","title":"Update Ad Request","description":"Update a draft or rejected ad request. Only draft and rejected ad requests can be edited. Rejected requests revert to draft on update.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_availability","title":"Update Availability","description":"Set the weekly availability hours for a calendar. Each day maps to an array of { start, end } time windows in HH:mm format.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_blog_post","title":"Update Blog Post","description":"Update an existing blog post's content, metadata, status, or SEO fields. Only provided fields are changed.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_booking_notes","title":"Update Booking Notes","description":"Add or update host notes on a booking.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_bot","title":"Update Bot","description":"Update an existing bot's configuration. Only provided fields are modified; omitted fields remain unchanged.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_broadcast","title":"Update Broadcast","description":"Update an existing broadcast's name, message content, or media before sending. The broadcast must still be in draft status.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_calendar","title":"Update Calendar","description":"Update a calendar's settings. Only provided fields are modified.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_campaign","title":"Update Campaign","description":"Update a campaign that is in 'draft' or 'rejected' status. Active or completed campaigns cannot be modified.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_channel","title":"Update Channel","description":"Update configuration of an existing WhatsApp channel. Only provided fields are modified; omitted fields remain unchanged.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_contact","title":"Update Contact","description":"Update an existing contact's details. If notes are provided, they are appended as a new structured note entry without overwriting existing notes.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_contact_list","title":"Update Contact List","description":"Update an existing contact list's name, slug, description, criteria, or refresh schedule.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_event","title":"Update Calendar Event","description":"Update a host-created event. Use scope='future' to update all future instances of a recurring series.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_event_type","title":"Update Event Type","description":"Update an event type's settings. Only provided fields are modified.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_flow","title":"Update Flow","description":"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 entirely. The previous graph is kept as a revision (see neuron_list_flow_revisions), so a bad edit can be rolled back with neuron_restore_flow_revision. When a graph is supplied the response includes a non-blocking `warnings` array (same checks as create_flow) — check it and fix any flagged issues.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_group_description","title":"Update Group Description","description":"Update the description of a WhatsApp group. Requires the bot to be a group admin.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_group_members","title":"Update Group Members","description":"Add, remove, promote, or demote members in a WhatsApp group. Provide phone numbers or JIDs. Requires admin privileges.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_group_settings","title":"Update Group Settings","description":"Change WhatsApp group settings: 'announcement' (only admins send), 'not_announcement' (everyone sends), 'locked' (only admins edit info), 'unlocked' (everyone edits info). Requires admin.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_group_subject","title":"Update Group Subject","description":"Update the name/subject of a WhatsApp group. Requires the bot to be a group admin.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_instagram_list","title":"Rename Instagram List","description":"Rename an Instagram list or change its description.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_kb_entry","title":"Update Knowledge Base Entry","description":"Update the content, title, folder, or source of an existing knowledge base entry.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_knowledge_base","title":"Update Knowledge Base","description":"Update the properties of an existing knowledge base such as name, description, or root instruction.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_list_campaign","title":"Update List Campaign","description":"Update a paced list campaign's name, message source, batch size, schedule, exhaust behavior, or send settings. Changing the schedule reschedules the next run.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_member","title":"Update Member Permissions","description":"Update a member's permissions within the organization, such as conversation access. Only provided fields are changed.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_newsletter","title":"Update Newsletter","description":"Update the name or description of an existing WhatsApp Channel newsletter. Only provided fields are changed.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_organization","title":"Update Organization","description":"Update organization settings such as name, description, or configuration preferences. Only provided fields are changed.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_outbound_webhook","title":"Update Outbound Webhook","description":"Modify an existing outbound webhook's configuration, including its destination URL, subscribed event types, or filter prompt.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_persona","title":"Update Persona","description":"Update a persona's name/description, or hand-tune its voiceProfile / exemplars.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_pool_item","title":"Update Pool Item","description":"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-snapshotted and version is bumped on every update.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_privacy_setting","title":"Update Privacy Setting","description":"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/contacts/contact_blacklist/none), readReceipts (all/none), groupsAdd (all/contacts/contact_blacklist).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_product","title":"Update Product","description":"Update any field of a product (price, delivery, cover, enabled, fee payer, …).","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_profile_name","title":"Update Profile Name","description":"Update the bot's WhatsApp display name on the given channel.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_profile_picture","title":"Update Profile Picture","description":"Update the bot's WhatsApp profile picture from an image URL.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_profile_status","title":"Update Profile Status","description":"Update the bot's WhatsApp status/bio text.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_scheduled_message","title":"Update Scheduled Message","description":"Update the message content, media, or send time of a scheduled message. Only messages with status 'scheduled' can be updated.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_social_channel","title":"Update Social Channel","description":"Update an existing social media channel. Can update label, username, or refresh credentials.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_storefront","title":"Update Storefront","description":"Create or update the seller storefront (nestuge-style page). Handle is auto-generated from the display name if omitted.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_task","title":"Update Bot Task","description":"Update a scheduled task's instruction, schedule, timezone, enabled state, or config. Only provided fields change.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_tool","title":"Update Tool","description":"Modify an existing custom API tool's configuration, including its endpoint, authentication, or request template.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_webhook","title":"Update Webhook","description":"Modify an existing inbound webhook's configuration, such as its name, event type, or processing prompt.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_update_whatsapp_credentials","title":"Update WhatsApp Credentials","description":"Update WhatsApp Business API credentials for the organization. These credentials are required for sending messages via the WhatsApp Cloud API.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_upload_document","title":"Upload Document","description":"Upload a text document to a knowledge base. The document will be automatically chunked and indexed for semantic search.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_upload_media","title":"Upload Media","description":"Upload a media file (image, video, audio, or document) by providing its base64-encoded content. Returns a URL for use in messages and broadcasts.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_validate_social_channel","title":"Validate Social Channel","description":"Test whether the stored credentials for a social channel are still valid by making a test API call to the platform.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_verify_bank_account","title":"Verify Bank Account","description":"Verify a Nigerian bank account number via Paystack to confirm the account holder name before saving.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_verify_wallet_funding","title":"Verify Wallet Funding","description":"Verify a wallet funding transaction using the Paystack payment reference to confirm the payment was successful.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_wallet_balance","title":"Wallet Balance","description":"Retrieve the current wallet balance for the organization, including available and pending amounts.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_wallet_transactions","title":"Wallet Transactions","description":"Retrieve the wallet transaction history for the organization, with optional filtering by transaction type.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_webagent_command_history","title":"Web-agent command history","description":"See the launch/stop/open commands queued for the extension and their outcomes (pending|claimed|done|failed, plus the runId a launch created).","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_webagent_get_run","title":"Get a web-agent run","description":"Fetch one run's status, config snapshot and latest live stats (captured/flushed/leads/reels/hops/scrolls). status is running|stopped|completed|killed|stale.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_webagent_kill","title":"Kill a web-agent run","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_webagent_list_runs","title":"List web-agent runs","description":"List browser-mission runs (live + recent). Stale runs (no heartbeat >2min) show as 'stale'. Note the result nests as data.data[].","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_webagent_open_launcher","title":"Open the web-agent launcher in the browser","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_webagent_run","title":"Launch a web-agent browser mission","description":"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 the browser must be open, signed in, and remote-control enabled in the extension). Watch it with neuron_webagent_list_runs / neuron_webagent_get_run and stop it with neuron_webagent_kill.","annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_webagent_stop","title":"Ask the web agent to stop (graceful)","description":"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.","annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"},{"name":"neuron_whoami","title":"Check Current Account","description":"Check which Neuron account is currently logged in, including user name, email, role, and organization.","annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T04:39:59.117Z"}],"dev.protogrid/trust":{"score":87,"components":{"hygiene":100,"liveness":100,"freshness":65,"provenance":80},"drivers":["+repository","+namespace-matches-repo","+reachable","+uptime-99%","~updated-114d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-20T08:16:33.341Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":66,"label":"needs work","components":{"auth":null,"hygiene":79,"protocol":75,"stability":25,"dependencies":67},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"2 tools have descriptions over 1,024 characters, which crowds the context","status":"warn","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"425 of 425 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 82,712 tokens to load every tool, a large share of an agent's context","status":"fail","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"64 tool changes in 30 days","status":"warn","category":"stability"},{"id":"stability.rug_pull","detail":"1 tools kept their name but changed most of their description in 30 days; review before trusting them","status":"fail","category":"stability"},{"id":"deps.known_vulns","detail":"no known advisory in 112 resolved packages","status":"pass","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or later","status":"fail","category":"dependencies"},{"id":"deps.resolvable","detail":"neuron-mcp-server@1.0.1 resolved: 112 packages","status":"pass","category":"dependencies"}],"drivers":["-tools.token_cost","-stability.rug_pull","-deps.mcp_sdk_version","~protocol.modern","~tools.description_length","~stability.changes"],"flags":["outdated-mcp-sdk"],"tool_count":425,"token_estimate":82712,"tools_hash":"1493772d1365a798c45fd26d63ddf4df","tools_changed_at":"2026-10-17T17:02:32.656Z","computed_at":"2026-10-20T08:26:04.529Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"io.github.conquext/neuron","aliases":[],"alias_count":0,"repository_key":"github:conquext/neuron","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/io.github.conquext%2Fneuron/tools","arguments":{"name":"io.github.conquext/neuron"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/io.github.conquext%2Fneuron/connection?target=mcpServers","arguments":{"name":"io.github.conquext/neuron","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}