Fatbeans.MCP.Client 是独立的控制台客户端,用于从命令行、脚本、外部进程或 AI Agent 调用主程序中的 PipeServer;同时也支持以 MCP stdio server 方式启动,对外暴露一组可直接被 MCP Host 调用的 tools。
本文档以当前代码实现为准,覆盖:
^> 说明:下文所有命令示例都省略了 dotnet run --project ... 前缀,统一写成 Fatbeans.MCP.Client ...。如果你使用的是发布后的可执行文件,也可以直接替换为实际的 exe 路径。
本项目使用:
.NET SDK 9.0TargetFramework: net9.0ModelContextProtocol 1.2.0它是独立的 net9.0 客户端,不依赖主程序的 .NET Framework 4.5 目标框架。
Fatbeans.MCP.Client 主要有两种使用方式:
CLI 直连 Pipe 调用
system.ping、capture.start、packet.listMCP stdio server
Configuration:CLI 参数与 MCP 运行配置Infrastructure/Pipe:Pipe 通信封装Features/System:system.* 与自省能力Features/Mcp:MCP Server Host 与通用 Pipe toolsFeatures/Archive:归档相关封装Features/Capture:抓包控制相关封装Features/Packet:封包读取、搜索、重发、备注相关封装Features/Intercept:拦截规则封装Features/Modify:修改器规则封装Features/Responser:回复器规则封装Features/Redirect:重定向规则封装Features/Proxy:Socks5 与二级代理封装Features/HttpSender:HTTP 发送方案封装Features/Value:取值器分类和值定义封装Fatbeans.MCP.Client ^<method^> [paramsJson] [--pipe ^<name^>] [--server ^<name^>] [--timeout ^<ms^>] [--pretty]
示例:
Fatbeans.MCP.Client system.ping
Fatbeans.MCP.Client system.version --pretty
Fatbeans.MCP.Client capture.status --pretty
Fatbeans.MCP.Client packet.list "{\"pageIndex\":1,\"pageSize\":20}" --pretty
Fatbeans.MCP.Client demo.echo "{\"text\":\"hello\"}"
Fatbeans.MCP.Client --mcp [--mcp-full] [--pipe ^<name^>] [--server ^<name^>] [--timeout ^<ms^>]
示例:
Fatbeans.MCP.Client --mcp
Fatbeans.MCP.Client --mcp --mcp-full
Fatbeans.MCP.Client --mcp --pipe fatbeans.mcp
Fatbeans.MCP.Client --mcp --mcp-full --pipe fatbeans.mcp --timeout 10000
--pipe ^<name^>:Pipe 名称,默认 fatbeans.mcp--server ^<name^>:服务器名,默认 .--timeout ^<ms^>:连接超时毫秒数,默认 5000--pretty:将输出 JSON 美化格式化--mcp:以 MCP stdio server 模式运行,默认使用精简工具集--mcp-full:在 MCP 模式下暴露全量工具集--help 或 -h:显示帮助示例:
Fatbeans.MCP.Client system.status --pretty
Fatbeans.MCP.Client system.ping --pipe fatbeans.mcp --timeout 8000
Fatbeans.MCP.Client --help
paramsJson示例:
Fatbeans.MCP.Client system.help "{\"method\":\"capture.start\"}" --pretty
Fatbeans.MCP.Client capture.config_select "{\"configName\":\"默认配置\"}" --pretty
Fatbeans.MCP.Client packet.memo.set "{\"guid\":\"^<packet-guid^>\",\"memo\":\"登录请求\"}" --pretty
客户端输出统一为 JSON。
012示例:
Fatbeans.MCP.Client system.ping
Fatbeans.MCP.Client system.version --pretty
Fatbeans.MCP.Client system.ping
Fatbeans.MCP.Client system.version --pretty
Fatbeans.MCP.Client system.status --pretty
Fatbeans.MCP.Client system.listMethods --pretty
Fatbeans.MCP.Client system.help "{\"method\":\"system.ping\"}" --pretty
Fatbeans.MCP.Client system.help "{\"method\":\"packet.list\"}" --pretty
CLI 本身支持直接传入任意方法名,因此不需要额外的 pipe.invoke 命令行封装。
Fatbeans.MCP.Client proxy.socks5.status --pretty
Fatbeans.MCP.Client redirect.list --pretty
Fatbeans.MCP.Client archive.history.list --pretty
当前客户端已接入或可直接调用以下类别的方法:
system.*capture.*packet.*archive.*intercept.rule.*modify.rule.*responser.rule.*redirect.*proxy.*http_sender.*value.*^<method^> 方式调用)system.*system.pingsystem.versionsystem.statussystem.modeGetsystem.logsGetsystem.listMethods(本地实现)system.help(本地实现)Fatbeans.MCP.Client system.ping
Fatbeans.MCP.Client system.version --pretty
Fatbeans.MCP.Client system.status --pretty
Fatbeans.MCP.Client system.modeGet --pretty
Fatbeans.MCP.Client system.logsGet "{\"lines\":50}" --pretty
Fatbeans.MCP.Client system.listMethods --pretty
Fatbeans.MCP.Client system.help "{\"method\":\"capture.config_create\"}" --pretty
capture.*capture.startcapture.stopcapture.pausecapture.resumecapture.resetcapture.clearcapture.statuscapture.config_listcapture.config_selectcapture.config_createcapture.config_getcapture.target_allcapture.target_process_idscapture.target_process_namescapture.target_selfcapture.target_launch_and_startFatbeans.MCP.Client capture.start --pretty
Fatbeans.MCP.Client capture.status --pretty
Fatbeans.MCP.Client capture.pause --pretty
Fatbeans.MCP.Client capture.resume --pretty
Fatbeans.MCP.Client capture.stop --pretty
Fatbeans.MCP.Client capture.clear --pretty
Fatbeans.MCP.Client capture.reset --pretty
Fatbeans.MCP.Client capture.config_list --pretty
Fatbeans.MCP.Client capture.config_get --pretty
Fatbeans.MCP.Client capture.config_select "{\"configId\":\"1\"}" --pretty
Fatbeans.MCP.Client capture.config_select "{\"configName\":\"默认配置\"}" --pretty
Fatbeans.MCP.Client capture.config_create "{\"configName\":\"TCP-8089\",\"expression\":\"tcp.SrcPort == 8089 or tcp.DstPort == 8089\",\"rangeType\":\"CustomCondition\",\"tcp\":true,\"udp\":false,\"http\":false,\"selectAfterCreate\":true}" --pretty
Fatbeans.MCP.Client capture.target_all --pretty
Fatbeans.MCP.Client capture.target_process_ids "{\"processId\":1234}" --pretty
Fatbeans.MCP.Client capture.target_process_ids "{\"processIds\":[1234,5678]}" --pretty
Fatbeans.MCP.Client capture.target_process_names "{\"processName\":\"chrome\"}" --pretty
Fatbeans.MCP.Client capture.target_process_names "{\"processNames\":[\"chrome\",\"WeChat\"]}" --pretty
Fatbeans.MCP.Client capture.target_self --pretty
Fatbeans.MCP.Client capture.target_launch_and_start "{\"filePath\":\"C:\\Windows\\System32\\notepad.exe\",\"arguments\":\"C:\\temp\\a.txt\"}" --pretty
packet.*packet.listpacket.getpacket.countpacket.summary.getpacket.searchpacket.memo.getpacket.memo.setpacket.resendpacket.modify_and_resendpacket.convertpacket.listnotepacket.editnotepacket.delnoteFatbeans.MCP.Client packet.count --pretty
Fatbeans.MCP.Client packet.list "{\"pageIndex\":1,\"pageSize\":20}" --pretty
Fatbeans.MCP.Client packet.summary.get "{\"index\":1}" --pretty
Fatbeans.MCP.Client packet.get "{\"guid\":\"^<packet-guid^>\"}" --pretty
Fatbeans.MCP.Client packet.get "{\"index\":1}" --pretty
Fatbeans.MCP.Client packet.search "{\"searchValue\":\"token=\",\"searchType\":\"Text\",\"startIndex\":0}" --pretty
Fatbeans.MCP.Client packet.search "{\"searchValue\":\"0AFFE8D6\",\"searchType\":\"Hex\"}" --pretty
Fatbeans.MCP.Client packet.memo.set "{\"guid\":\"^<packet-guid^>\",\"memo\":\"登录请求\"}" --pretty
Fatbeans.MCP.Client packet.memo.get "{\"guid\":\"^<packet-guid^>\"}" --pretty
Fatbeans.MCP.Client packet.memo.get "{\"guids\":[\"^<guid1^>\",\"^<guid2^>\"]}" --pretty
Fatbeans.MCP.Client packet.resend "{\"guid\":\"^<packet-guid^>\"}" --pretty
Fatbeans.MCP.Client packet.resend "{\"guids\":[\"^<guid1^>\",\"^<guid2^>\"]}" --pretty
Fatbeans.MCP.Client packet.modify_and_resend "{\"guid\":\"^<packet-guid^>\",\"hexData\":\"0A FF E8 D6\"}" --pretty
Fatbeans.MCP.Client packet.modify_and_resend "{\"guid\":\"^<packet-guid^>\",\"requestMethod\":\"POST\",\"url\":\"https://example.com/api/login\",\"requestBodyText\":\"user=demo^&token=123\"}" --pretty
Fatbeans.MCP.Client packet.convert "{\"guid\":\"^<packet-guid^>\",\"format\":\"Hex\"}" --pretty
Fatbeans.MCP.Client packet.convert "{\"guid\":\"^<packet-guid^>\",\"format\":\"CSharpArray\"}" --pretty
Fatbeans.MCP.Client packet.convert "{\"index\":1,\"format\":\"Text\",\"textEncoding\":\"UTF-8\"}" --pretty
Fatbeans.MCP.Client packet.listnote "{\"guid\":\"^<packet-guid^>\"}" --pretty
Fatbeans.MCP.Client packet.editnote "{\"guid\":\"^<packet-guid^>\",\"startOffset\":0,\"endOffset\":3,\"memo\":\"消息头\"}" --pretty
Fatbeans.MCP.Client packet.delnote "{\"guid\":\"^<packet-guid^>\",\"startOffset\":0,\"endOffset\":3}" --pretty
archive.*archive.openarchive.save_allarchive.save_visiblearchive.history.listarchive.history.cleararchive.export.jsonarchive.export.textarchive.export.xmlarchive.export.csvFatbeans.MCP.Client archive.open "{\"filePath\":\"D:\\capture.fatbeans\"}" --pretty
Fatbeans.MCP.Client archive.save_all "{\"filePath\":\"D:\\all.fatbeans\"}" --pretty
Fatbeans.MCP.Client archive.save_visible "{\"filePath\":\"D:\\visible.fatbeans\"}" --pretty
Fatbeans.MCP.Client archive.history.list --pretty
Fatbeans.MCP.Client archive.history.clear --pretty
Fatbeans.MCP.Client archive.export.json "{\"filePath\":\"D:\\packets.json\",\"sourceType\":\"packet\"}" --pretty
Fatbeans.MCP.Client archive.export.text "{\"filePath\":\"D:\\packets.txt\",\"sourceType\":\"packet\"}" --pretty
Fatbeans.MCP.Client archive.export.xml "{\"filePath\":\"D:\\packets.xml\",\"sourceType\":\"group\"}" --pretty
Fatbeans.MCP.Client archive.export.csv "{\"filePath\":\"D:\\packets.csv\",\"sourceType\":\"packet\"}" --pretty
intercept.rule.*intercept.rule.listintercept.rule.createintercept.rule.updateintercept.rule.deleteintercept.rule.enableintercept.rule.disableintercept.rule.cloneFatbeans.MCP.Client intercept.rule.list --pretty
Fatbeans.MCP.Client intercept.rule.create "{\"ruleName\":\"拦截登录\",\"interceptExpression\":\"Contains(RequestBodyText, \\"login\\")\",\"isEnable\":true}" --pretty
Fatbeans.MCP.Client intercept.rule.update "{\"ruleId\":\"^<rule-id^>\",\"ruleName\":\"拦截登录请求\",\"passExpression\":\"Contains(URL, \\"/health\\")\"}" --pretty
Fatbeans.MCP.Client intercept.rule.enable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client intercept.rule.disable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client intercept.rule.clone "{\"ruleId\":\"^<rule-id^>\",\"newRuleName\":\"复制-拦截登录\"}" --pretty
Fatbeans.MCP.Client intercept.rule.delete "{\"ruleId\":\"^<rule-id^>\"}" --pretty
modify.rule.*modify.rule.listmodify.rule.createmodify.rule.updatemodify.rule.createhttpmodify.rule.updatehttpmodify.rule.deletemodify.rule.enablemodify.rule.disablemodify.rule.cloneFatbeans.MCP.Client modify.rule.list --pretty
Fatbeans.MCP.Client modify.rule.create "{\"ruleName\":\"token 替换\",\"ruleType\":\"SEARCHANDREPLACE\",\"searchType\":\"TEXT\",\"replaceType\":\"TEXT\",\"searchContent\":\"token=old\",\"replaceContent\":\"token=new\",\"isEnable\":true}" --pretty
Fatbeans.MCP.Client modify.rule.update "{\"ruleId\":\"^<rule-id^>\",\"replaceContent\":\"token=changed\",\"isEnable\":true}" --pretty
Fatbeans.MCP.Client modify.rule.enable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client modify.rule.disable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client modify.rule.clone "{\"ruleId\":\"^<rule-id^>\",\"newRuleName\":\"复制-token 替换\"}" --pretty
Fatbeans.MCP.Client modify.rule.delete "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client modify.rule.createhttp "{\"ruleName\":\"请求 token 替换\",\"requestReplaceType\":\"TEXT\",\"requestSearchText\":\"token=old\",\"requestReplaceText\":\"token=new\",\"isEnable\":true}" --pretty
Fatbeans.MCP.Client modify.rule.createhttp "{\"ruleName\":\"Header 重写\",\"requestHeadReplacesJson\":\"{\\"User-Agent\\":\\"FatbeansBot\\"}\",\"responseHeadReplacesJson\":\"{\\"Server\\":\\"CustomServer\\"}\"}" --pretty
Fatbeans.MCP.Client modify.rule.updatehttp "{\"ruleId\":\"^<rule-id^>\",\"urlQueryReplacesJson\":\"{\\"token\\":\\"123456\\"}\"}" --pretty
Fatbeans.MCP.Client modify.rule.updatehttp "{\"ruleId\":\"^<rule-id^>\",\"requestReplaceType\":\"TEXT\",\"requestSearchText\":\"old\",\"requestReplaceText\":\"new\"}" --pretty
responser.rule.*responser.rule.listresponser.rule.createresponser.rule.updateresponser.rule.deleteresponser.rule.enableresponser.rule.disableresponser.rule.cloneFatbeans.MCP.Client responser.rule.list --pretty
Fatbeans.MCP.Client responser.rule.create "{\"ruleName\":\"固定回复\",\"searchHex\":\"01 02 03\",\"responseHex\":\"AA BB CC\",\"isEnable\":true}" --pretty
Fatbeans.MCP.Client responser.rule.update "{\"ruleId\":\"^<rule-id^>\",\"delayTime\":200,\"responseHex\":\"DD EE FF\"}" --pretty
Fatbeans.MCP.Client responser.rule.enable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client responser.rule.disable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client responser.rule.clone "{\"ruleId\":\"^<rule-id^>\",\"newRuleName\":\"复制-固定回复\"}" --pretty
Fatbeans.MCP.Client responser.rule.delete "{\"ruleId\":\"^<rule-id^>\"}" --pretty
redirect.*^> 仅全能模式可用。
redirect.listredirect.add_tcpredirect.add_httpredirect.delredirect.rule_enableredirect.rule_disableredirect.rule_cloneFatbeans.MCP.Client redirect.list --pretty
Fatbeans.MCP.Client redirect.add_tcp "{\"ruleName\":\"TCP 重定向\",\"orgTarget\":\"192.168.1.*:8080\",\"redirectTarget\":\"127.0.0.1:9000\",\"isEnable\":true}" --pretty
Fatbeans.MCP.Client redirect.rule_enable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client redirect.rule_disable "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client redirect.rule_clone "{\"ruleId\":\"^<rule-id^>\",\"newRuleName\":\"复制-TCP 重定向\"}" --pretty
Fatbeans.MCP.Client redirect.del "{\"ruleId\":\"^<rule-id^>\"}" --pretty
Fatbeans.MCP.Client redirect.add_http "{\"ruleName\":\"HTTP 重定向\",\"orgTarget\":\"https://api.example.com/*\",\"redirectTarget\":\"https://127.0.0.1:8443/\",\"isEnable\":true}" --pretty
Fatbeans.MCP.Client redirect.add_http "{\"ruleName\":\"带排除规则的 HTTP 重定向\",\"orgTarget\":\"https://example.com/*\",\"redirectTarget\":\"https://127.0.0.1:8443/\",\"excludes\":[\"https://example.com/health\",\"https://example.com/status\"]}" --pretty
proxy.*proxy.socks5.statusproxy.socks5.toggleproxy.socks5.config.getproxy.socks5.config.setproxy.level2.setFatbeans.MCP.Client proxy.socks5.status --pretty
Fatbeans.MCP.Client proxy.socks5.toggle "{\"isOpen\":true}" --pretty
Fatbeans.MCP.Client proxy.socks5.toggle "{\"isOpen\":false}" --pretty
Fatbeans.MCP.Client proxy.socks5.config.get --pretty
Fatbeans.MCP.Client proxy.socks5.config.set "{\"serverIP\":\"127.0.0.1\",\"serverPort\":1080,\"isOpen\":true}" --pretty
Fatbeans.MCP.Client proxy.socks5.config.set "{\"serverPort\":1088}" --pretty
Fatbeans.MCP.Client proxy.level2.set "{\"name\":\"本地 HTTP 二级代理\",\"type\":\"Http\",\"serverIP\":\"127.0.0.1\",\"serverPort\":8888,\"isEnable\":true}" --pretty
Fatbeans.MCP.Client proxy.level2.set "{\"name\":\"Socks5 白名单代理\",\"type\":\"Socks5\",\"serverIP\":\"127.0.0.1\",\"serverPort\":1080,\"limitType\":\"WhiteList\",\"limitList\":[\".*example\\.com\",\".*api\\.test\\.com\"],\"isEnable\":true}" --pretty
Fatbeans.MCP.Client proxy.level2.set "{\"disable\":true}" --pretty
http_sender.*http_sender.scheme.listhttp_sender.scheme.createhttp_sender.scheme.deletehttp_sender.scheme.renamehttp_sender.scheme.clonehttp_sender.packet.listhttp_sender.packet.addhttp_sender.packet.updatehttp_sender.packet.deletehttp_sender.packet.clonehttp_sender.starthttp_sender.stophttp_sender.statusFatbeans.MCP.Client http_sender.scheme.list --pretty
Fatbeans.MCP.Client http_sender.scheme.create "{\"schemeName\":\"Demo HTTP\",\"loopMode\":\"ListLoop\",\"sendNumber\":10,\"sendIntervalMin\":500,\"sendIntervalMax\":1000}" --pretty
Fatbeans.MCP.Client http_sender.scheme.rename "{\"schemeId\":\"^<scheme-id^>\",\"newSchemeName\":\"新的方案名\"}" --pretty
Fatbeans.MCP.Client http_sender.scheme.clone "{\"schemeId\":\"^<scheme-id^>\",\"newSchemeName\":\"复制方案\"}" --pretty
Fatbeans.MCP.Client http_sender.scheme.delete "{\"schemeId\":\"^<scheme-id^>\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.list "{\"schemeId\":\"^<scheme-id^>\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.add "{\"schemeId\":\"^<scheme-id^>\",\"requestMethod\":\"GET\",\"url\":\"https://example.com/\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.add "{\"schemeId\":\"^<scheme-id^>\",\"rawRequest\":\"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.add "{\"schemeId\":\"^<scheme-id^>\",\"guid\":\"^<packet-guid^>\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.update "{\"schemeId\":\"^<scheme-id^>\",\"packetId\":\"^<packet-id^>\",\"requestMethod\":\"POST\",\"url\":\"https://example.com/api/login\",\"bodyText\":\"user=demo^&pwd=123\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.clone "{\"schemeId\":\"^<scheme-id^>\",\"packetId\":\"^<packet-id^>\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.delete "{\"schemeId\":\"^<scheme-id^>\",\"packetId\":\"^<packet-id^>\"}" --pretty
Fatbeans.MCP.Client http_sender.start "{\"schemeId\":\"^<scheme-id^>\"}" --pretty
Fatbeans.MCP.Client http_sender.status --pretty
Fatbeans.MCP.Client http_sender.stop --pretty
value.*value.category.listvalue.category.createvalue.category.renamevalue.category.deletevalue.category.clonevalue.listvalue.create_simplevalue.create_from_packetvalue.create_expressionvalue.updatevalue.deletevalue.clonevalue.resolveFatbeans.MCP.Client value.category.list --pretty
Fatbeans.MCP.Client value.category.create "{\"categoryName\":\"登录流程\"}" --pretty
Fatbeans.MCP.Client value.category.rename "{\"categoryId\":\"^<category-id^>\",\"newCategoryName\":\"新的分类名\"}" --pretty
Fatbeans.MCP.Client value.category.clone "{\"categoryId\":\"^<category-id^>\",\"newCategoryName\":\"复制后的分类\"}" --pretty
Fatbeans.MCP.Client value.category.delete "{\"categoryId\":\"^<category-id^>\"}" --pretty
Fatbeans.MCP.Client value.list "{\"categoryId\":\"^<category-id^>\"}" --pretty
Fatbeans.MCP.Client value.create_simple "{\"categoryId\":\"^<category-id^>\",\"valueName\":\"固定Token\",\"dataType\":\"String\",\"simpleValue\":\"hello\"}" --pretty
Fatbeans.MCP.Client value.create_from_packet "{\"categoryId\":\"^<category-id^>\",\"valueName\":\"Seq\",\"dataType\":\"Int\",\"searchHex\":\"AA BB 01\",\"fromPacketStartIndex\":4,\"fromPacketLen\":4,\"byteEndian\":\"BigEndian\"}" --pretty
Fatbeans.MCP.Client value.create_expression "{\"categoryId\":\"^<category-id^>\",\"valueName\":\"组合值\",\"dataType\":\"String\",\"expression\":\"\\"{固定Token}\\" + \\"_world\\"\"}" --pretty
Fatbeans.MCP.Client value.update "{\"valueId\":\"^<value-id^>\",\"valueName\":\"新的名称\",\"simpleValue\":\"ABC\"}" --pretty
Fatbeans.MCP.Client value.clone "{\"valueId\":\"^<value-id^>\",\"newValueName\":\"复制后的值\"}" --pretty
Fatbeans.MCP.Client value.delete "{\"valueId\":\"^<value-id^>\"}" --pretty
Fatbeans.MCP.Client value.resolve "{\"valueId\":\"^<value-id^>\"}" --pretty
Fatbeans.MCP.Client value.resolve "{\"valueId\":\"^<value-id^>\",\"guid\":\"^<packet-guid^>\"}" --pretty
当使用 --mcp 启动时,客户端会作为 MCP Server 暴露 tools。底层使用标准输入输出通信,适合 MCP Host 接入。
Fatbeans.MCP.Client --mcp
Fatbeans.MCP.Client --mcp --mcp-full
Fatbeans.MCP.Client --mcp --pipe fatbeans.mcp
Fatbeans.MCP.Client --mcp --mcp-full --pipe fatbeans.mcp --server . --timeout 10000
默认 --mcp 使用精简模式,只暴露:
CompactMcpTools如果使用 --mcp-full,则暴露全量工具集:
PipeMcpToolsHttpSenderMcpToolsValueMcpToolsProxyMcpToolsRedirectMcpTools精简模式下仅暴露以下工具:
SystemPingSystemVersionSystemStatusSystemModeGetSystemLogsGetListMethodsGetMethodHelpPipeInvoke^> 以下为 --mcp-full 模式下的全量工具总览。
PipeMcpTools这些 tools 主要覆盖系统、抓包、封包、归档、拦截、修改、回复器和本地自省能力:
SystemPingSystemVersionSystemStatusSystemModeGetSystemLogsGetCaptureStartCaptureStopCapturePauseCaptureResumeCaptureResetCaptureClearCaptureStatusCaptureConfigListCaptureConfigSelectCaptureConfigCreateCaptureConfigGetCaptureTargetAllCaptureTargetProcessIdsCaptureTargetProcessNamesCaptureTargetSelfCaptureTargetLaunchAndStartPacketListPacketSummaryGetPacketSearchPacketMemoGetPacketMemoSetPacketResendPacketModifyAndResendPacketConvertPacketListNotePacketEditNotePacketDelNotePacketGetPacketCountInterceptRuleListInterceptRuleCreateInterceptRuleUpdateInterceptRuleDeleteInterceptRuleEnableInterceptRuleDisableInterceptRuleCloneModifyRuleListModifyRuleCreateModifyRuleUpdateModifyRuleCreateHttpModifyRuleUpdateHttpModifyRuleDeleteModifyRuleEnableModifyRuleDisableModifyRuleCloneResponserRuleListResponserRuleCreateResponserRuleUpdateResponserRuleDeleteResponserRuleEnableResponserRuleDisableResponserRuleCloneArchiveOpenArchiveSaveAllArchiveSaveVisibleArchiveHistoryListArchiveHistoryClearArchiveExportJsonArchiveExportTextArchiveExportXmlArchiveExportCsvListMethodsGetMethodHelpPipeInvokeHttpSenderMcpToolsHttpSenderSchemeListHttpSenderSchemeCreateHttpSenderSchemeDeleteHttpSenderSchemeRenameHttpSenderSchemeCloneHttpSenderPacketListHttpSenderPacketAddHttpSenderPacketUpdateHttpSenderPacketDeleteHttpSenderPacketCloneHttpSenderStartHttpSenderStopHttpSenderStatusValueMcpToolsValueCategoryListValueCategoryCreateValueCategoryRenameValueCategoryDeleteValueCategoryCloneValueListValueCreateSimpleValueCreateFromPacketValueCreateExpressionValueUpdateValueDeleteValueCloneValueResolveProxyMcpToolsProxySocks5StatusProxySocks5ToggleProxySocks5ConfigGetProxySocks5ConfigSetProxyLevel2SetRedirectMcpToolsRedirectListRedirectAddTcpRedirectAddHttpRedirectDeleteRedirectRuleEnableRedirectRuleDisableRedirectRuleClone客户端本地实现了以下方法:
system.listMethodssystem.help它们不依赖远端 Pipe 服务,可以在目标程序尚未完整实现自省接口时直接使用。
示例:
Fatbeans.MCP.Client system.listMethods --pretty
Fatbeans.MCP.Client system.help "{\"method\":\"system.ping\"}" --pretty
Fatbeans.MCP.Client system.help "{\"method\":\"http_sender.packet.add\"}" --pretty
^> 补充:当前本地自省结果主要覆盖 system/capture/packet/archive/intercept/modify/responser/redirect/http_sender/value 等已接入说明的方法;proxy.* 当前已具备 MCP tools 与 CLI 调用能力,但本地自省说明未完全覆盖时,应以本 README 和代码实现为准。
Fatbeans.MCP.Client system.status --pretty
Fatbeans.MCP.Client capture.status --pretty
Fatbeans.MCP.Client http_sender.status --pretty
Fatbeans.MCP.Client proxy.socks5.status --pretty
Fatbeans.MCP.Client capture.config_list --pretty
Fatbeans.MCP.Client packet.list "{\"pageIndex\":1,\"pageSize\":20}" --pretty
Fatbeans.MCP.Client intercept.rule.list --pretty
Fatbeans.MCP.Client modify.rule.list --pretty
Fatbeans.MCP.Client value.category.list --pretty
Fatbeans.MCP.Client http_sender.scheme.list --pretty
例如:
guidruleIdschemeIdpacketIdcategoryIdvalueIdFatbeans.MCP.Client capture.start --pretty
Fatbeans.MCP.Client capture.status --pretty
Fatbeans.MCP.Client packet.count --pretty
Fatbeans.MCP.Client packet.list "{\"pageIndex\":1,\"pageSize\":10}" --pretty
Fatbeans.MCP.Client packet.get "{\"index\":1}" --pretty
Fatbeans.MCP.Client archive.save_all "{\"filePath\":\"D:\\all.fatbeans\"}" --pretty
Fatbeans.MCP.Client archive.export.json "{\"filePath\":\"D:\\all.json\",\"sourceType\":\"packet\"}" --pretty
Fatbeans.MCP.Client archive.history.list --pretty
Fatbeans.MCP.Client http_sender.scheme.create "{\"schemeName\":\"登录压测\"}" --pretty
Fatbeans.MCP.Client http_sender.packet.add "{\"schemeId\":\"^<scheme-id^>\",\"requestMethod\":\"POST\",\"url\":\"https://example.com/api/login\",\"headers\":\"Content-Type: application/x-www-form-urlencoded\",\"bodyText\":\"user=demo^&pwd=123\"}" --pretty
Fatbeans.MCP.Client http_sender.start "{\"schemeId\":\"^<scheme-id^>\"}" --pretty
Fatbeans.MCP.Client http_sender.status --pretty
Fatbeans.MCP.Client http_sender.stop --pretty
Fatbeans.MCP.Client value.category.create "{\"categoryName\":\"登录流程\"}" --pretty
Fatbeans.MCP.Client value.create_simple "{\"categoryId\":\"^<category-id^>\",\"valueName\":\"固定Token\",\"dataType\":\"String\",\"simpleValue\":\"hello\"}" --pretty
:: 假设 categoryId 是 123
Fatbeans.MCP.Client value.create_expression "{\"categoryId\":\"123\",\"valueName\":\"组合值\",\"dataType\":\"String\",\"expression\":\"{固定Token}\"}" --pretty
Fatbeans.MCP.Client value.list "{\"categoryId\":\"^<category-id^>\"}" --pretty
Fatbeans.MCP.Client value.resolve "{\"valueId\":\"^<value-id^>\"}" --pretty
^<method^> [paramsJson] 方式直接调用system.helpNo reviews yet. Be the first to rate this tool.
Sign in to leave a review.