summaryrefslogtreecommitdiff
path: root/src/ollama_web/routes/chat.py
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-06-27 01:09:00 +0900
committertanaka takashi <isazaka@gmail.com>2026-06-27 01:09:00 +0900
commitfce9dc1b2940ee6699d2acf0c9e56456d9899581 (patch)
tree6bb0cfd1b220b7a37f77d55348803dd46ea30e45 /src/ollama_web/routes/chat.py
parent3a9e8e18df4c596360da54000f65e1bebc6039c2 (diff)
MCP server機能をセキュア化
Diffstat (limited to 'src/ollama_web/routes/chat.py')
-rw-r--r--src/ollama_web/routes/chat.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ollama_web/routes/chat.py b/src/ollama_web/routes/chat.py
index 75aabd7..2d855b1 100644
--- a/src/ollama_web/routes/chat.py
+++ b/src/ollama_web/routes/chat.py
@@ -90,7 +90,10 @@ async def _build_registry(session_id: str | None) -> ToolRegistry:
name = fn.get("name")
if not name:
continue
- reg.register_mcp_tool(name, tool_def, executor)
+ try:
+ reg.register_mcp_tool(name, tool_def, executor)
+ except ValueError as exc:
+ logger.warning("skipping duplicate MCP tool %s: %s", name, exc)
return reg
@@ -330,4 +333,4 @@ async def chat(request: Request) -> StreamingResponse:
async def _single_event(data: str) -> AsyncIterator[bytes]:
"""Yield a single SSE event and finish."""
- yield f"data: {data}\n\n".encode() \ No newline at end of file
+ yield f"data: {data}\n\n".encode()