From ca704fa054d0f6db264357490cf5474111605a04 Mon Sep 17 00:00:00 2001 From: qzero <2540384328@qq.com> Date: Fri, 10 Oct 2025 10:16:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(MCP):=20MCP=E6=9C=8D=E5=8A=A1=E7=AB=AF?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BD=BF=E7=94=A8=E6=96=87=E4=BB=B6=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E7=9F=A5=E8=AF=86=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp-server/weknora_mcp_server.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mcp-server/weknora_mcp_server.py b/mcp-server/weknora_mcp_server.py index 92e8c65a4..2e2cc484c 100644 --- a/mcp-server/weknora_mcp_server.py +++ b/mcp-server/weknora_mcp_server.py @@ -304,6 +304,19 @@ async def handle_list_tools() -> list[types.Tool]: ), # Knowledge Management + types.Tool( + name="create_knowledge_from_file", + description="Create knowledge from a local file on the server filesystem", + inputSchema={ + "type": "object", + "properties": { + "kb_id": {"type": "string", "description": "Knowledge base ID"}, + "file_path": {"type": "string", "description": "Absolute path to the local file on the server"}, + "enable_multimodel": {"type": "boolean", "description": "Enable multimodal processing", "default": True} + }, + "required": ["kb_id", "file_path"] + } + ), types.Tool( name="create_knowledge_from_url", description="Create knowledge from URL", @@ -537,6 +550,12 @@ async def handle_call_tool( result = client.hybrid_search(args["kb_id"], args["query"], config) # Knowledge Management + elif name == "create_knowledge_from_file": + result = client.create_knowledge_from_file( + args["kb_id"], + args["file_path"], + args.get("enable_multimodel", True) + ) elif name == "create_knowledge_from_url": result = client.create_knowledge_from_url( args["kb_id"],