diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-06-27 01:09:00 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-06-27 01:09:00 +0900 |
| commit | fce9dc1b2940ee6699d2acf0c9e56456d9899581 (patch) | |
| tree | 6bb0cfd1b220b7a37f77d55348803dd46ea30e45 /src/ollama_web/routes/chat.py | |
| parent | 3a9e8e18df4c596360da54000f65e1bebc6039c2 (diff) | |
MCP server機能をセキュア化
Diffstat (limited to 'src/ollama_web/routes/chat.py')
| -rw-r--r-- | src/ollama_web/routes/chat.py | 7 |
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() |
