Feature: Add MCP (Model Context Protocol) server integration

Add an optional MCP server (JSON-RPC 2.0 over Streamable HTTP) exposing
an online-host listing tool, protected by a Bearer token. Disabled by
default; configured via a new "Extensions > MCP Settings" dialog.

- McpServer: httplib + JSON-RPC 2.0 dispatch (initialize/ping/tools/list/tools/call)
- McpSettingsDlg: runtime-created dialog for enable/port/bind/token
- HostJson: extract single-host JSON serialization shared with WebService
- FRP: expose MCP port (union with listening/Web ports) when bound to 0.0.0.0
- i18n: en_US / zh_TW translations

Co-Authored-By: deepseek-v4-pro
This commit is contained in:
yuanyuanxiang
2026-08-16 13:58:36 +02:00
parent 43398e405e
commit 13052b7cae
17 changed files with 1313 additions and 95 deletions

View File

@@ -427,6 +427,7 @@ Rar
生成+AES -> bin 文件=Generate+AES -> bin File
测试 AES bin文件=Test AES bin File
替换图标(&R)=&Replace Icon
插件(&P)=&Plugins
刷新插件(&P)=Refresh &Plugins
口令生成(&A)=&Auth Generate
主控生成(&M)=&Master Generate
@@ -1978,3 +1979,12 @@ FRPC Զ
已将 %d 个 IP 从黑名单移除=Removed %d IP(s) from blacklist
已恢复 %d 个客户端的授权状态=Restored authorization for %d client(s)
未找到需要解除封禁的 IP=No IPs found that need unbanning
; ===== MCP Settings =====
MCP设置=MCP Settings
MCP设置(&M)...=MCP Settings(&M)...
启用 MCP=Enable MCP
绑定地址=Bind Address
端口需为 1-65535 的数字=Port must be a number between 1 and 65535
Token 不能为空=Token cannot be empty
MCP 设置已保存。=MCP settings saved.
启用/端口/绑定地址/Token 的改动需重启程序生效。=Changes to enable/port/bind address/token take effect after restart.

View File

@@ -427,6 +427,7 @@ Rar
生成+AES -> bin 文件=產生+AES -> bin 檔案
测试 AES bin文件=測試 AES bin 檔案
替换图标(&R)=替換圖示(&R)
插件(&P)=外掛程式(&P)
刷新插件(&P)=重新整理外掛程式(&P)
口令生成(&A)=密碼產生(&A)
主控生成(&M)=主控產生(&M)
@@ -1969,3 +1970,12 @@ FRPC Զ
已将 %d 个 IP 从黑名单移除=已將 %d 個 IP 從黑名單移除
已恢复 %d 个客户端的授权状态=已恢復 %d 個客戶端的授權狀態
未找到需要解除封禁的 IP=未找到需要解除封禁的 IP
; ===== MCP Settings =====
MCP设置=MCP設定
MCP设置(&M)...=MCP設定(&M)...
启用 MCP=啟用 MCP
绑定地址=綁定位址
端口需为 1-65535 的数字=連接埠需為 1-65535 的數字
Token 不能为空=Token 不能為空
MCP 设置已保存。=MCP 設定已儲存。
启用/端口/绑定地址/Token 的改动需重启程序生效。=啟用/連接埠/綁定位址/Token 的變更需重新啟動程式後生效。