From 32bc05376f2c92b2b015112edefabe73f25bda20 Mon Sep 17 00:00:00 2001 From: yuanzhipeng <2501363769@qq.com> Date: Mon, 9 Feb 2026 19:44:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(main):=20=E4=BF=AE=E6=94=B9=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E8=BE=93=E5=85=A5schema=E4=BB=A5=E6=94=AF=E6=8C=81wor?= =?UTF-8?q?kflow[extraContext]=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将params字段替换为workflow[extraContext]字段用于接收工作流额外上下文参数 - 更新描述信息,明确字段用途为接收工作流额外上下文参数(如环境变量等) - 修改处理逻辑,提取workflow[extraContext]字段并合并到inputs中 - 当workflow[extraContext]为字典类型时合并到inputs,否则保留为独立字段 - 更新日志信息中的字段名称引用 chore(pyproject): 更新版本号至0.1.7 --- .../lzwcai_workflow_to_mcp/main.py | 28 +++++++++---------- lzwcai_workflow_to_mcp/pyproject.toml | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/main.py b/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/main.py index 9f13ce4..c3ba937 100644 --- a/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/main.py +++ b/lzwcai_workflow_to_mcp/lzwcai_workflow_to_mcp/main.py @@ -219,11 +219,11 @@ async def handle_list_tools() -> list[types.Tool]: logger.warning("sqlParams 和 inputJsonSchema 都不存在,使用空 schema") input_schema = {"type": "object", "properties": {}, "required": []} - # 添加 params 字段到 schema,可以接收任何类型 + # 添加 workflow[extraContext] 字段到 schema,可以接收任何类型(非必填) if "properties" not in input_schema: input_schema["properties"] = {} - input_schema["properties"]["params"] = { - "description": "额外的参数,可以是任何类型" + input_schema["properties"]["workflow[extraContext]"] = { + "description": "工作流额外的上下文参数(如环境变量等),可以是任何类型,非必填" } tools.append( @@ -263,20 +263,20 @@ async def handle_call_tool( workflow_id = tool_config.get("workflowId") or get_workflow_id() logger.info(f"使用工作流ID: {workflow_id}") - # 提取 params 字段并合并到 inputs + # 提取 workflow[extraContext] 字段并合并到 inputs inputs = arguments or {} - params = inputs.pop("params", None) + workflow_extra_context = inputs.pop("workflow[extraContext]", None) - # 如果 params 存在,将其内容合并到 inputs - if params is not None: - if isinstance(params, dict): - # 如果 params 是字典,合并到 inputs - inputs.update(params) - logger.info(f"params 是字典类型,已合并到 inputs: {json.dumps(params, ensure_ascii=False)}") + # 如果 workflow[extraContext] 存在,将其内容合并到 inputs + if workflow_extra_context is not None: + if isinstance(workflow_extra_context, dict): + # 如果 workflow[extraContext] 是字典,合并到 inputs + inputs.update(workflow_extra_context) + logger.info(f"workflow[extraContext] 是字典类型,已合并到 inputs: {json.dumps(workflow_extra_context, ensure_ascii=False)}") else: - # 如果 params 不是字典,作为 params 字段保留 - inputs["params"] = params - logger.info(f"params 是 {type(params).__name__} 类型,保留为 params 字段") + # 如果 workflow[extraContext] 不是字典,作为 workflow[extraContext] 字段保留 + inputs["workflow[extraContext]"] = workflow_extra_context + logger.info(f"workflow[extraContext] 是 {type(workflow_extra_context).__name__} 类型,保留为 workflow[extraContext] 字段") # 构建请求数据 request_data = { diff --git a/lzwcai_workflow_to_mcp/pyproject.toml b/lzwcai_workflow_to_mcp/pyproject.toml index 887fb12..54f8218 100644 --- a/lzwcai_workflow_to_mcp/pyproject.toml +++ b/lzwcai_workflow_to_mcp/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "lzwcai-workflow-to-mcp" -version = "0.1.6" +version = "0.1.7" description = "MCP server for executing business SQL queries with dynamic tool generation" readme = "README.md" requires-python = ">=3.10"