feat: 新增HTML转URL工具服务,优化API转换器配置
- 新增lzwcai_mcpskills_visual2url项目,提供本地HTML文件、HTML代码转可访问URL的MCP工具 - 重构lzwcai_mcp_api_converter配置加载逻辑,取消内存缓存复用,强制拉取最新配置并新增缓存降级容错机制 - 升级lzwcai_mcp_api_converter至0.2.5、项目模板至0.1.3 - 更新各示例项目的环境配置参数与模板工具配置
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[console_scripts]
|
||||
lzwcai-mcp-api-converter = lzwcai_mcp_api_converter.src.create_mcp:run_main
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
lzwcai_mcp_api_converter
|
||||
96
lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.log
Normal file
96
lzwcai_mcp_api_converter/lzwcai_mcp_api_converter.log
Normal file
@@ -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] - ================================================================================
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@@ -141,29 +141,8 @@ def load_api_configs():
|
||||
# 构建租户专属的配置文件路径
|
||||
memory_config_path = os.path.join(current_dir, f"api_config_{business_uuid}.json")
|
||||
|
||||
# 检查内存中是否已有该租户的配置
|
||||
if config_key in business_configs:
|
||||
logger.info(f"从内存中获取租户 {business_uuid} 的配置")
|
||||
return business_configs[config_key]
|
||||
|
||||
# 内存中没有,尝试从本地文件加载
|
||||
if os.path.exists(memory_config_path):
|
||||
try:
|
||||
logger.info(f"尝试从本地文件加载租户配置: {memory_config_path}")
|
||||
with open(memory_config_path, "r", encoding="utf-8") as f:
|
||||
config = json.load(f)
|
||||
logger.info(f"成功从本地文件加载租户 {business_uuid} 的配置,包含 {len(config.get('apiConfig', []))} 个API配置")
|
||||
|
||||
# 存储到内存中
|
||||
business_configs[config_key] = config
|
||||
logger.info(f"配置已加载到内存变量: {config_key}")
|
||||
|
||||
return config
|
||||
except Exception as e:
|
||||
logger.warning(f"从本地文件加载配置失败: {str(e)},将从业务平台重新获取")
|
||||
|
||||
# 本地文件不存在或加载失败,从业务平台获取
|
||||
logger.info(f"本地文件不存在,开始从业务平台获取租户 {business_uuid} 的配置...")
|
||||
logger.info(f"准备从业务平台获取租户 {business_uuid} 的最新配置(强制刷新)...")
|
||||
|
||||
try:
|
||||
# 从环境变量获取API ID列表
|
||||
@@ -213,7 +192,22 @@ def load_api_configs():
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"获取业务API配置失败: {str(e)}")
|
||||
error_msg = f"内存模式下无法获取租户 {business_uuid} 的配置: {str(e)}"
|
||||
|
||||
# 网络获取失败,尝试降级使用本地缓存
|
||||
if os.path.exists(memory_config_path):
|
||||
try:
|
||||
logger.info(f"网络获取失败,尝试使用本地缓存文件: {memory_config_path}")
|
||||
with open(memory_config_path, "r", encoding="utf-8") as f:
|
||||
config = json.load(f)
|
||||
logger.info(f"成功加载本地缓存配置,包含 {len(config.get('apiConfig', []))} 个API配置")
|
||||
|
||||
# 存储到内存中
|
||||
business_configs[config_key] = config
|
||||
return config
|
||||
except Exception as cache_error:
|
||||
logger.error(f"加载本地缓存也失败了: {str(cache_error)}")
|
||||
|
||||
error_msg = f"无法获取租户 {business_uuid} 的配置(网络和缓存均不可用): {str(e)}"
|
||||
raise Exception(error_msg)
|
||||
|
||||
# ==================== 模式二:文件模式(单租户) ====================
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
|
||||
37
lzwcai_mcpskills_visual2url/README.md
Normal file
37
lzwcai_mcpskills_visual2url/README.md
Normal file
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
3.13
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,72 @@
|
||||
from mcp.server.fastmcp import FastMCP
|
||||
import os
|
||||
import requests
|
||||
|
||||
# 创建 FastMCP 实例
|
||||
mcp = FastMCP("Visual2URL")
|
||||
|
||||
UPLOAD_URL = "http://192.168.2.236:5002/api/html/upload"
|
||||
AUTHORIZATION = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl90eXBlIjoiTE9HSU4iLCJsb2dpbl91c2VyX2tleSI6IjM3OTAzNGIwLTg3OTQtNGU2OS05MzRiLTJkNTA3ZWIzODQyOCJ9.X5O0zez0_zm4Ejc9wTyj04Sf3GLT2L9ilIE6W0qbSgggdTvKcaboVm-A64U3SPxC8rpB1Gxc5p-XK7FXqAjgEg"
|
||||
|
||||
@mcp.tool()
|
||||
def html_file_to_url(file_path: str) -> 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()
|
||||
9
lzwcai_mcpskills_visual2url/main.py
Normal file
9
lzwcai_mcpskills_visual2url/main.py
Normal file
@@ -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()
|
||||
31
lzwcai_mcpskills_visual2url/pyproject.toml
Normal file
31
lzwcai_mcpskills_visual2url/pyproject.toml
Normal file
@@ -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"]
|
||||
@@ -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=<httpcore._backends.sync.SyncStream object at 0x0000018F42AB4380>
|
||||
2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_headers.started request=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<httpcore._backends.sync.SyncStream object at 0x0000016702CF9970>
|
||||
2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_headers.started request=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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: <mcp.shared.session.RequestResponder object at 0x0000018F42BC42C0>
|
||||
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: <mcp.shared.session.RequestResponder object at 0x0000016702D378C0>
|
||||
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
|
||||
|
||||
@@ -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=<httpcore._backends.sync.SyncStream object at 0x0000018F42AB4380>
|
||||
2026-02-13 15:34:11 - httpcore.http11 - DEBUG - [_trace.py:45] - send_request_headers.started request=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<httpcore._backends.sync.SyncStream object at 0x0000016702CF9970>
|
||||
2026-03-28 12:30:34 - httpcore.http11 - DEBUG - [_trace.py:47] - send_request_headers.started request=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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=<Request [b'GET']>
|
||||
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: <mcp.shared.session.RequestResponder object at 0x0000018F42BC42C0>
|
||||
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: <mcp.shared.session.RequestResponder object at 0x0000016702D378C0>
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user