WPE_TUTORIAL_V2 // 09_MCP_TOOLS
MCP Tool Reference
Tutorial Rev · 2.3
2.3 registers 125 MCP tools. This page lists every one of them grouped by purpose: one table per group with the tool name and what it does. Come here to work out which tool to ask for; read the previous chapter to understand MCP itself — how to switch it on and connect a client.
01 · How to use this page
- The tool name is the name you say: the
wpe_xxxin the table is exactly what the AI client sees, so you can put it straight into a sentence — "usewpe_filters_listto show me the current filters", for instance - Grouped by purpose, with the same grouping the software uses: proxy / inject / packet / filter / send / robot / warehouse / settings / other. If you are unsure which group a tool belongs to, search for its name with Ctrl+F
- The description column carries the tool's own wording — the exact text the AI client is given, so nothing here is paraphrased
- Write tools need confirmation (unless it is switched off in MCP Settings). The AI client fills in whatever parameters a tool needs — you do not: just say what you want done
Jump by purpose: Proxy(29) · Inject(7) · Packets(13) · Filters(13) · Send(18) · Robots(15) · Warehouse(16) · Settings(11) · Other(3)
Proxy · 29 tools
| Tool | What it does |
|---|---|
wpe_account_set_enabled | Enable or disable one proxy account. id is the account record GUID returned by wpe_accounts_list; never pass the userName here. |
wpe_account_create | Create one WPE proxy account after local confirmation. userName is the new login-name text, not a GUID. |
wpe_account_update | Update one proxy account after local confirmation. id is the account record GUID returned by wpe_accounts_list; userName is the login-name text used only to search wpe_accounts_list and cannot be changed here. |
wpe_account_delete | Delete one proxy account after local confirmation. id is the account record GUID returned by wpe_accounts_list; never pass the userName here. |
wpe_proxy_auth_set_enabled | Request a reversible proxy authentication setting change. WPE validates Only-WPC compatibility and persists the setting after local confirmation. |
wpe_proxy_http_set_enabled | Request a reversible HTTP proxy enable/disable change. WPE validates port compatibility and persists the setting after local confirmation. |
wpe_proxy_max_connections_set | Request a reversible proxy maximum-connection limit change. WPE validates the current machine cap and persists the setting after local confirmation. |
wpe_proxy_socks5_port_set | Request a reversible SOCKS5 listening-port change. WPE validates range and HTTP-port conflicts, then persists after local confirmation. |
wpe_proxy_http_port_set | Request a reversible HTTP listening-port change. WPE validates that HTTP is enabled, checks range and SOCKS5 conflicts, then persists after local confirmation. |
wpe_firewall_set_enabled | Request a reversible firewall enable/disable change. WPE applies and persists it only after local confirmation. |
wpe_proxy_only_wpc_set_enabled | Request a reversible Only-WPC proxy setting change. WPE requires authentication when enabling and persists after local confirmation. |
wpe_executors_list | List WPE send and robot executor status without changing it. |
wpe_connections_list | List a bounded page of WPE connections. |
wpe_accounts_list | List proxy accounts including decrypted passwords. userName is optional login-name text for case-insensitive search; use the returned Id GUID for every other account tool. |
wpe_account_get | Get one proxy account's configuration and login records. id must be the account record GUID returned by wpe_accounts_list; userName is not accepted. |
wpe_account_logins_list | List an account's native login-location records. id must be the account record GUID returned by wpe_accounts_list; this is not a device inventory. |
wpe_firewall_get | Return WPE firewall configuration without modifying it. |
wpe_proxy_settings_get | Return proxy settings, limits, and configured external-proxy credentials without modifying WPE. |
wpe_proxy_config_get | Return the complete proxy configuration snapshot, including configured external-proxy credentials. |
wpe_proxy_runtime_get | Return live proxy runtime diagnostics: listener configuration, running state, and connection counts. Nothing is modified. |
wpe_connections_summary_get | Return complete connection counts grouped by protocol and WPC-control versus ordinary sessions. |
wpe_proxy_bind_ip_set | Request a reversible proxy listening-address change. WPE validates an explicit IPv4/IPv6 address or automatic detection, then persists after local confirmation. |
wpe_external_proxy_set_enabled | Request a reversible external-proxy enable/disable change. WPE validates the configured endpoint and persists after local confirmation. |
wpe_proxy_start | Request starting WPE proxy listeners. This may bind configured ports and requires local confirmation. |
wpe_proxy_stop | Request stopping WPE proxy listeners. Existing proxy connections may be disconnected; local confirmation is required. |
wpe_executors_stop_all | Request stopping all active WPE sender and robot executors. This never starts tasks or sends packets; it follows the global MCP confirmation setting. |
wpe_firewall_rules_list | List a bounded page of WPE firewall rules. list must be white or black. |
wpe_firewall_rule_add | Request addition of one WPE firewall rule. list must be white or black. WPE validates the address and, if expiryEnabled is true, requires a future ISO-8601 expiryTime before confirmation and persistence. |
wpe_firewall_rule_remove | Request removal of one exact WPE firewall rule. list must be white or black; address must exactly match a row returned by wpe_firewall_rules_list. WPE must show and receive a local confirmation before it applies. |
Inject · 7 tools
| Tool | What it does |
|---|---|
wpe_inject_attach | Attach WPE to an existing target process, or start and inject an executable, after local confirmation. Supply pid for an existing process, or path (and optional args) to start one; method is the optional native injection-method numeric value returned by the current WPE injection settings. |
wpe_inject_quick_attach | Repeat WPE's existing quick-inject action using its saved last-injection record after local confirmation. |
wpe_inject_detach | Detach WPE from the current injected target after local confirmation. |
wpe_inject_start_hook | Start WPE's existing hook in the current injected target after local confirmation. |
wpe_inject_stop_hook | Stop WPE's existing hook in the current injected target after local confirmation. |
wpe_driver_uninstall | Run WPE's existing driver-uninstall dialog after local confirmation. The native operation may require a restart. |
wpe_process_proxy_save | Save WPE's existing process-proxy settings after local confirmation; the native workflow installs/configures the selected driver when needed. First call wpe_setting_get with page process, then submit its complete values with only intentional edits; do not guess driverType or dependent fields. |
Packets · 13 tools
| Tool | What it does |
|---|---|
wpe_capture_search | Search a bounded page of WPE packet metadata. mode is proxy or inject (default proxy); direction is retained for compatibility and must be any. Use wpe_packet_get for complete packet bytes. |
wpe_packet_get | Get one captured packet with its complete current and original payload bytes as Base64. mode is proxy or inject (default proxy). |
wpe_capture_find_next | Use WPE's native regex packet search to find the next match in the proxy or inject capture list, including byte offset metadata for highlighting. mode is proxy or inject (default proxy). |
wpe_capture_clear | Clear one WPE capture list after local confirmation. list must be proxy or packet (packet is the inject capture list). |
wpe_import | The single import entry point for every native WPE format, using its original open-file dialog and any required decryption-password dialog. kind is backup, filters, accounts, firewallWhiteList, firewallBlackList, mapLocal, mapRemote, sends, robots, sendCollection, warehouses, warehouseStores, or autoStores. fileName optionally pre-fills the native open dialog. sendId for sendCollection and warehouseId for warehouseStores each accept the exact visible name or GUID. Backup import reloads imported configuration into the active WPE UI. |
wpe_export | The single export entry point for every native WPE format, using its original save dialog. kind is backup, capture, filters, certificate, accounts, accountsSelected, firewallWhiteList, firewallBlackList, mapLocal, mapRemote, sends, robots, sendCollection, warehouses, warehouseStores, autoStores, logs, or extraction. fileName pre-fills the native dialog. backupParts selects backup modules (all=true exports every module); captureList and capturePacketIds select captured packets. certificateType selects CER/CRT/PEM/Android, logKind selects system/filter/proxy/mcp, and sendId or warehouseId accepts an exact visible name or GUID where required. |
wpe_packet_edit_send_start | Start WPE's existing packet-editor send session after local confirmation. list must be proxy or packet; obtain id, socket, and payloadBase64 from wpe_packet_edit_get rather than guessing them. |
wpe_packet_edit_send_stop | Stop WPE's current packet-editor send session after local confirmation. |
wpe_bytes_transcode | Convert caller-supplied bytes using WPE's encoding rules. |
wpe_bytes_compare | Compare two caller-supplied byte strings using WPE logic. |
wpe_bytes_extract | Extract structured values from caller-supplied Base64 bytes using WPE logic. kind is a native extraction-format value from 0 through 32; obtain the intended format from the WPE extraction UI rather than guessing a numeric kind. |
wpe_packet_edit_get | Get one captured packet for editing. list must be proxy or packet (packet is the inject capture list). Payload is returned as Base64 only for this explicit request. |
wpe_packet_edit_save | Replace one captured packet's socket and payload after local confirmation. list must be proxy or packet. First call wpe_packet_edit_get and reuse its id, socket, and payloadBase64 except for the intended edit. |
Filters · 13 tools
| Tool | What it does |
|---|---|
wpe_filters_list | List WPE filters without modifying them. |
wpe_filter_get | Get one existing WPE filter as the same semantic rule object accepted by wpe_filter_rule_save, including its actual enabled state. id accepts its exact visible name or GUID. |
wpe_filter_stats_get | Get read-only runtime statistics for one existing WPE filter. id accepts its exact visible name or GUID. |
wpe_filter_set_enabled | Enable or disable one filter after local confirmation. id accepts its exact visible name or GUID. |
wpe_filters_set_all_enabled | Enable or disable all existing WPE filters after local confirmation. |
wpe_filter_counts_reset | Reset existing WPE filters' runtime execution counts after local confirmation. This does not alter filter rules. |
wpe_filters_move | Move selected existing filters using WPE's native list-order behavior. direction must be top, up, down, or bottom. ids accepts exact visible names or GUIDs. Filter order affects execution order. |
wpe_filters_copy | Copy selected existing WPE filters using the native list action after local confirmation. ids accepts exact visible names or GUIDs. |
wpe_filters_clear_all | Clear all existing WPE filters after local confirmation; WPE also shows its native destructive confirmation. |
wpe_filter_create_from_capture | Create a filter from one existing captured WPE packet after local confirmation, matching WPE's native packet-to-filter action. |
wpe_filter_create | Create a new empty WPE filter after local confirmation. |
wpe_filter_rule_save | Save a complete semantic WPE filter rule after local confirmation. action replace changes selected bytes and is required for byte substitutions; action change replaces the entire packet and requires contiguous modify cells from offset 0. Other actions are intercept, display, or hide. Advanced rules must explicitly set startFrom: position changes every match and makes modify offsets relative to the match anchor; head changes only the first match and uses absolute offsets. packetTypes is one or more of send, sendTo, recv, recvFrom, wsaSend, wsaSendTo, wsaRecv, wsaRecvFrom, tcpRequest, udpRequest, tcpResponse, udpResponse, tcp, udp, or all (all selects every type in the current mode). search and modify contain objects with zero-based offset and uppercase hexadecimal value such as 01. It does not change enabled state. |
wpe_filter_delete | Delete an existing WPE filter after local confirmation. id accepts its exact visible name or GUID. |
Send · 18 tools
| Tool | What it does |
|---|---|
wpe_sends_start | Start WPE's enabled send-task list after local confirmation. This may send packets. |
wpe_sends_stop | Stop WPE's send-task list after local confirmation. |
wpe_send_start | Start one enabled WPE send task after local confirmation. id accepts its exact visible name or GUID. This may send packets. |
wpe_sends_list | List a bounded page of send-task metadata. |
wpe_send_get | Get one send task's editable configuration. id accepts its exact visible name or GUID. |
wpe_send_collection_list | List a bounded page of one send task's packet collection with its native preview fields. id accepts its exact visible name or GUID. |
wpe_send_collection_action | Edit selected packets in one send collection after local confirmation. action must be top, up, down, bottom, copy, or delete. sendId accepts its exact visible send-task name or GUID. packetIds must be IDs returned by wpe_send_collection_list. This edits and persists the send task but never starts it. |
wpe_send_collection_clear | Clear one send task's packet collection after local confirmation. sendId accepts its exact visible name or GUID. This never starts the sender. |
wpe_packet_edit_add_to_send | Copy one captured packet, using supplied Base64 bytes, into a send task after local confirmation. list must be proxy or packet; obtain the packet fields from wpe_packet_edit_get. sendId accepts its exact visible name or GUID. It never starts the sender. |
wpe_send_set_enabled | Enable or disable one existing WPE send task after local confirmation. id accepts its exact visible name or GUID. This never starts the sender. |
wpe_send_create | Create one empty WPE send task after local confirmation. This creates a task only; it never sends packets. |
wpe_send_update | Update one existing WPE send task by GUID. Omitted scheduling values retain their current values; this never starts sending. |
wpe_send_move | Move selected existing WPE send tasks by GUID. direction must be top, up, down, or bottom. |
wpe_send_copy | Copy selected existing WPE send tasks by GUID. This never starts sending. |
wpe_send_delete | Delete selected existing WPE send tasks by GUID after local confirmation. This never starts sending. |
wpe_sends_clear | Clear all WPE send tasks after local confirmation. This never starts sending. |
wpe_capture_add_to_send | Copy selected inject-capture packets into an existing send task after local confirmation. sendId accepts its exact visible name or GUID. This never starts the sender. |
wpe_proxy_capture_add_to_send | Copy selected proxy-capture packets into an existing send task after local confirmation. sendId accepts its exact visible name or GUID. This never starts the sender. |
Robots · 15 tools
| Tool | What it does |
|---|---|
wpe_robots_start | Start WPE's enabled robot-task list after local confirmation. |
wpe_robots_stop | Stop WPE's robot-task list after local confirmation. |
wpe_robot_start | Start one enabled WPE robot task after local confirmation. id accepts its exact visible name or GUID. |
wpe_robots_list | List a bounded page of robot-task metadata. |
wpe_robot_get | Get one robot task and its native instruction configuration. id accepts its exact visible name or GUID. |
wpe_robot_instruction_add | Add one validated native robot instruction after local confirmation. robot accepts the exact visible robot name (for example, "机器人 1") or its GUID; WPE resolves a unique name internally and reports missing or duplicate names. type values are 0=send task GUID, 1=delay, 2=loop start, 3=loop end, 4=keyboard, 5=mouse, 6=send-packet list, 7=system socket, 8=switch. content is only that instruction's parameter—never prefix it with type or a localized name. For a fixed 1000 ms delay call type=1 and content="1000"; a random delay is "min-max" such as "500-1000". |
wpe_robot_instructions_save | Replace a robot's complete instruction list atomically after local confirmation. Use this for loops because WPE rejects a temporarily unmatched loop start/end. robot accepts its exact visible name or GUID. instructions is an ordered array of native instruction objects: delay uses type 1 with content milliseconds (or min-max); loop start uses type 2 with positive count content; loop end uses type 3 with empty content; keyboard uses type 4 with content action|key, where action is Press, Down, Up, Combine, or Text and the number-row 1 key is Press|D1. Read wpe_robot_get afterwards to verify the saved order. |
wpe_robot_instruction_action | Edit native robot instructions after local confirmation. action must be top, up, down, bottom, delete, or clear (copy is not supported). robotId accepts the exact visible robot name or GUID; indexes are zero-based positions in the current wpe_robot_get instruction array, and may be empty only for clear. |
wpe_robot_set_enabled | Enable or disable one existing WPE robot task after local confirmation. id accepts its exact visible name or GUID. This never starts the robot. |
wpe_robot_create | Create one empty WPE robot task after local confirmation. This creates a robot only; it never executes it. |
wpe_robot_update | Update one existing WPE robot task by GUID. This never starts the robot. |
wpe_robot_move | Move selected existing WPE robot tasks by GUID. direction must be top, up, down, or bottom. |
wpe_robot_copy | Copy selected existing WPE robot tasks by GUID. This never starts robots. |
wpe_robot_delete | Delete selected existing WPE robot tasks by GUID after local confirmation. This never starts robots. |
wpe_robots_clear | Clear all WPE robot tasks after local confirmation. This never starts robots. |
Warehouse · 16 tools
| Tool | What it does |
|---|---|
wpe_warehouse_list | List a bounded page of warehouse metadata. |
wpe_warehouse_get | Get one warehouse and a bounded page of its stored-packet records. REQUIRED: first call wpe_warehouse_list, then pass that row's Id GUID as id. Do not omit id and do not use the warehouse display name. |
wpe_auto_stores_list | List automatic warehouse rules without changing them. |
wpe_auto_stores_save | Create or update one automatic warehouse rule after local confirmation. An empty id creates a disabled rule; warehouseId accepts its exact visible warehouse name or GUID. |
wpe_auto_stores_set_enabled | Enable or disable one automatic warehouse rule after local confirmation. |
wpe_auto_stores_delete | Delete one automatic warehouse rule after local confirmation. |
wpe_warehouse_stores_action | Edit selected warehouse packets after local confirmation. action must be top, up, down, bottom, copy, export, or delete. warehouseId accepts its exact visible name or GUID; storeIds must be IDs returned by wpe_warehouse_get. Export opens WPE's local save dialog. |
wpe_warehouse_stores_command | Run a native warehouse command after local confirmation. action must be import, export, or clear. warehouseId accepts its exact visible name or GUID. Import/export open WPE's local file dialogs. |
wpe_warehouse_create | Create one empty WPE warehouse after local confirmation. This creates storage only; it does not import or alter captured packets. |
wpe_warehouse_update | Update one existing WPE warehouse name by GUID. |
wpe_warehouse_move | Move selected existing WPE warehouses by GUID. direction must be top, up, down, or bottom. |
wpe_warehouse_copy | Copy selected existing WPE warehouses by GUID. |
wpe_warehouse_delete | Delete selected existing WPE warehouses by GUID after local confirmation. |
wpe_warehouses_clear | Clear all WPE warehouses after local confirmation. |
wpe_capture_add_to_warehouse | Copy selected inject-capture packets into an existing warehouse after local confirmation. warehouseId accepts its exact visible name or GUID. |
wpe_proxy_capture_add_to_warehouse | Copy selected proxy-capture packets into an existing warehouse after local confirmation. warehouseId accepts its exact visible name or GUID. |
Settings · 11 tools
| Tool | What it does |
|---|---|
wpe_remote_management_get | Return WPE remote-management configuration, including the administrator credentials and whether its HTTP server is running. |
wpe_remote_management_save | Save WPE remote-management address and administrator credentials, then start or stop its existing HTTP server according to enabled. |
wpe_setting_get | Return the complete configuration snapshot for one WPE settings page. page is proxy, process, leach, hook, list, map, extproxy, hotkey, remote, firewall, system, or log; mode is proxy or inject where applicable. Backup has no readable settings page; use wpe_export or wpe_import directly. |
wpe_setting_save | Save one WPE settings page using its complete current-page values. First call wpe_setting_get for the same page, then submit that returned object with only intentional edits: do not invent values or omitted fields. page is proxy, list, map, extproxy, hotkey, remote, firewall, system, or log; use the specialized process/leach/hook/backup tools for those native workflows. |
wpe_map_local_save | Create or update one WPE local HTTP mapping rule. id is the returned mapping GUID, or an empty string to create; protocol is 0 for HTTP or 1 for HTTPS. |
wpe_map_remote_save | Create or update one WPE remote HTTP mapping rule. id is the returned mapping GUID, or an empty string to create; protocolFrom and protocolTo are each 0 for HTTP or 1 for HTTPS. |
wpe_wpc_servers_list | List WPE ProxyCap (WPC) server configurations and their rule counts. |
wpe_wpc_server_save | Create or update one WPE ProxyCap (WPC) server, including its three client URL fields. To create, omit id entirely; the result returns the generated GUID. To update, id accepts the exact visible server name or GUID. |
wpe_wpc_server_rules_list | List proxy rules under one WPC server. serverId accepts its exact server name or GUID. |
wpe_wpc_server_rule_save | Create or update one proxy rule under a WPE ProxyCap (WPC) server. serverId accepts the exact visible server name or GUID. To create a rule, omit id; to update, use the rule GUID returned by wpe_wpc_server_rules_list. type is the native RuleType numeric value 0=DOMAIN, 1=DOMAIN-SUFFIX, 2=DOMAIN-KEYWORD, 3=DOMAIN-REGEX, 4=GEOIP, 5=GEOSITE, 6=IP-CIDR, 7=IP-CIDR6, 8=SRC-IP-CIDR, 9=SRC-PORT, 10=DST-PORT, 11=PROCESS-NAME, 12=PROCESS-PATH, 13=NETWORK, 14=RULE-SET, 15=MATCH, 16=AND, 17=OR, 18=NOT, 19=SUB-RULE, 20=IN-PORT, 21=UI-EX, 22=COMMAND, 23=DEVICE-NAME; action is 0=PROXY, 1=REJECT, or 2=DIRECT. A global proxy rule is enabled MATCH (type 15), empty argument, PROXY (action 0). |
wpe_start_mode_select | Select WPE proxy or inject mode only while WPE is on its start page; success opens that mode's page. This never starts proxy listeners or injects. If the requested mode is already selected, it returns an unchanged successful state; a different selected mode returns a structured unavailable state. |
Other · 3 tools
| Tool | What it does |
|---|---|
wpe_status_get | Return the current WPE runtime status. |
wpe_logs_list | List a bounded page of WPE logs. kind must be system, filter, proxy, or mcp. |
wpe_logs_all_list | List a single time-ordered page across all WPE system, filter, proxy, and MCP operational logs. |