diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/core_server.py b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/core_server.py index 68073d7..4ebdd27 100644 --- a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/core_server.py +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/core/core_server.py @@ -940,10 +940,28 @@ class ApiClient: "status_code": response.status_code, } else: - # 对于非JSON响应,记录前100个字符 + # 对于非JSON响应,尝试解析为JSON(某些API返回text/plain但内容是JSON) + if not response.text: + return { + "status": "success", + "data": "", + "status_code": response.status_code, + } + response_preview = response.text[:100] + "..." if len(response.text) > 100 else response.text logger.info(f"文本响应预览: {response_preview}") + # 尝试解析为JSON + text = response.text.strip() + if text and (text.startswith('{') or text.startswith('[')): + try: + json_response = json.loads(text) + logger.info("文本响应成功解析为JSON") + return json_response + except (json.JSONDecodeError, ValueError) as e: + logger.debug(f"文本响应JSON解析失败: {e}") + + # 返回原始文本 return { "status": "success", "data": response.text, diff --git a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/create_mcp.py b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/create_mcp.py index b2783b7..42c796b 100644 --- a/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/create_mcp.py +++ b/lzwcai_mcp_api_converter/lzwcai_mcp_api_converter/src/create_mcp.py @@ -395,24 +395,12 @@ class ApiToolPlugin(ToolPlugin): tool_name = tool_config["interfaceName"] # 工具名称(拼音格式) logger.debug(f"注册工具: {tool_name}") - # 定义输出 Schema(先写死一个测试) - output_schema = { - "type": "object", - "properties": { - "code": {"type": "integer", "description": "响应状态码,0表示成功"}, - "message": {"type": "string", "description": "响应消息"}, - "data": {"type": "object", "description": "响应数据"} - }, - "required": ["code", "message"] - } - # 创建MCP工具定义 tools.append( types.Tool( - name=tool_name, # 工具名称 - description=tool_config["schema_description"], # 工具描述(包含参数说明) - inputSchema=tool_config["schema"], # 输入参数的JSON Schema - outputSchema=output_schema, # 输出参数的JSON Schema + name=tool_name, + description=tool_config["schema_description"], + inputSchema=tool_config["schema"], ) ) diff --git a/lzwcai_mcp_api_converter/pyproject.toml b/lzwcai_mcp_api_converter/pyproject.toml index 5f200f2..b83024c 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.1" +version = "0.2.4" description = "基于FastMCP框架的动态API工具服务器,自动将企业业务API配置转换为MCP协议工具,支持多种传输方式、企业认证和参数验证,为AI助手提供标准化的业务接口访问能力。" readme = "README.md" requires-python = ">=3.10"