From fb61ae27cf507c361c1f5b1947782a7d387a0e29 Mon Sep 17 00:00:00 2001 From: yuanzhipeng <2501363769@qq.com> Date: Mon, 25 May 2026 11:48:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9EHTML=E8=BD=ACURL?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E6=9C=8D=E5=8A=A1=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?API=E8=BD=AC=E6=8D=A2=E5=99=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增lzwcai_mcpskills_visual2url项目,提供本地HTML文件、HTML代码转可访问URL的MCP工具 - 重构lzwcai_mcp_api_converter配置加载逻辑,取消内存缓存复用,强制拉取最新配置并新增缓存降级容错机制 - 升级lzwcai_mcp_api_converter至0.2.5、项目模板至0.1.3 - 更新各示例项目的环境配置参数与模板工具配置 --- .../PKG-INFO | 12 + .../SOURCES.txt | 25 + .../dependency_links.txt | 1 + .../entry_points.txt | 2 + .../requires.txt | 6 + .../top_level.txt | 1 + .../lzwcai_mcp_api_converter.log | 96 +++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 213 bytes .../__pycache__/create_mcp.cpython-312.pyc | Bin 34961 -> 34346 bytes .../src/api_config_dcqwlucfo7h.json | 555 ++++++++++++++++++ .../api_auth_service.cpython-312.pyc | Bin 42765 -> 42777 bytes .../__pycache__/core_server.cpython-312.pyc | Bin 41513 -> 42421 bytes .../src/create_mcp.py | 40 +- .../__pycache__/api_helper.cpython-312.pyc | Bin 0 -> 15667 bytes lzwcai_mcp_api_converter/main.py | 4 +- lzwcai_mcp_api_converter/pyproject.toml | 2 +- .../tools_config.json | 6 +- lzwcai_mcpskills_template/pyproject.toml | 2 +- lzwcai_mcpskills_visual2url/README.md | 37 ++ .../.python-version | 1 + .../__pycache__/main.cpython-312.pyc | Bin 0 -> 12742 bytes .../schema_converter.cpython-312.pyc | Bin 0 -> 5534 bytes .../lzwcai_mcpskills_visual2url/main.py | 72 +++ lzwcai_mcpskills_visual2url/main.py | 9 + lzwcai_mcpskills_visual2url/pyproject.toml | 31 + .../logs/lzwcai_workflow_to_mcp.log | 150 ++--- .../logs/lzwcai_workflow_to_mcp_daily.log | 150 ++--- lzwcai_workflow_to_mcp/main.py | 4 +- 28 files changed, 1024 insertions(+), 182 deletions(-) create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/PKG-INFO create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/SOURCES.txt create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/dependency_links.txt create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/entry_points.txt create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/requires.txt create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/top_level.txt create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.log create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/__pycache__/__init__.cpython-312.pyc create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/api_config_dcqwlucfo7h.json create mode 100644 lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/util/__pycache__/api_helper.cpython-312.pyc create mode 100644 lzwcai_mcpskills_visual2url/README.md create mode 100644 lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/.python-version create mode 100644 lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/__pycache__/main.cpython-312.pyc create mode 100644 lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/__pycache__/schema_converter.cpython-312.pyc create mode 100644 lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/main.py create mode 100644 lzwcai_mcpskills_visual2url/main.py create mode 100644 lzwcai_mcpskills_visual2url/pyproject.toml diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/PKG-INFO b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/PKG-INFO new file mode 100644 index 0000000..1b601bb --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/PKG-INFO @@ -0,0 +1,12 @@ +Metadata-Version: 2.4 +Name: lzwcai-mcp-api-converter +Version: 0.2.5 +Summary: 基于FastMCP框架的动态API工具服务器,自动将企业业务API配置转换为MCP协议工具,支持多种传输方式、企业认证和参数验证,为AI助手提供标准化的业务接口访问能力。 +Requires-Python: >=3.10 +Description-Content-Type: text/markdown +Requires-Dist: dynaconf>=3.2.11 +Requires-Dist: httpx>=0.28.1 +Requires-Dist: jinja2==3.1.6 +Requires-Dist: mcp[cli]>=1.8.0 +Requires-Dist: requests>=2.31.0 +Requires-Dist: pypinyin>=0.54.0 diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/SOURCES.txt b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/SOURCES.txt new file mode 100644 index 0000000..48815ae --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/SOURCES.txt @@ -0,0 +1,25 @@ +pyproject.toml +setup.cfg +lzwcai_mcp_api_converter/__init__.py +lzwcai_mcp_api_converter.egg-info/PKG-INFO +lzwcai_mcp_api_converter.egg-info/SOURCES.txt +lzwcai_mcp_api_converter.egg-info/dependency_links.txt +lzwcai_mcp_api_converter.egg-info/entry_points.txt +lzwcai_mcp_api_converter.egg-info/requires.txt +lzwcai_mcp_api_converter.egg-info/top_level.txt +lzwcai_mcp_api_converter/src/__init__.py +lzwcai_mcp_api_converter/src/api_config.json +lzwcai_mcp_api_converter/src/create_mcp.py +lzwcai_mcp_api_converter/src/business/__init__.py +lzwcai_mcp_api_converter/src/business/business_util.py +lzwcai_mcp_api_converter/src/business/get_business_api.py +lzwcai_mcp_api_converter/src/core/__init__.py +lzwcai_mcp_api_converter/src/core/api_auth_service.py +lzwcai_mcp_api_converter/src/core/api_base.py +lzwcai_mcp_api_converter/src/core/core_server.py +lzwcai_mcp_api_converter/src/core/get_auth.py +lzwcai_mcp_api_converter/src/core/plugin_base.py +lzwcai_mcp_api_converter/src/util/__init__.py +lzwcai_mcp_api_converter/src/util/api_helper.py +lzwcai_mcp_api_converter/src/util/logger_config.py +lzwcai_mcp_api_converter/src/util/nested_value.py \ No newline at end of file diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/dependency_links.txt b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/entry_points.txt b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/entry_points.txt new file mode 100644 index 0000000..7504d25 --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/entry_points.txt @@ -0,0 +1,2 @@ +[console_scripts] +lzwcai-mcp-api-converter = lzwcai_mcp_api_converter.src.create_mcp:run_main diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/requires.txt b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/requires.txt new file mode 100644 index 0000000..df9559c --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/requires.txt @@ -0,0 +1,6 @@ +dynaconf>=3.2.11 +httpx>=0.28.1 +jinja2==3.1.6 +mcp[cli]>=1.8.0 +requests>=2.31.0 +pypinyin>=0.54.0 diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/top_level.txt b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/top_level.txt new file mode 100644 index 0000000..f33e29f --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.egg-info/top_level.txt @@ -0,0 +1 @@ +lzwcai_mcp_api_converter diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.log b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.log new file mode 100644 index 0000000..46fc2d7 --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.log @@ -0,0 +1,96 @@ +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 17:57:40 +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 17:57:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 17:57:52 +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 17:57:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 17:58:11 +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 17:58:11 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 17:58:59 +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 17:58:59 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 17:59:12 +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 17:59:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 18:04:50 +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 18:04:50 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 18:06:12 +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 18:06:12 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 18:10:29 +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 18:10:29 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 18:10:40 +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 18:10:40 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 18:11:20 +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 18:11:20 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 18:13:17 +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 18:13:17 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:215] - ================================================================================ +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:216] - 日志系统初始化完成 - 2026-03-18 18:16:52 +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:217] - 日志级别: INFO +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:218] - 日志文件: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_mcp_api_converter\lzwcai_mcp_api_converter.log +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:219] - 控制台输出: False +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:220] - 文件输出: True +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:221] - 文件轮转: 最大10MB, 保留5个备份 +2026-03-18 18:16:52 - lzwcai_mcp_api_converter.src.util.logger_config - INFO - [logger_config.py:222] - ================================================================================ diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/__pycache__/__init__.cpython-312.pyc b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d712163423cec82d83d0a763e15c8a4c04868eb GIT binary patch literal 213 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 Dwfb!k delta 6143 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 G>i#!c8)c&a diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/api_config_dcqwlucfo7h.json b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/api_config_dcqwlucfo7h.json new file mode 100644 index 0000000..347b642 --- /dev/null +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/api_config_dcqwlucfo7h.json @@ -0,0 +1,555 @@ +{ + "serverName": "lzwcai_mcp_api_converter", + "description": "金蝶销售报表", + "domainUrl": "http://39.108.116.74", + "packageName": "lzwcai-mcp-dyntoolapi", + "version": "1.0.0", + "apiConfig": [ + { + "id": "2033382693160300546", + "enterpriseId": "1932095424144715777", + "bizSysId": "2029468454441897985", + "domainUrl": "http://39.108.116.74", + "interfaceName": "金蝶销售报表", + "businessPrompts": "金蝶销售报表", + "returnType": "JSON", + "returnConversion": "{\"success_param\": \"code==200\", \"status_param\": \"code\", \"msg_param\": \"msg\", \"data\": \"data\"}", + "header": null, + "apiUrl": "/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.GetSysReportData.common.kdsvc", + "parametersFormat": "2", + "method": "POST", + "status": 1, + "version": "1.0.0", + "authenticationRequired": 1, + "responseExample": "{\"Result\": {\"IsSuccess\": true, \"RowCount\": 7954, \"Rows\": [[\"销售出库单\", \"101XSCKD20250100553\", \"金属粉\", \"1,194.69\", \"1,048.65\"], [\"应收单\", \"101YSD2025010486\", \"金属粉\", \"\", \"\"], [\"应收单\", \"101YSD2025011218\", \"金属粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010486-000001\", \"金属粉\", \"\", \"\"], [\"\", \"\", \"金属粉\", \"1194.69\", \"1048.65\"], [\"应收单\", \"101YSD2025011218\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010058-000001\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100073\", \"胶水转印纸\", \"1,858.41\", \"2,498.98\"], [\"应收单\", \"101YSD2025010058\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"1858.41\", \"2498.98\"], [\"应收单\", \"101YSD2025010161\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100170\", \"胶水转印纸\", \"663.72\", \"690.61\"], [\"应收单\", \"101YSD2025011218\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010161-000001\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"663.72\", \"690.61\"], [\"销售出库单\", \"101XSCKD20250100318\", \"胶水转印纸\", \"973.45\", \"1,381.22\"], [\"应收单\", \"101YSD2025010329\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011218\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010329-000001\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"973.45\", \"1381.22\"], [\"应收单\", \"101YSD2025010553-000001\", \"单色粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010553\", \"单色粉\", \"\", \"\"], [\"应收单\", \"101YSD2025011218\", \"单色粉\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100625\", \"单色粉\", \"3,743.36\", \"1,950.23\"], [\"\", \"\", \"单色粉\", \"3743.36\", \"1950.23\"], [\"\", \"\", \"\", \"8433.63\", \"7569.69\"], [\"应收单\", \"101YSD2025011292\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010306-000001\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010306\", \"转印粉\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100360\", \"转印粉\", \"5,238.94\", \"2,841.64\"], [\"\", \"\", \"转印粉\", \"5238.94\", \"2841.64\"], [\"\", \"\", \"\", \"5238.94\", \"2841.64\"], [\"应收单\", \"101YSD2025011290\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025011290\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025010298-000001\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025010298-000001\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025010298\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025010298\", \"树脂类\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100349\", \"树脂类\", \"117,244.91\", \"106,586.28\"], [\"销售出库单\", \"101XSCKD20250100349\", \"树脂类\", \"20,401.11\", \"18,546.46\"], [\"\", \"\", \"树脂类\", \"137646.02\", \"125132.74\"], [\"销售出库单\", \"101XSCKD20250100349\", \"树脂类\", \"117,982.3\", \"107,256.64\"], [\"应收单\", \"101YSD2025010298\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025010298-000001\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025011290\", \"树脂类\", \"\", \"\"], [\"\", \"\", \"树脂类\", \"117982.3\", \"107256.64\"], [\"应收单\", \"101YSD2025011291\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010332-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010332\", \"真空转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100347\", \"真空转印纸\", \"973.45\", \"1,381.22\"], [\"\", \"\", \"真空转印纸\", \"973.45\", \"1381.22\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010456-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010456\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100523\", \"胶水转印纸\", \"1,460.18\", \"2,071.81\"], [\"\", \"\", \"胶水转印纸\", \"1460.18\", \"2071.81\"], [\"销售出库单\", \"101XSCKD20250100074\", \"真空转印纸\", \"2,787.61\", \"4,077.93\"], [\"应收单\", \"101YSD2025010055-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010055\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"真空转印纸\", \"\", \"\"], [\"\", \"\", \"真空转印纸\", \"2787.61\", \"4077.93\"], [\"销售出库单\", \"101XSCKD20250100410\", \"胶水转印纸\", \"973.45\", \"1,381.22\"], [\"应收单\", \"101YSD2025010355\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010355-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"973.45\", \"1381.22\"], [\"应收单\", \"101YSD2025011291\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010504-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010504\", \"真空转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100591\", \"真空转印纸\", \"663.72\", \"690.61\"], [\"\", \"\", \"真空转印纸\", \"663.72\", \"690.61\"], [\"销售出库单\", \"101XSCKD20250100069\", \"真空转印纸\", \"663.72\", \"690.61\"], [\"应收单\", \"101YSD2025010082\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010082-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"真空转印纸\", \"\", \"\"], [\"\", \"\", \"真空转印纸\", \"663.72\", \"690.61\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010419-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010419\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100477\", \"胶水转印纸\", \"973.45\", \"1,076.3\"], [\"\", \"\", \"胶水转印纸\", \"973.45\", \"1076.3\"], [\"应收单\", \"101YSD2025010524\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100574\", \"胶水转印纸\", \"973.45\", \"1,381.22\"], [\"应收单\", \"101YSD2025010524-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"973.45\", \"1381.22\"], [\"应收单\", \"101YSD2025011291\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010517-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010055-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010055\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010517\", \"真空转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100514\", \"真空转印纸\", \"973.45\", \"1,378.58\"], [\"销售出库单\", \"101XSCKD20250100031\", \"真空转印纸\", \"5,110.62\", \"7,582.18\"], [\"\", \"\", \"真空转印纸\", \"6084.07\", \"8960.76\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010822-000001\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100695\", \"胶水转印纸\", \"1,858.41\", \"2,762.4\"], [\"应收单\", \"101YSD2025010822\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"1858.41\", \"2762.4\"], [\"销售出库单\", \"101XSCKD20250100349\", \"树脂类\", \"57,823.01\", \"52,566.37\"], [\"应收单\", \"101YSD2025010298\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025010298-000001\", \"树脂类\", \"\", \"\"], [\"应收单\", \"101YSD2025011290\", \"树脂类\", \"\", \"\"], [\"\", \"\", \"树脂类\", \"57823.01\", \"52566.37\"], [\"应收单\", \"101YSD2025010075-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010075\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100104\", \"胶水转印纸\", \"2,323.01\", \"2,632.18\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"2323.01\", \"2632.18\"], [\"销售出库单\", \"101XSCKD20250100342\", \"耐候转印纸\", \"442.48\", \"147.24\"], [\"应收单\", \"101YSD2025010332-000001\", \"耐候转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010332\", \"耐候转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"耐候转印纸\", \"\", \"\"], [\"\", \"\", \"耐候转印纸\", \"442.48\", \"147.24\"], [\"应收单\", \"101YSD2025011291\", \"耐候转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010332\", \"耐候转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010332-000001\", \"耐候转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100342\", \"耐候转印纸\", \"442.48\", \"147.24\"], [\"\", \"\", \"耐候转印纸\", \"442.48\", \"147.24\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100269\", \"胶水转印纸\", \"4,646.02\", \"6,906.05\"], [\"应收单\", \"101YSD2025010239\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010239-000001\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"4646.02\", \"6906.05\"], [\"销售出库单\", \"101XSCKD20250100630\", \"耐候转印纸\", \"1,548.67\", \"695.83\"], [\"应收单\", \"101YSD2025010568\", \"耐候转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010568-000001\", \"耐候转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"耐候转印纸\", \"\", \"\"], [\"\", \"\", \"耐候转印纸\", \"1548.67\", \"695.83\"], [\"应收单\", \"101YSD2025010607\", \"胶水转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100668\", \"胶水转印纸\", \"973.45\", \"1,381.22\"], [\"应收单\", \"101YSD2025010607-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025011291\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"973.45\", \"1381.22\"], [\"\", \"\", \"\", \"341238.95\", \"321339.59\"], [\"销售出库单\", \"101XSCKD20250100206\", \"真空转印纸\", \"2,123.89\", \"2,762.4\"], [\"应收单\", \"101YSD2025010176\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010833\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010176-000001\", \"真空转印纸\", \"\", \"\"], [\"\", \"\", \"真空转印纸\", \"2123.89\", \"2762.4\"], [\"销售出库单\", \"101XSCKD20250100153\", \"真空转印纸\", \"2,123.89\", \"2,454.46\"], [\"应收单\", \"101YSD2025010140\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010140-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010832\", \"真空转印纸\", \"\", \"\"], [\"\", \"\", \"真空转印纸\", \"2123.89\", \"2454.46\"], [\"应收单\", \"101YSD2025010832\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010140-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010140\", \"真空转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100153\", \"真空转印纸\", \"1,061.95\", \"1,052.25\"], [\"\", \"\", \"真空转印纸\", \"1061.95\", \"1052.25\"], [\"销售出库单\", \"101XSCKD20250100153\", \"真空转印纸\", \"2,123.89\", \"2,762.41\"], [\"应收单\", \"101YSD2025010140-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010140\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010832\", \"真空转印纸\", \"\", \"\"], [\"\", \"\", \"真空转印纸\", \"2123.89\", \"2762.41\"], [\"应收单\", \"101YSD2025010832\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138-000001\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138\", \"转印粉\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100151\", \"转印粉\", \"6,469.03\", \"3,585.61\"], [\"\", \"\", \"转印粉\", \"6469.03\", \"3585.61\"], [\"应收单\", \"101YSD2025010138\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138-000001\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010832\", \"转印粉\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100151\", \"转印粉\", \"15,601.77\", \"8,618.39\"], [\"\", \"\", \"转印粉\", \"15601.77\", \"8618.39\"], [\"应收单\", \"101YSD2025010832\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138-000001\", \"转印粉\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100151\", \"转印粉\", \"9,399.12\", \"5,503.47\"], [\"\", \"\", \"转印粉\", \"9399.12\", \"5503.47\"], [\"销售出库单\", \"101XSCKD20250100151\", \"转印粉\", \"3,101.33\", \"1,672.56\"], [\"应收单\", \"101YSD2025010138-000001\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010832\", \"转印粉\", \"\", \"\"], [\"\", \"\", \"转印粉\", \"3101.33\", \"1672.56\"], [\"应收单\", \"101YSD2025010176-000001\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010833\", \"真空转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010176\", \"真空转印纸\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100206\", \"真空转印纸\", \"1,061.95\", \"1,381.22\"], [\"\", \"\", \"真空转印纸\", \"1061.95\", \"1381.22\"], [\"应收单\", \"101YSD2025010832\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138-000001\", \"转印粉\", \"\", \"\"], [\"应收单\", \"101YSD2025010138\", \"转印粉\", \"\", \"\"], [\"销售出库单\", \"101XSCKD20250100151\", \"转印粉\", \"2,674.78\", \"1,557.46\"], [\"\", \"\", \"转印粉\", \"2674.78\", \"1557.46\"], [\"\", \"\", \"\", \"45741.6\", \"31350.23\"], [\"销售出库单\", \"101XSCKD20250100276\", \"胶水转印纸\", \"7,306.19\", \"7,398.51\"], [\"销售退货单\", \"101XSTHD20250127283\", \"胶水转印纸\", \"-7,433.63\", \"-7,527.56\"], [\"应收单\", \"101YSD2025010791\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010790\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010243\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010076\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010243-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010076-000001\", \"胶水转印纸\", \"\", \"\"], [\"\", \"\", \"胶水转印纸\", \"-127.44\", \"-129.05\"], [\"应收单\", \"101YSD2025010790\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010076-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010076-000001\", \"胶水转印纸\", \"\", \"\"], [\"应收单\", \"101YSD2025010243-000001\", \"胶水转印纸\", \"\", \"\"]]}}", + "crudType": "0", + "isView": 0, + "templateType": "markdown", + "viewTemplates": null, + "parameters": [ + { + "keyParam": null, + "required": 0, + "paramName": "formId", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "1", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "2", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.FieldKeys", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "3", + "tags": "0", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.SchemeId", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "4", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.StartRow", + "paramType": "INTEGER", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "5", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Limit", + "paramType": "INTEGER", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "6", + "tags": "1", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.IsVerifyBaseDataField", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "7", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "8", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FStartDate", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "9", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FEndDate", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "10", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FStartMaterial", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "11", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FStartMaterial.FNUMBER", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "12", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FEndMaterial", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "13", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FEndMaterial.FNUMBER", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "14", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FEndCustomer", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "15", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FEndCustomer.FNumber", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "16", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FStartCustomer", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "17", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FStartCustomer.FNumber", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "18", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FEndDepartment", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "19", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FEndDepartment.FNUMBER", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "20", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FStartDepartment", + "paramType": "OBJECT", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "21", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FStartDepartment.FNUMBER", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "22", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FBillStatus", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "23", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FIsIncludeSerMat", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "24", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FIsIncludeInnerExchangeBill", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "25", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FSettleOrgId", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "26", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FSaleOrgId", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "27", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FSuite", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "28", + "tags": "2", + "example": null + }, + { + "keyParam": null, + "required": 0, + "paramName": "data.Model.FIsGroupCust", + "paramType": "STRING", + "paramPrompts": "", + "defaultValue": null, + "assoKey": null, + "assoApiId": null, + "memory": 0, + "apiId": "2033382693160300546", + "requestType": "body", + "dataFormat": null, + "validity": null, + "sort": "29", + "tags": "2", + "example": null + } + ] + } + ] +} \ No newline at end of file diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/__pycache__/api_auth_service.cpython-312.pyc b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/__pycache__/api_auth_service.cpython-312.pyc index 6ee8b9d1c4a8426b0d1e1b47974ff2a2d037d54b..9237dde2e991552ce7205827975fac7ad8672a10 100644 GIT binary patch delta 2574 zcmZ{mZBUd|6vsKw?moQiY$7c2A}R_ho1~!cI#_0YOdEOm7WNO+y(r<5+^@q_Np#Nm)}LtZZt`virX)Wz4i6esk`*=bn4cxz9a! z>&|J7=QP_{n=Qys{^DOaT(IG|Eqtiy5Y6Oe8R6pLp;s(aB8JBXYWj21BA0mmLc5qg z>M~i&~Vbk=y0+ z6*CQin1K-hN@WxQDt#T&!$3WNfQ<$oksPY4I+cj2$%!P7w`lT%L`|Y?N)zcVFlrT# zrd*UW9PPZ1+Bx0%79A9~oT-|=2GiU4k!i`p4nk}P-jwhliWvFx73Y9>Wm>msgxW`K zo(V%$dy5eXS*<)MHl_WjQ5k#E3+X6-nI1)jd^3IQUCy(m@c`#cP}_BK$dV@N6vvkA zC%V8(GDlG}ug=WUyJ0wCM}l2k&m5)c9T=YBAxqn-TfDz?vzacnWw?kg@$Bpbt1@=M zq>pQ|o#Yjr*~=_?A2i=`Y~Bj`nz!a9(>MH4UcP<_>Rz6-JS*%d#5VwSNmM4sxPAG! zDCJT)xQ^*;K<&`WKQ2$EQzA*I$m9H#xm$>ll%g#_&7Ny^i z>gq(^mU*xEuq=_nu3(uL_#C(l+)%Z>0P%tt>4}h46)EK#wUC=q+W0u~pBf{BR`IG1b_*M{0XQpfsLOEY8E#L$ zYn8`sxKzb_pZiHUEmx{b)&hGK+Gt3(fp*|o05{l!8zZkRUtVt|Gk>>!G|lEgHQxti z^*p(}Co8`vxPWif?!TC@Sv$r4_3p}WfCdr2Dj zqpibrG<~C8{IE5Mtp5Zhll&^vF6`TWpx_o5DA&Ge9<(EptirKlmX?HXc~yi&-+P_c z>R-z#Etuo3>U*!L@8mmj`0eHnL!CJep#RK`k9lvsGqOdhd|pumufJUClA#$_`Q3&{ zVcR)RdrXxfT$W+J@f)nwMOq9gL@FKnUDx_AXs-b3El`!w2Nu7ZUvG#bJNGnPwHhm= zu|t#3nVqvUqSmR-Isy(h>fq)GN22=yILJ9@!z&I?62Gkpht7!oH z<#q9VE-g0t^_r7^Hk&QZ>vq54aX$sdT6jrgD#h~7#%E}$xY_6+x+&sz-yj+$BKJhl zJvDGr2TYLQ^C|bTwRviYI$LDi|AN)wTCy!rpN!TZ#2Q_Gpndu(bcu84z-8m5-D zj*$pnWgiD=G%z5S80cd7V9R!j;VG@F^>`@a`JL7%iWi@@22r$1*9`S!>0EuNa$^k& z3;(e%mJ)b)+hP4ECM&qRZBkez#8-hv0RI7uT^!NgoUUSQ!WfOrP<>DN$CvE;J1_&1 b3R)e-FcqK*3P=FP@n7wUlp-G3{{{UGw0N}b delta 2497 zcmZ{ldr;I>6vsKgU4A^)P2>?KDW|pNG^*h~DYj@eYq>PAoBeic{l-}-?@_~%)Dlw`7B!lH^}yW;#u^Mq z0;7OTU=HxCM7O&JC^qm zR0S|WIsmi)?*d0vvds{i`BYA)OmgqknPfQz%?@BE-^y4u3 zkY9OrnWYS39?;6x+_*btJUn+ioeY;=Jed4j2yGm>Ma5%}dhsHVjX4%-ns{AwHPfXr@kYj+3a9r{gSGXbH zLFdK$`SSwxE6{w)3B_e}iJOWu=o|jHxJ2)Sx{F85e=h1E#6y6(7%G#udEfjY{gg}P z;1~SP2h<8({Nwyg@^O1pR8ei5<$o61Z(A`7xyx{Sde+}?y_Z+l$7ZWDjpHm09)Y@N?Lipc2E4!` z0N2t3zqpL}{1?*1Ki3bUERJgU!93@)u(=$(yfDE*$NNy$DD&~~3GrDDY9B#andbKN zK**USX?R7`a-T-0xpd{9`c3$6=lQErN2~Y{lxnf|kozN3@u8fZ7 z7T>NKXO2J(YViDY*I;xUKelFgm_K_=RE=sg8c0}A+RAwwwL(cJ; z%Zq9~{x@MWpKKbSqjk$nergIO-5-v)wcf1VJ{upQP?556ibj{YdecA)0yKh1 z;uIg)5llNGcPxBQ_OvccjK(NU0p!l18J%n3k{TU!A*;@c;k- diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/__pycache__/core_server.cpython-312.pyc b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/__pycache__/core_server.cpython-312.pyc index 9362451e70ec5acaf306dc7f269d573e214e2a7c..8af1df126bdd4541ef9480af29a5c2dab2018438 100644 GIT binary patch delta 1539 zcmZ8h4NOy46u!5wuRpYumR2ZGXr-vFP!pLE?FQPRGKzl_TqL^i*AgiX$!iJP6`49* zC6yMh1OKVfMc8!1y=_*UTU{27Gm9mXQPDV;S%hh{DsJ;9X7|E~%Wm?%`<-*Yb8_xI zC$Hy6&exYYlFPBNF#xaKM?bAOy#JKsLV1h;o7?gCxQ)G8UI4jGe1{mFOHa)dxVQ&^ zMd+e2#<=(gz#-mekOTt&fs0=Za)4*^NvaX*MQC>Ax@8R+_{6lbaHMzpoju(nZKosN zj)=RrWMi$hPGitu-?001;Uc4^As!2}G`9o$Bdtg7uxIa_?ILccFiSHoHfr<&Hiw>SHndMmFc&UcG% z2qa$7PEjbq7|03eL;0&i@05pDSA;5Tq1wifZBt0Gc|hO{$EAb>DbXn)aW#Bqm*bS% zO#FNro)^M=ihDlBWXz}8(W-0?yoXfP3*b?9U3Do9@1t*O(?pL*fl&ev(XX}5u#YX< zz!SoFRNbJ1FIaCwH3eUyKR1QpGjwHhBZR2HSqA@Lk2`50yvLs0Zh-J9y8dAg{3gdg^O-^5-I6H3eEIn@@2J) za0T(?SYVM@WXZr1kDQ)dncT(0ZR5OZ8ztn+$E$$kB;3Fc{mgEV)1*>sca z)$W)%$*VaTfJtwn9g_}VGmt_IiDcmZTXQL}NSf#^wCD4Qy%9EoO;jnsgQrA&yZlgu z*0!lqnQb_eo?=9JMwxqBGwk+7 zTDwM$A00mIyB+8=7q3{}koG?faZV^A$4-rW^$DKQMD%6bD&rH9-%r3ypooBmz!XwP zD`rFVhK&^#J5xivUIOG1@I-69%k#!%6N9XoSWGgJ$Z)hX$y8sHzoEuj=a^MiU%}X| zWsKEczp>74MHB#b69@HpuV+LPfI`)oyF2$*+KjL&Ev(HP)aLYSa~|@!%J?YY%Hqew zXot^SOjPZ;gYxP9^66LQI`^V$aq_*2F7-Zjw|pSU(5pDDKBW%I2WBsha%forypf?h zZa!k}c3jPv<6Cw^k=$9-UKG-p1{80GQ*d}_D=J@CEV{CsRKNJ<@4X7wwx zPS`?;^B)07lHjnV?Mp*iQ*dff9-6v%P_d+6vE+G_BB#&n^YCqd$Tmp}vcZL{%t9%+ zm@O=fr7pg1;ui|2OB{%eO9GmpG|4QYF6otK9`zHC#$3-GC4DL>Vafqw+E>haOrDNU zKuF*z0UqhYHNwQ04GC8L`-F@PJ!tPT!`}g9kB}qQ1TEEj4qY3 Jzxm&S{{Y{Y>}UW0 delta 823 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 bsee?(wk$&H;DF(v@e5VPkeX4Yk%jwTmTX!^ literal 0 HcmV?d00001 diff --git a/lzwcai_mcp_api_converter/main.py b/lzwcai_mcp_api_converter/main.py index 52490a4..6625bff 100644 --- a/lzwcai_mcp_api_converter/main.py +++ b/lzwcai_mcp_api_converter/main.py @@ -2,8 +2,8 @@ import os os.environ["modelId"] = "1946471611735015425" os.environ["bizSysId"] = "2029468454441897985" -os.environ["bizSysApiIds"] = "[\"2029506334288154626\",\"2029506334388817922\"]" -os.environ["businessUuid"] = "w8kgb73ib3" +os.environ["bizSysApiIds"] = "[\"2033382693160300546\"]" +os.environ["businessUuid"] = "dcqwlucfo7h" os.environ["LZWCAI_CORP_MANAGER_URL"] = "http://192.168.2.236:8088" # 导入模块 from lzwcai_mcp_api_converter.src.create_mcp import run_main diff --git a/lzwcai_mcp_api_converter/pyproject.toml b/lzwcai_mcp_api_converter/pyproject.toml index b83024c..1d85ec5 100644 --- a/lzwcai_mcp_api_converter/pyproject.toml +++ b/lzwcai_mcp_api_converter/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "lzwcai-mcp-api-converter" -version = "0.2.4" +version = "0.2.5" description = "基于FastMCP框架的动态API工具服务器,自动将企业业务API配置转换为MCP协议工具,支持多种传输方式、企业认证和参数验证,为AI助手提供标准化的业务接口访问能力。" readme = "README.md" requires-python = ">=3.10" diff --git a/lzwcai_mcpskills_template/lzwcai_mcpskills_template/tools_config.json b/lzwcai_mcpskills_template/lzwcai_mcpskills_template/tools_config.json index 2074e10..b642048 100644 --- a/lzwcai_mcpskills_template/lzwcai_mcpskills_template/tools_config.json +++ b/lzwcai_mcpskills_template/lzwcai_mcpskills_template/tools_config.json @@ -1,10 +1,10 @@ [ { "id": "example_tool_001", - "name": "example_hello_world", - "description": "示例工具 - Hello World", + "name": "example_hello_world2", + "description": "示例工具 - Hello World2", "toolPrompt": "这是一个示例工具,用于演示 MCP 工具的基本结构", - "sqlParams": "[{\"type\":\"string\",\"name\":\"name\",\"displayName\":\"名称\",\"maxLength\":100,\"defaultValue\":\"World\",\"required\":true}]" + "sqlParams": "[{\"type\":\"string\",\"name\":\"name2\",\"displayName\":\"名称\",\"maxLength\":100,\"defaultValue\":\"World\",\"required\":true}]" }, { "id": "example_tool_002", diff --git a/lzwcai_mcpskills_template/pyproject.toml b/lzwcai_mcpskills_template/pyproject.toml index 411eb74..8aeb48f 100644 --- a/lzwcai_mcpskills_template/pyproject.toml +++ b/lzwcai_mcpskills_template/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "lzwcai_mcpskills_template" -version = "0.1.1" +version = "0.1.3" description = "MCP Server 模板项目 - 用于快速创建新的 MCP 服务" readme = "README.md" requires-python = ">=3.10" diff --git a/lzwcai_mcpskills_visual2url/README.md b/lzwcai_mcpskills_visual2url/README.md new file mode 100644 index 0000000..d491df8 --- /dev/null +++ b/lzwcai_mcpskills_visual2url/README.md @@ -0,0 +1,37 @@ +# lzwcai_mcpskills_visual2url + +基于 FastMCP 的 MCP Server 项目。主要提供 HTML 转换为浏览器可访问 URL 的工具。 + +## 功能 + +提供以下两个工具(Tools): +- `html_file_to_url`: 传入本地 HTML 文件路径,转换成 `file://` 协议的 URL,方便浏览器直接打开预览。 +- `html_code_to_url`: 传入 HTML 代码片段,将其保存为临时文件并返回可访问的 `file://` URL。 + +## 安装 + +```bash +pip install lzwcai_mcpskills_visual2url +``` + +## 使用 + +```bash +# 直接运行服务端 +lzwcai_mcpskills_visual2url +``` + +## 项目结构 + +``` +lzwcai_mcpskills_visual2url/ +├── main.py # 入口文件 +├── pyproject.toml # 项目配置 +├── README.md # 说明文档 +└── lzwcai_mcpskills_visual2url/ # 核心代码 + └── main.py # FastMCP Server 主逻辑 +``` + +## License + +MIT diff --git a/lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/.python-version b/lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/__pycache__/main.cpython-312.pyc b/lzwcai_mcpskills_visual2url/lzwcai_mcpskills_visual2url/__pycache__/main.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f161ad178364c18718b1c89644851af355510cd GIT binary patch literal 12742 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 str: + """ + 将本地 HTML 文件上传至服务器并转换成可在浏览器中打开的 URL。 + + Args: + file_path: 本地 HTML 文件的绝对路径 + """ + if not os.path.exists(file_path): + return f"Error: 文件不存在: {file_path}" + + headers = { + 'Authorization': AUTHORIZATION, + 'User-Agent': 'Apifox/1.0.0 (https://apifox.com)' + } + + try: + with open(file_path, 'rb') as f: + files = { + 'file': (os.path.basename(file_path), f, 'text/html') + } + response = requests.post(UPLOAD_URL, headers=headers, files=files) + response.raise_for_status() + data = response.json() + if data.get('code') == 200 and 'data' in data and 'fileUrl' in data['data']: + return data['data']['fileUrl'] + else: + return f"上传失败: {data.get('msg', '未知错误')}" + except Exception as e: + return f"请求发生异常: {str(e)}" + +@mcp.tool() +def html_code_to_url(html_code: str) -> str: + """ + 将 HTML 代码片段上传至服务器并转换成可在浏览器中打开的 URL。 + + Args: + html_code: HTML 代码字符串 + """ + headers = { + 'Authorization': AUTHORIZATION, + 'User-Agent': 'Apifox/1.0.0 (https://apifox.com)', + 'Content-Type': 'text/html' + } + + try: + response = requests.post(UPLOAD_URL, headers=headers, data=html_code.encode('utf-8')) + response.raise_for_status() + data = response.json() + if data.get('code') == 200 and 'data' in data and 'fileUrl' in data['data']: + return data['data']['fileUrl'] + else: + return f"上传失败: {data.get('msg', '未知错误')}" + except Exception as e: + return f"请求发生异常: {str(e)}" + +def main(): + # 运行 MCP Server + mcp.run() + +if __name__ == "__main__": + main() diff --git a/lzwcai_mcpskills_visual2url/main.py b/lzwcai_mcpskills_visual2url/main.py new file mode 100644 index 0000000..23982d7 --- /dev/null +++ b/lzwcai_mcpskills_visual2url/main.py @@ -0,0 +1,9 @@ +""" +Entry point for lzwcai_mcpskills_visual2url +MCP Server 项目入口 +""" + +if __name__ == "__main__": + # Import and run the actual MCP server + from lzwcai_mcpskills_visual2url.main import main + main() diff --git a/lzwcai_mcpskills_visual2url/pyproject.toml b/lzwcai_mcpskills_visual2url/pyproject.toml new file mode 100644 index 0000000..2902e11 --- /dev/null +++ b/lzwcai_mcpskills_visual2url/pyproject.toml @@ -0,0 +1,31 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "lzwcai_mcpskills_visual2url" +version = "0.1.1" +description = "MCP Server 模板项目 - 用于快速创建新的 MCP 服务" +readme = "README.md" +requires-python = ">=3.10" +license = {text = "MIT"} +authors = [ + {name = "lzwcai", email = "your-email@example.com"}, +] +keywords = ["mcp", "template", "server"] +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", +] +dependencies = [ + "mcp>=1.0.0", + "requests>=2.31.0", +] + +[project.scripts] +lzwcai_mcpskills_visual2url = "lzwcai_mcpskills_visual2url.main:main" + +[tool.hatch.build.targets.wheel] +packages = ["lzwcai_mcpskills_visual2url"] diff --git a/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp.log b/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp.log index ed7b947..cb9382c 100644 --- a/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp.log +++ b/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp.log @@ -1,49 +1,49 @@ -2026-02-13 15:34:10 - root - INFO - [logger_config.py:117] - 日志系统初始化完成 - 日志目录: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_workflow_to_mcp\lzwcai_workflow_to_mcp\logs -2026-02-13 15:34:10 - mcp.server.lowlevel.server - DEBUG - [server.py:154] - Initializing server 'workflow_mcp_server' -2026-02-13 15:34:10 - mcp.server.lowlevel.server - DEBUG - [server.py:380] - Registering handler for ListToolsRequest -2026-02-13 15:34:10 - mcp.server.lowlevel.server - DEBUG - [server.py:441] - Registering handler for CallToolRequest -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:334] - ================================================== -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:335] - Workflow MCP Server 启动 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:336] - ================================================== -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:341] - 命令行参数: {'mode': 'api', 'json_path': None, 'workflow_id': None} -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:344] - 使用模式: api -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:103] - ApiLoader 初始化,工作流ID: 2005892514011795457 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:111] - 开始从 API 加载工作流配置,工作流ID: 2005892514011795457 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:115] - [客户端初始化] base_url=http://192.168.2.236:8088 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:116] - [客户端初始化] token=wf_ce270212b2ee45ab9c81714a7c243c56 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:117] - [客户端初始化] execute_timeout=600.0s -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:148] - [API请求] GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2005892514011795457 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:149] - [API请求] Headers: {'X-API-Key': 'wf_ce270212b2ee45ab9c81714a7c243c56'} -2026-02-13 15:34:11 - httpcore.connection - DEBUG - [_trace.py:45] - connect_tcp.started host='192.168.2.236' port=8088 local_address=None timeout=30.0 socket_options=None -2026-02-13 15:34:11 - httpcore.connection - DEBUG - [_trace.py:45] - connect_tcp.complete return_value= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_headers.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_headers.complete -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_body.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_body.complete -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_headers.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'', [(b'Vary', b'Origin'), (b'Vary', b'Access-Control-Request-Method'), (b'Vary', b'Access-Control-Request-Headers'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Date', b'Fri, 13 Feb 2026 07:34:05 GMT'), (b'Keep-Alive', b'timeout=60'), (b'Connection', b'keep-alive')]) -2026-02-13 15:34:11 - httpx - INFO - [_client.py:1025] - HTTP Request: GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2005892514011795457 "HTTP/1.1 200 " -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_body.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_body.complete -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - response_closed.started -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - response_closed.complete -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:156] - [API响应] HTTP 200 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:157] - [API响应] Headers: {'vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'x-content-type-options': 'nosniff', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'date': 'Fri, 13 Feb 2026 07:34:05 GMT', 'keep-alive': 'timeout=60', 'connection': 'keep-alive'} -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:162] - [API响应] 获取工作流配置成功: workflow_id=2005892514011795457 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:163] - [API响应] Body: { +2026-03-28 12:30:33 - root - INFO - [logger_config.py:117] - 日志系统初始化完成 - 日志目录: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_workflow_to_mcp\lzwcai_workflow_to_mcp\logs +2026-03-28 12:30:33 - mcp.server.lowlevel.server - DEBUG - [server.py:162] - Initializing server 'workflow_mcp_server' +2026-03-28 12:30:33 - mcp.server.lowlevel.server - DEBUG - [server.py:439] - Registering handler for ListToolsRequest +2026-03-28 12:30:33 - mcp.server.lowlevel.server - DEBUG - [server.py:519] - Registering handler for CallToolRequest +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:334] - ================================================== +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:335] - Workflow MCP Server 启动 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:336] - ================================================== +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:341] - 命令行参数: {'mode': 'api', 'json_path': None, 'workflow_id': None} +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:344] - 使用模式: api +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:103] - ApiLoader 初始化,工作流ID: 2037527155235225601 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:111] - 开始从 API 加载工作流配置,工作流ID: 2037527155235225601 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:115] - [客户端初始化] base_url=http://192.168.2.236:8088 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:116] - [客户端初始化] token=wf_bd39a583670c42ceab48b3353bf2ba43 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:117] - [客户端初始化] execute_timeout=600.0s +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:148] - [API请求] GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2037527155235225601 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:149] - [API请求] Headers: {'X-API-Key': 'wf_bd39a583670c42ceab48b3353bf2ba43'} +2026-03-28 12:30:34 - httpcore.connection - DEBUG - [_trace.py:47] - connect_tcp.started host='192.168.2.236' port=8088 local_address=None timeout=30.0 socket_options=None +2026-03-28 12:30:34 - httpcore.connection - DEBUG - [_trace.py:47] - connect_tcp.complete return_value= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_headers.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_headers.complete +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_body.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_body.complete +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_headers.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'', [(b'Vary', b'Origin'), (b'Vary', b'Access-Control-Request-Method'), (b'Vary', b'Access-Control-Request-Headers'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Date', b'Sat, 28 Mar 2026 04:30:30 GMT'), (b'Keep-Alive', b'timeout=60'), (b'Connection', b'keep-alive')]) +2026-03-28 12:30:34 - httpx - INFO - [_client.py:1025] - HTTP Request: GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2037527155235225601 "HTTP/1.1 200 " +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_body.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_body.complete +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - response_closed.started +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - response_closed.complete +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:156] - [API响应] HTTP 200 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:157] - [API响应] Headers: {'vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'x-content-type-options': 'nosniff', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'date': 'Sat, 28 Mar 2026 04:30:30 GMT', 'keep-alive': 'timeout=60', 'connection': 'keep-alive'} +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:162] - [API响应] 获取工作流配置成功: workflow_id=2037527155235225601 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:163] - [API响应] Body: { "msg": "查询成功", "code": 200, "data": [ { - "id": "2013554734817918978", - "createBy": "yy8z7", - "createTime": "2026-01-20 18:10:33", - "updateBy": "yy8z7", - "updateTime": "2026-02-13 15:30:40", - "serviceId": "2013554734784364545", - "uniqueName": "登记资产", - "name": "dengjizichan_0220941f", - "description": "阿三大苏打啊", + "id": "2037535460665982977", + "createBy": "duchangyuan", + "createTime": "2026-03-27 22:21:24", + "updateBy": "admin", + "updateTime": "2026-03-28 12:21:49", + "serviceId": "2037535460632428546", + "uniqueName": "银行流水状态检测", + "name": "yinxingliushuizhuangtaijiance_7c4d9a63", + "description": "用于检测流水导入状态,检查是否全部导入完成", "visualizable": 0, "toolPrompt": null, "toolType": "api", @@ -62,20 +62,20 @@ } ] } -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:116] - API 响应原始数据: { +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:116] - API 响应原始数据: { "msg": "查询成功", "code": 200, "data": [ { - "id": "2013554734817918978", - "createBy": "yy8z7", - "createTime": "2026-01-20 18:10:33", - "updateBy": "yy8z7", - "updateTime": "2026-02-13 15:30:40", - "serviceId": "2013554734784364545", - "uniqueName": "登记资产", - "name": "dengjizichan_0220941f", - "description": "阿三大苏打啊", + "id": "2037535460665982977", + "createBy": "duchangyuan", + "createTime": "2026-03-27 22:21:24", + "updateBy": "admin", + "updateTime": "2026-03-28 12:21:49", + "serviceId": "2037535460632428546", + "uniqueName": "银行流水状态检测", + "name": "yinxingliushuizhuangtaijiance_7c4d9a63", + "description": "用于检测流水导入状态,检查是否全部导入完成", "visualizable": 0, "toolPrompt": null, "toolType": "api", @@ -94,17 +94,17 @@ } ] } -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:124] - API 响应 data 字段: [ +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:124] - API 响应 data 字段: [ { - "id": "2013554734817918978", - "createBy": "yy8z7", - "createTime": "2026-01-20 18:10:33", - "updateBy": "yy8z7", - "updateTime": "2026-02-13 15:30:40", - "serviceId": "2013554734784364545", - "uniqueName": "登记资产", - "name": "dengjizichan_0220941f", - "description": "阿三大苏打啊", + "id": "2037535460665982977", + "createBy": "duchangyuan", + "createTime": "2026-03-27 22:21:24", + "updateBy": "admin", + "updateTime": "2026-03-28 12:21:49", + "serviceId": "2037535460632428546", + "uniqueName": "银行流水状态检测", + "name": "yinxingliushuizhuangtaijiance_7c4d9a63", + "description": "用于检测流水导入状态,检查是否全部导入完成", "visualizable": 0, "toolPrompt": null, "toolType": "api", @@ -122,16 +122,16 @@ "lastExecutionTime": null } ] -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - INFO - [main.py:135] - 从 API 加载工作流配置成功,工作流ID: 2005892514011795457, 配置数量: 1 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - INFO - [main.py:165] - 已加载 1 个工具配置 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - INFO - [main.py:352] - 开始运行 MCP Server (stdio 模式) -2026-02-13 15:34:11 - asyncio - DEBUG - [proactor_events.py:634] - Using proactor: IocpProactor -2026-02-13 15:34:12 - mcp.server.lowlevel.server - DEBUG - [server.py:582] - Received message: root=InitializedNotification(method='notifications/initialized', params=None, jsonrpc='2.0') -2026-02-13 15:34:36 - mcp.server.lowlevel.server - DEBUG - [server.py:582] - Received message: -2026-02-13 15:34:36 - mcp.server.lowlevel.server - INFO - [server.py:619] - Processing request of type ListToolsRequest -2026-02-13 15:34:36 - mcp.server.lowlevel.server - DEBUG - [server.py:621] - Dispatching request of type ListToolsRequest -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - INFO - [main.py:171] - 收到 ListTools 请求,当前配置数量: 1 -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:178] - 处理工具配置: name=dengjizichan_0220941f, description=阿三大苏打啊... -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:185] - 从 sqlParams 转换的 inputSchema: {"type": "object", "properties": {}, "required": []} -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - INFO - [main.py:237] - ListTools 响应: 返回 1 个工具 -2026-02-13 15:34:36 - mcp.server.lowlevel.server - DEBUG - [server.py:662] - Response sent +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - INFO - [main.py:135] - 从 API 加载工作流配置成功,工作流ID: 2037527155235225601, 配置数量: 1 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - INFO - [main.py:165] - 已加载 1 个工具配置 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - INFO - [main.py:352] - 开始运行 MCP Server (stdio 模式) +2026-03-28 12:30:34 - asyncio - DEBUG - [proactor_events.py:634] - Using proactor: IocpProactor +2026-03-28 12:30:34 - mcp.server.lowlevel.server - DEBUG - [server.py:675] - Received message: root=InitializedNotification(method='notifications/initialized', params=None, jsonrpc='2.0') +2026-03-28 12:30:40 - mcp.server.lowlevel.server - DEBUG - [server.py:675] - Received message: +2026-03-28 12:30:40 - mcp.server.lowlevel.server - INFO - [server.py:720] - Processing request of type ListToolsRequest +2026-03-28 12:30:40 - mcp.server.lowlevel.server - DEBUG - [server.py:723] - Dispatching request of type ListToolsRequest +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - INFO - [main.py:171] - 收到 ListTools 请求,当前配置数量: 1 +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:178] - 处理工具配置: name=yinxingliushuizhuangtaijiance_7c4d9a63, description=用于检测流水导入状态,检查是否全部导入完成... +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:185] - 从 sqlParams 转换的 inputSchema: {"type": "object", "properties": {}, "required": []} +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - INFO - [main.py:237] - ListTools 响应: 返回 1 个工具 +2026-03-28 12:30:40 - mcp.server.lowlevel.server - DEBUG - [server.py:790] - Response sent diff --git a/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp_daily.log b/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp_daily.log index ed7b947..cb9382c 100644 --- a/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp_daily.log +++ b/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/logs/lzwcai_workflow_to_mcp_daily.log @@ -1,49 +1,49 @@ -2026-02-13 15:34:10 - root - INFO - [logger_config.py:117] - 日志系统初始化完成 - 日志目录: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_workflow_to_mcp\lzwcai_workflow_to_mcp\logs -2026-02-13 15:34:10 - mcp.server.lowlevel.server - DEBUG - [server.py:154] - Initializing server 'workflow_mcp_server' -2026-02-13 15:34:10 - mcp.server.lowlevel.server - DEBUG - [server.py:380] - Registering handler for ListToolsRequest -2026-02-13 15:34:10 - mcp.server.lowlevel.server - DEBUG - [server.py:441] - Registering handler for CallToolRequest -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:334] - ================================================== -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:335] - Workflow MCP Server 启动 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:336] - ================================================== -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:341] - 命令行参数: {'mode': 'api', 'json_path': None, 'workflow_id': None} -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:344] - 使用模式: api -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:103] - ApiLoader 初始化,工作流ID: 2005892514011795457 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.main - INFO - [main.py:111] - 开始从 API 加载工作流配置,工作流ID: 2005892514011795457 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:115] - [客户端初始化] base_url=http://192.168.2.236:8088 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:116] - [客户端初始化] token=wf_ce270212b2ee45ab9c81714a7c243c56 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:117] - [客户端初始化] execute_timeout=600.0s -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:148] - [API请求] GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2005892514011795457 -2026-02-13 15:34:10 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:149] - [API请求] Headers: {'X-API-Key': 'wf_ce270212b2ee45ab9c81714a7c243c56'} -2026-02-13 15:34:11 - httpcore.connection - DEBUG - [_trace.py:45] - connect_tcp.started host='192.168.2.236' port=8088 local_address=None timeout=30.0 socket_options=None -2026-02-13 15:34:11 - httpcore.connection - DEBUG - [_trace.py:45] - connect_tcp.complete return_value= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_headers.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_headers.complete -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_body.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_body.complete -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_headers.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'', [(b'Vary', b'Origin'), (b'Vary', b'Access-Control-Request-Method'), (b'Vary', b'Access-Control-Request-Headers'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Date', b'Fri, 13 Feb 2026 07:34:05 GMT'), (b'Keep-Alive', b'timeout=60'), (b'Connection', b'keep-alive')]) -2026-02-13 15:34:11 - httpx - INFO - [_client.py:1025] - HTTP Request: GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2005892514011795457 "HTTP/1.1 200 " -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_body.started request= -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - receive_response_body.complete -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - response_closed.started -2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - response_closed.complete -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:156] - [API响应] HTTP 200 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:157] - [API响应] Headers: {'vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'x-content-type-options': 'nosniff', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'date': 'Fri, 13 Feb 2026 07:34:05 GMT', 'keep-alive': 'timeout=60', 'connection': 'keep-alive'} -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:162] - [API响应] 获取工作流配置成功: workflow_id=2005892514011795457 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:163] - [API响应] Body: { +2026-03-28 12:30:33 - root - INFO - [logger_config.py:117] - 日志系统初始化完成 - 日志目录: E:\yh-ai\project\lzwcai-szyg\lzwcai-mcp-server-package\lzwcai_workflow_to_mcp\lzwcai_workflow_to_mcp\logs +2026-03-28 12:30:33 - mcp.server.lowlevel.server - DEBUG - [server.py:162] - Initializing server 'workflow_mcp_server' +2026-03-28 12:30:33 - mcp.server.lowlevel.server - DEBUG - [server.py:439] - Registering handler for ListToolsRequest +2026-03-28 12:30:33 - mcp.server.lowlevel.server - DEBUG - [server.py:519] - Registering handler for CallToolRequest +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:334] - ================================================== +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:335] - Workflow MCP Server 启动 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:336] - ================================================== +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:341] - 命令行参数: {'mode': 'api', 'json_path': None, 'workflow_id': None} +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:344] - 使用模式: api +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:103] - ApiLoader 初始化,工作流ID: 2037527155235225601 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.main - INFO - [main.py:111] - 开始从 API 加载工作流配置,工作流ID: 2037527155235225601 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:115] - [客户端初始化] base_url=http://192.168.2.236:8088 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:116] - [客户端初始化] token=wf_bd39a583670c42ceab48b3353bf2ba43 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:117] - [客户端初始化] execute_timeout=600.0s +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:148] - [API请求] GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2037527155235225601 +2026-03-28 12:30:33 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:149] - [API请求] Headers: {'X-API-Key': 'wf_bd39a583670c42ceab48b3353bf2ba43'} +2026-03-28 12:30:34 - httpcore.connection - DEBUG - [_trace.py:47] - connect_tcp.started host='192.168.2.236' port=8088 local_address=None timeout=30.0 socket_options=None +2026-03-28 12:30:34 - httpcore.connection - DEBUG - [_trace.py:47] - connect_tcp.complete return_value= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_headers.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_headers.complete +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_body.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_body.complete +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_headers.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'', [(b'Vary', b'Origin'), (b'Vary', b'Access-Control-Request-Method'), (b'Vary', b'Access-Control-Request-Headers'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'X-Frame-Options', b'SAMEORIGIN'), (b'Content-Type', b'application/json'), (b'Transfer-Encoding', b'chunked'), (b'Date', b'Sat, 28 Mar 2026 04:30:30 GMT'), (b'Keep-Alive', b'timeout=60'), (b'Connection', b'keep-alive')]) +2026-03-28 12:30:34 - httpx - INFO - [_client.py:1025] - HTTP Request: GET http://192.168.2.236:8088/system/workflowManage/getByWorkflowId/2037527155235225601 "HTTP/1.1 200 " +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_body.started request= +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - receive_response_body.complete +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - response_closed.started +2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - response_closed.complete +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:156] - [API响应] HTTP 200 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:157] - [API响应] Headers: {'vary': 'Origin, Access-Control-Request-Method, Access-Control-Request-Headers', 'x-content-type-options': 'nosniff', 'x-xss-protection': '1; mode=block', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json', 'transfer-encoding': 'chunked', 'date': 'Sat, 28 Mar 2026 04:30:30 GMT', 'keep-alive': 'timeout=60', 'connection': 'keep-alive'} +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - INFO - [api_client.py:162] - [API响应] 获取工作流配置成功: workflow_id=2037527155235225601 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.utils.api_client - DEBUG - [api_client.py:163] - [API响应] Body: { "msg": "查询成功", "code": 200, "data": [ { - "id": "2013554734817918978", - "createBy": "yy8z7", - "createTime": "2026-01-20 18:10:33", - "updateBy": "yy8z7", - "updateTime": "2026-02-13 15:30:40", - "serviceId": "2013554734784364545", - "uniqueName": "登记资产", - "name": "dengjizichan_0220941f", - "description": "阿三大苏打啊", + "id": "2037535460665982977", + "createBy": "duchangyuan", + "createTime": "2026-03-27 22:21:24", + "updateBy": "admin", + "updateTime": "2026-03-28 12:21:49", + "serviceId": "2037535460632428546", + "uniqueName": "银行流水状态检测", + "name": "yinxingliushuizhuangtaijiance_7c4d9a63", + "description": "用于检测流水导入状态,检查是否全部导入完成", "visualizable": 0, "toolPrompt": null, "toolType": "api", @@ -62,20 +62,20 @@ } ] } -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:116] - API 响应原始数据: { +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:116] - API 响应原始数据: { "msg": "查询成功", "code": 200, "data": [ { - "id": "2013554734817918978", - "createBy": "yy8z7", - "createTime": "2026-01-20 18:10:33", - "updateBy": "yy8z7", - "updateTime": "2026-02-13 15:30:40", - "serviceId": "2013554734784364545", - "uniqueName": "登记资产", - "name": "dengjizichan_0220941f", - "description": "阿三大苏打啊", + "id": "2037535460665982977", + "createBy": "duchangyuan", + "createTime": "2026-03-27 22:21:24", + "updateBy": "admin", + "updateTime": "2026-03-28 12:21:49", + "serviceId": "2037535460632428546", + "uniqueName": "银行流水状态检测", + "name": "yinxingliushuizhuangtaijiance_7c4d9a63", + "description": "用于检测流水导入状态,检查是否全部导入完成", "visualizable": 0, "toolPrompt": null, "toolType": "api", @@ -94,17 +94,17 @@ } ] } -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:124] - API 响应 data 字段: [ +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:124] - API 响应 data 字段: [ { - "id": "2013554734817918978", - "createBy": "yy8z7", - "createTime": "2026-01-20 18:10:33", - "updateBy": "yy8z7", - "updateTime": "2026-02-13 15:30:40", - "serviceId": "2013554734784364545", - "uniqueName": "登记资产", - "name": "dengjizichan_0220941f", - "description": "阿三大苏打啊", + "id": "2037535460665982977", + "createBy": "duchangyuan", + "createTime": "2026-03-27 22:21:24", + "updateBy": "admin", + "updateTime": "2026-03-28 12:21:49", + "serviceId": "2037535460632428546", + "uniqueName": "银行流水状态检测", + "name": "yinxingliushuizhuangtaijiance_7c4d9a63", + "description": "用于检测流水导入状态,检查是否全部导入完成", "visualizable": 0, "toolPrompt": null, "toolType": "api", @@ -122,16 +122,16 @@ "lastExecutionTime": null } ] -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - INFO - [main.py:135] - 从 API 加载工作流配置成功,工作流ID: 2005892514011795457, 配置数量: 1 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - INFO - [main.py:165] - 已加载 1 个工具配置 -2026-02-13 15:34:11 - lzwcai_workflow_to_mcp.main - INFO - [main.py:352] - 开始运行 MCP Server (stdio 模式) -2026-02-13 15:34:11 - asyncio - DEBUG - [proactor_events.py:634] - Using proactor: IocpProactor -2026-02-13 15:34:12 - mcp.server.lowlevel.server - DEBUG - [server.py:582] - Received message: root=InitializedNotification(method='notifications/initialized', params=None, jsonrpc='2.0') -2026-02-13 15:34:36 - mcp.server.lowlevel.server - DEBUG - [server.py:582] - Received message: -2026-02-13 15:34:36 - mcp.server.lowlevel.server - INFO - [server.py:619] - Processing request of type ListToolsRequest -2026-02-13 15:34:36 - mcp.server.lowlevel.server - DEBUG - [server.py:621] - Dispatching request of type ListToolsRequest -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - INFO - [main.py:171] - 收到 ListTools 请求,当前配置数量: 1 -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:178] - 处理工具配置: name=dengjizichan_0220941f, description=阿三大苏打啊... -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:185] - 从 sqlParams 转换的 inputSchema: {"type": "object", "properties": {}, "required": []} -2026-02-13 15:34:36 - lzwcai_workflow_to_mcp.main - INFO - [main.py:237] - ListTools 响应: 返回 1 个工具 -2026-02-13 15:34:36 - mcp.server.lowlevel.server - DEBUG - [server.py:662] - Response sent +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - INFO - [main.py:135] - 从 API 加载工作流配置成功,工作流ID: 2037527155235225601, 配置数量: 1 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - INFO - [main.py:165] - 已加载 1 个工具配置 +2026-03-28 12:30:34 - lzwcai_workflow_to_mcp.main - INFO - [main.py:352] - 开始运行 MCP Server (stdio 模式) +2026-03-28 12:30:34 - asyncio - DEBUG - [proactor_events.py:634] - Using proactor: IocpProactor +2026-03-28 12:30:34 - mcp.server.lowlevel.server - DEBUG - [server.py:675] - Received message: root=InitializedNotification(method='notifications/initialized', params=None, jsonrpc='2.0') +2026-03-28 12:30:40 - mcp.server.lowlevel.server - DEBUG - [server.py:675] - Received message: +2026-03-28 12:30:40 - mcp.server.lowlevel.server - INFO - [server.py:720] - Processing request of type ListToolsRequest +2026-03-28 12:30:40 - mcp.server.lowlevel.server - DEBUG - [server.py:723] - Dispatching request of type ListToolsRequest +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - INFO - [main.py:171] - 收到 ListTools 请求,当前配置数量: 1 +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:178] - 处理工具配置: name=yinxingliushuizhuangtaijiance_7c4d9a63, description=用于检测流水导入状态,检查是否全部导入完成... +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - DEBUG - [main.py:185] - 从 sqlParams 转换的 inputSchema: {"type": "object", "properties": {}, "required": []} +2026-03-28 12:30:40 - lzwcai_workflow_to_mcp.main - INFO - [main.py:237] - ListTools 响应: 返回 1 个工具 +2026-03-28 12:30:40 - mcp.server.lowlevel.server - DEBUG - [server.py:790] - Response sent diff --git a/lzwcai_workflow_to_mcp/main.py b/lzwcai_workflow_to_mcp/main.py index 4077d21..18c43bd 100644 --- a/lzwcai_workflow_to_mcp/main.py +++ b/lzwcai_workflow_to_mcp/main.py @@ -7,8 +7,8 @@ import os if __name__ == "__main__": # 设置环境变量 - os.environ["workflowId"] = "2005892514011795457" - os.environ["workflowExecuteKey"] = "wf_ce270212b2ee45ab9c81714a7c243c56" + os.environ["workflowId"] = "2037527155235225601" + os.environ["workflowExecuteKey"] = "wf_bd39a583670c42ceab48b3353bf2ba43" os.environ["backendBaseUrl"] = "http://192.168.2.236:8088" # Import and run the actual MCP server