diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json index 07ba9c61f7..99d6a7c421 100644 --- a/src/renderer/src/i18n/locales/en-us.json +++ b/src/renderer/src/i18n/locales/en-us.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Dify's MCP server implementation provides a simple API to interact with Dify. Requires configuring the Dify Key", "fetch": "MCP server for retrieving URL web content", "filesystem": "A Node.js server implementing the Model Context Protocol (MCP) for file system operations. Requires configuration of directories allowed for access.", - "mcp_auto_install": "Automatically install MCP service (beta) https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "Persistent memory implementation based on a local knowledge graph. This enables the model to remember user-related information across different conversations. Requires configuring the MEMORY_FILE_PATH environment variable. https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "Automatically install MCP service (beta)", + "memory": "Persistent memory implementation based on a local knowledge graph. This enables the model to remember user-related information across different conversations. Requires configuring the MEMORY_FILE_PATH environment variable.", "no": "No description", "python": "Execute Python code in a secure sandbox environment. Run Python with Pyodide, supporting most standard libraries and scientific computing packages", "sequentialthinking": "A MCP server implementation that provides tools for dynamic and reflective problem solving through structured thinking processes" diff --git a/src/renderer/src/i18n/locales/ja-jp.json b/src/renderer/src/i18n/locales/ja-jp.json index c461a4c610..14a0838b6a 100644 --- a/src/renderer/src/i18n/locales/ja-jp.json +++ b/src/renderer/src/i18n/locales/ja-jp.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "DifyのMCPサーバー実装は、Difyと対話するためのシンプルなAPIを提供します。Dify Keyの設定が必要です。", "fetch": "URLのウェブページコンテンツを取得するためのMCPサーバー", "filesystem": "Node.jsサーバーによるファイルシステム操作を実現するモデルコンテキストプロトコル(MCP)。アクセスを許可するディレクトリの設定が必要です", - "mcp_auto_install": "MCPサービスの自動インストール(ベータ版)https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "ローカルのナレッジグラフに基づく永続的なメモリの基本的な実装です。これにより、モデルは異なる会話間でユーザーの関連情報を記憶できるようになります。MEMORY_FILE_PATH 環境変数の設定が必要です。https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "MCPサービスの自動インストール(ベータ版)", + "memory": "ローカルのナレッジグラフに基づく永続的なメモリの基本的な実装です。これにより、モデルは異なる会話間でユーザーの関連情報を記憶できるようになります。MEMORY_FILE_PATH 環境変数の設定が必要です。", "no": "説明なし", "python": "安全なサンドボックス環境でPythonコードを実行します。Pyodideを使用してPythonを実行し、ほとんどの標準ライブラリと科学計算パッケージをサポートしています。", "sequentialthinking": "構造化された思考プロセスを通じて動的かつ反省的な問題解決を行うためのツールを提供するMCPサーバーの実装" diff --git a/src/renderer/src/i18n/locales/ru-ru.json b/src/renderer/src/i18n/locales/ru-ru.json index 200e5d7dd4..09ea99543b 100644 --- a/src/renderer/src/i18n/locales/ru-ru.json +++ b/src/renderer/src/i18n/locales/ru-ru.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Реализация сервера MCP Dify, предоставляющая простой API для взаимодействия с Dify. Требуется настройка ключа Dify", "fetch": "MCP-сервер для получения содержимого веб-страниц по URL", "filesystem": "Node.js-сервер протокола контекста модели (MCP) для реализации операций файловой системы. Требуется настройка каталогов, к которым разрешён доступ", - "mcp_auto_install": "Автоматическая установка службы MCP (бета-версия) https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "реализация постоянной памяти на основе локального графа знаний. Это позволяет модели запоминать информацию о пользователе между различными диалогами. Требуется настроить переменную среды MEMORY_FILE_PATH. https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "Автоматическая установка службы MCP (бета-версия)", + "memory": "реализация постоянной памяти на основе локального графа знаний. Это позволяет модели запоминать информацию о пользователе между различными диалогами. Требуется настроить переменную среды MEMORY_FILE_PATH.", "no": "без описания", "python": "Выполняйте код Python в безопасной песочнице. Запускайте Python с помощью Pyodide, поддерживается большинство стандартных библиотек и пакетов для научных вычислений", "sequentialthinking": "MCP серверная реализация, предоставляющая инструменты для динамического и рефлексивного решения проблем посредством структурированного мыслительного процесса" diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json index cbd170adae..34c5cc4360 100644 --- a/src/renderer/src/i18n/locales/zh-cn.json +++ b/src/renderer/src/i18n/locales/zh-cn.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Dify 的 MCP 服务器实现,提供了一个简单的 API 来与 Dify 进行交互。需要配置 Dify Key", "fetch": "用于获取 URL 网页内容的 MCP 服务器", "filesystem": "实现文件系统操作的模型上下文协议(MCP)的 Node.js 服务器。需要配置允许访问的目录", - "mcp_auto_install": "自动安装 MCP 服务(测试版)https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "基于本地知识图谱的持久性记忆基础实现。这使得模型能够在不同对话间记住用户的相关信息。需要配置 MEMORY_FILE_PATH 环境变量。https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "自动安装 MCP 服务(测试版)", + "memory": "基于本地知识图谱的持久性记忆基础实现。这使得模型能够在不同对话间记住用户的相关信息。需要配置 MEMORY_FILE_PATH 环境变量。", "no": "无描述", "python": "在安全的沙盒环境中执行 Python 代码。使用 Pyodide 运行 Python,支持大多数标准库和科学计算包", "sequentialthinking": "一个 MCP 服务器实现,提供了通过结构化思维过程进行动态和反思性问题解决的工具" diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json index da162a60df..b46e485bdb 100644 --- a/src/renderer/src/i18n/locales/zh-tw.json +++ b/src/renderer/src/i18n/locales/zh-tw.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Dify 的 MCP 伺服器實現,提供了一個簡單的 API 來與 Dify 進行互動。需要配置 Dify Key", "fetch": "用於獲取 URL 網頁內容的 MCP 伺服器", "filesystem": "實現文件系統操作的模型上下文協議(MCP)的 Node.js 伺服器。需要配置允許訪問的目錄", - "mcp_auto_install": "自動安裝 MCP 服務(測試版)https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "基於本地知識圖譜的持久性記憶基礎實現。這使得模型能夠在不同對話間記住使用者的相關資訊。需要配置 MEMORY_FILE_PATH 環境變數。https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "自動安裝 MCP 服務(測試版)", + "memory": "基於本地知識圖譜的持久性記憶基礎實現。這使得模型能夠在不同對話間記住使用者的相關資訊。需要配置 MEMORY_FILE_PATH 環境變數。", "no": "無描述", "python": "在安全的沙盒環境中執行 Python 代碼。使用 Pyodide 運行 Python,支援大多數標準庫和科學計算套件", "sequentialthinking": "一個 MCP 伺服器實現,提供了透過結構化思維過程進行動態和反思性問題解決的工具" diff --git a/src/renderer/src/i18n/translate/el-gr.json b/src/renderer/src/i18n/translate/el-gr.json index 5ede52d2a7..b69c6406be 100644 --- a/src/renderer/src/i18n/translate/el-gr.json +++ b/src/renderer/src/i18n/translate/el-gr.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Η υλοποίηση του Dify για τον διακομιστή MCP, παρέχει μια απλή API για να αλληλεπιδρά με το Dify. Απαιτείται η ρύθμιση του κλειδιού Dify", "fetch": "Εξυπηρετητής MCP για λήψη περιεχομένου ιστοσελίδας URL", "filesystem": "Εξυπηρετητής Node.js για το πρωτόκολλο περιβάλλοντος μοντέλου (MCP) που εφαρμόζει λειτουργίες συστήματος αρχείων. Απαιτείται διαμόρφωση για την επιτροπή πρόσβασης σε καταλόγους", - "mcp_auto_install": "Αυτόματη εγκατάσταση υπηρεσίας MCP (προβολή) https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "Βασική υλοποίηση μόνιμης μνήμης με βάση τοπικό γράφημα γνώσης. Αυτό επιτρέπει στο μοντέλο να θυμάται πληροφορίες σχετικές με τον χρήστη ανάμεσα σε διαφορετικές συνομιλίες. Απαιτείται η ρύθμιση της μεταβλητής περιβάλλοντος MEMORY_FILE_PATH. https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "Αυτόματη εγκατάσταση υπηρεσίας MCP (προβολή)", + "memory": "Βασική υλοποίηση μόνιμης μνήμης με βάση τοπικό γράφημα γνώσης. Αυτό επιτρέπει στο μοντέλο να θυμάται πληροφορίες σχετικές με τον χρήστη ανάμεσα σε διαφορετικές συνομιλίες. Απαιτείται η ρύθμιση της μεταβλητής περιβάλλοντος MEMORY_FILE_PATH.", "no": "Χωρίς περιγραφή", "python": "Εκτελέστε κώδικα Python σε ένα ασφαλές περιβάλλον sandbox. Χρησιμοποιήστε το Pyodide για να εκτελέσετε Python, υποστηρίζοντας την πλειονότητα των βιβλιοθηκών της τυπικής βιβλιοθήκης και των πακέτων επιστημονικού υπολογισμού", "sequentialthinking": "ένας εξυπηρετητής MCP που υλοποιείται, παρέχοντας εργαλεία για δυναμική και αναστοχαστική επίλυση προβλημάτων μέσω δομημένων διαδικασιών σκέψης" diff --git a/src/renderer/src/i18n/translate/es-es.json b/src/renderer/src/i18n/translate/es-es.json index 303ed80687..d45fa94b48 100644 --- a/src/renderer/src/i18n/translate/es-es.json +++ b/src/renderer/src/i18n/translate/es-es.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Implementación del servidor MCP de Dify, que proporciona una API sencilla para interactuar con Dify. Se requiere configurar la clave de Dify.", "fetch": "Servidor MCP para obtener el contenido de la página web de una URL", "filesystem": "Servidor Node.js que implementa el protocolo de contexto del modelo (MCP) para operaciones del sistema de archivos. Requiere configuración del directorio permitido para el acceso", - "mcp_auto_install": "Instalación automática del servicio MCP (versión beta) https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "Implementación básica de memoria persistente basada en un grafo de conocimiento local. Esto permite que el modelo recuerde información relevante del usuario entre diferentes conversaciones. Es necesario configurar la variable de entorno MEMORY_FILE_PATH. https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "Instalación automática del servicio MCP (versión beta)", + "memory": "Implementación básica de memoria persistente basada en un grafo de conocimiento local. Esto permite que el modelo recuerde información relevante del usuario entre diferentes conversaciones. Es necesario configurar la variable de entorno MEMORY_FILE_PATH.", "no": "sin descripción", "python": "Ejecuta código Python en un entorno sandbox seguro. Usa Pyodide para ejecutar Python, compatible con la mayoría de las bibliotecas estándar y paquetes de cálculo científico.", "sequentialthinking": "Una implementación de servidor MCP que proporciona herramientas para la resolución dinámica y reflexiva de problemas mediante un proceso de pensamiento estructurado" diff --git a/src/renderer/src/i18n/translate/fr-fr.json b/src/renderer/src/i18n/translate/fr-fr.json index a54fbdd6be..c28726eb88 100644 --- a/src/renderer/src/i18n/translate/fr-fr.json +++ b/src/renderer/src/i18n/translate/fr-fr.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Implémentation du serveur MCP de Dify, fournissant une API simple pour interagir avec Dify. Nécessite la configuration de la clé Dify", "fetch": "serveur MCP utilisé pour récupérer le contenu des pages web URL", "filesystem": "Serveur Node.js implémentant le protocole de contexte de modèle (MCP) pour les opérations de système de fichiers. Nécessite une configuration des répertoires autorisés à être accédés.", - "mcp_auto_install": "Installation automatique du service MCP (version bêta) https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "Implémentation de base de mémoire persistante basée sur un graphe de connaissances local. Cela permet au modèle de se souvenir des informations relatives à l'utilisateur entre différentes conversations. Nécessite la configuration de la variable d'environnement MEMORY_FILE_PATH. https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "Installation automatique du service MCP (version bêta)", + "memory": "Implémentation de base de mémoire persistante basée sur un graphe de connaissances local. Cela permet au modèle de se souvenir des informations relatives à l'utilisateur entre différentes conversations. Nécessite la configuration de la variable d'environnement MEMORY_FILE_PATH.", "no": "sans description", "python": "Exécutez du code Python dans un environnement bac à sable sécurisé. Utilisez Pyodide pour exécuter Python, prenant en charge la plupart des bibliothèques standard et des packages de calcul scientifique.", "sequentialthinking": "Un serveur MCP qui fournit des outils permettant une résolution dynamique et réflexive des problèmes à travers un processus de pensée structuré" diff --git a/src/renderer/src/i18n/translate/pt-pt.json b/src/renderer/src/i18n/translate/pt-pt.json index e3d1058e76..27e05b32bf 100644 --- a/src/renderer/src/i18n/translate/pt-pt.json +++ b/src/renderer/src/i18n/translate/pt-pt.json @@ -2601,8 +2601,8 @@ "dify_knowledge": "Implementação do servidor MCP do Dify, que fornece uma API simples para interagir com o Dify. Requer a configuração da chave Dify", "fetch": "servidor MCP para obter o conteúdo da página web do URL", "filesystem": "Servidor Node.js do protocolo de contexto de modelo (MCP) para implementar operações de sistema de ficheiros. Requer configuração do diretório permitido para acesso", - "mcp_auto_install": "Instalação automática do serviço MCP (beta) https://docs.cherry-ai.com/advanced-basic/mcp/auto-install", - "memory": "Implementação base de memória persistente baseada em grafos de conhecimento locais. Isso permite que o modelo lembre informações relevantes do utilizador entre diferentes conversas. É necessário configurar a variável de ambiente MEMORY_FILE_PATH. https://github.com/modelcontextprotocol/servers/tree/main/src/memory", + "mcp_auto_install": "Instalação automática do serviço MCP (beta)", + "memory": "Implementação base de memória persistente baseada em grafos de conhecimento locais. Isso permite que o modelo lembre informações relevantes do utilizador entre diferentes conversas. É necessário configurar a variável de ambiente MEMORY_FILE_PATH.", "no": "sem descrição", "python": "Executar código Python num ambiente sandbox seguro. Utilizar Pyodide para executar Python, suportando a maioria das bibliotecas padrão e pacotes de computação científica", "sequentialthinking": "Uma implementação de servidor MCP que fornece ferramentas para resolução dinâmica e reflexiva de problemas através de um processo de pensamento estruturado" diff --git a/src/renderer/src/pages/settings/MCPSettings/BuiltinMCPServersSection.tsx b/src/renderer/src/pages/settings/MCPSettings/BuiltinMCPServersSection.tsx index d2f82e1f4d..ef1909b737 100644 --- a/src/renderer/src/pages/settings/MCPSettings/BuiltinMCPServersSection.tsx +++ b/src/renderer/src/pages/settings/MCPSettings/BuiltinMCPServersSection.tsx @@ -49,6 +49,8 @@ const BuiltinMCPServersSection: FC = () => { {server.getBuiltinDescription ? server.getBuiltinDescription() : t('settings.mcp.builtinServersDescriptions.no')} + + {server.reference && {server.reference}} } title={server.name} @@ -56,11 +58,9 @@ const BuiltinMCPServersSection: FC = () => { placement="topLeft" overlayStyle={{ maxWidth: 400 }}> - {/* {server.getBuiltinDescription ? server.getBuiltinDescription() : 'Invalid description'} */} {server.getBuiltinDescription ? server.getBuiltinDescription() : t('settings.mcp.builtinServersDescriptions.no')} - ... @@ -137,11 +137,11 @@ const ServerDescription = styled.div` color: var(--color-text-2); overflow: hidden; display: -webkit-box; - -webkit-line-clamp: 3; + -webkit-line-clamp: 2; -webkit-box-orient: vertical; width: 100%; word-break: break-word; - height: 50px; + max-height: calc(1.4em * 2); cursor: pointer; position: relative; @@ -150,16 +150,6 @@ const ServerDescription = styled.div` } ` -const MoreIndicator = styled.span` - position: absolute; - bottom: 0; - right: 0; - background: var(--color-background); - color: var(--color-primary); - font-weight: 500; - padding-left: 8px; -` - const PopoverContent = styled.div` max-width: 350px; line-height: 1.5; @@ -169,6 +159,22 @@ const PopoverContent = styled.div` word-break: break-word; ` +const ReferenceLink = styled.a` + max-width: 350px; + white-space: normal; + color: var(--color-primary); + text-decoration: none; + word-break: break-word; + line-height: 1.4; + display: inline-block; + margin-top: 8px; + + &:hover { + color: var(--color-primary-hover); + text-decoration: underline; + } +` + const ServerFooter = styled.div` display: flex; align-items: center; diff --git a/src/renderer/src/store/mcp.ts b/src/renderer/src/store/mcp.ts index 330534bdc2..1f22599c4d 100644 --- a/src/renderer/src/store/mcp.ts +++ b/src/renderer/src/store/mcp.ts @@ -75,6 +75,7 @@ export const builtinMCPServers: MCPServer[] = [ { id: nanoid(), name: '@cherry/mcp-auto-install', + reference: 'https://docs.cherry-ai.com/advanced-basic/mcp/auto-install', getBuiltinDescription: () => i18n.t('settings.mcp.builtinServersDescriptions.mcp_auto_install'), type: 'inMemory', command: 'npx', @@ -85,6 +86,7 @@ export const builtinMCPServers: MCPServer[] = [ { id: nanoid(), name: '@cherry/memory', + reference: 'https://github.com/modelcontextprotocol/servers/tree/main/src/memory', getBuiltinDescription: () => i18n.t('settings.mcp.builtinServersDescriptions.memory'), type: 'inMemory', isActive: true, @@ -126,7 +128,6 @@ export const builtinMCPServers: MCPServer[] = [ id: nanoid(), name: '@cherry/filesystem', type: 'inMemory', - description: i18n.t('settings.mcp.builtinServersDescriptions.filesystem'), getBuiltinDescription: () => i18n.t('settings.mcp.builtinServersDescriptions.filesystem'), args: ['/Users/username/Desktop', '/path/to/other/allowed/dir'], shouldConfig: true, diff --git a/src/renderer/src/types/index.ts b/src/renderer/src/types/index.ts index 132205f5cd..32a0080607 100644 --- a/src/renderer/src/types/index.ts +++ b/src/renderer/src/types/index.ts @@ -672,6 +672,7 @@ export interface MCPServer { timeout?: number // Timeout in seconds for requests to this server, default is 60 seconds dxtVersion?: string // Version of the DXT package dxtPath?: string // Path where the DXT package was extracted + reference?: string // Reference link for the server, e.g., documentation or homepage } export interface MCPToolInputSchema {