import React, { useCallback } from "react"
import { useAppTranslation } from "@/i18n/TranslationContext"
import { useTooManyTools } from "@src/hooks/useTooManyTools"
import WarningRow from "./WarningRow"
/**
* Displays a warning when the user has too many MCP tools enabled.
* LLMs get confused when offered too many tools, which can lead to errors.
*
* The warning is shown when:
* - The total number of enabled tools across all enabled MCP servers exceeds the threshold
*
* @example
*
*/
export const TooManyToolsWarning: React.FC = () => {
const { t } = useAppTranslation()
const { isOverThreshold, title, message } = useTooManyTools()
const handleOpenMcpSettings = useCallback(() => {
window.postMessage({ type: "action", action: "settingsButtonClicked", values: { section: "mcp" } }, "*")
}, [])
// Don't show warning if under threshold
if (!isOverThreshold) {
return null
}
return (
)
}
export default TooManyToolsWarning