-
Notifications
You must be signed in to change notification settings - Fork 614
fix: a potential problem with mcp tools #698
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: a potential problem with mcp tools #698
Conversation
…ools are not enabled
WalkthroughThe update changes the logic for determining the set of enabled MCP tools during a server status update. Instead of defaulting to an empty list when no tools are configured, the code now defaults to enabling all available tool function names. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Store (mcp.ts)
participant Tools List
User->>Store (mcp.ts): Update server status
Store (mcp.ts)->>Store (mcp.ts): Check enabledMcpTools
alt enabledMcpTools is set
Store (mcp.ts)->>Store (mcp.ts): Use enabledMcpTools
else not set
Store (mcp.ts)->>Tools List: Get all tool function names
Store (mcp.ts)->>Store (mcp.ts): Use all tool function names as enabled list
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~6 minutes Possibly related PRs
Suggested reviewers
Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (12)**/*.{ts,tsx,js,jsx,vue}📄 CodeRabbit Inference Engine (CLAUDE.md)
Files:
**/*.{ts,tsx}📄 CodeRabbit Inference Engine (CLAUDE.md)
Files:
src/renderer/src/**/*.{ts,tsx,vue}📄 CodeRabbit Inference Engine (CLAUDE.md)
Files:
**/*.{js,jsx,ts,tsx}📄 CodeRabbit Inference Engine (.cursor/rules/development-setup.mdc)
Files:
src/{main,renderer}/**/*.ts📄 CodeRabbit Inference Engine (.cursor/rules/electron-best-practices.mdc)
Files:
src/renderer/src/**/*📄 CodeRabbit Inference Engine (.cursor/rules/i18n.mdc)
Files:
src/renderer/src/stores/**/*.{vue,ts,tsx,js,jsx}📄 CodeRabbit Inference Engine (.cursor/rules/pinia-best-practices.mdc)
Files:
src/renderer/**/*.{vue,ts,js,tsx,jsx}📄 CodeRabbit Inference Engine (.cursor/rules/project-structure.mdc)
Files:
src/renderer/src/**/*.{vue,ts,tsx,js,jsx}📄 CodeRabbit Inference Engine (.cursor/rules/vue-best-practices.mdc)
Files:
src/renderer/**/*.{ts,tsx,vue}📄 CodeRabbit Inference Engine (.cursor/rules/vue-shadcn.mdc)
Files:
src/renderer/**/*.{vue,ts}📄 CodeRabbit Inference Engine (.cursor/rules/vue-shadcn.mdc)
Files:
src/renderer/**/*.{ts,vue}📄 CodeRabbit Inference Engine (.cursor/rules/vue-shadcn.mdc)
Files:
🧠 Learnings (7)📓 Common learnings📚 Learning: applies to src/main/presenter/mcppresenter/inmemoryservers/*.ts : implement new mcp tool in src/main...Applied to files:
📚 Learning: applies to src/main/presenter/mcppresenter/index.ts : register new mcp tool in mcppresenter/index.ts...Applied to files:
📚 Learning: applies to src/main/presenter/llmproviderpresenter/providers/*.ts : when a provider supports native ...Applied to files:
📚 Learning: in src/renderer/src/stores/chat.ts, the user prefers to keep both `text` and `content` properties in...Applied to files:
📚 Learning: applies to src/main/presenter/llmproviderpresenter/index.ts : `src/main/presenter/llmproviderpresent...Applied to files:
📚 Learning: in the meeting server implementation (src/main/presenter/mcppresenter/inmemoryservers/meetingserver....Applied to files:
🔇 Additional comments (1)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
* fix: prevent tooltip from overlapping HTML preview in ArtifactDialog (#683) * fix: unwatch is not a function error in knowledge settings components (#684) * fix: resolve message editing and markdown rendering issues (#685) * docs: update Electron-Vite link format to full URL (#687) * fix: built-in knowledge settings not loaded when first entering (#688) * fix: enhance lifecycle management by adding unmounted hook and MCP state watcher * fix: improve knowledge destruction confirmation and enhance unwatch handling in settings * fix: resolve database lock issue in data reset functionality (#689) * feat: implement provider-based request rate limit (#686) * feat: implement provider-based request rate limit * feat: add input validation with confirmation dialog * refactor: merge RateLimitPresenter into LLMProviderPresenter * Optimize/builtin knowledge interaction (#690) * feat: improve builtInKnowledge file icon style * feat: add builtInKnowledge resume icon tooltip * feat: format code * Update src/renderer/src/i18n/fa-IR/settings.json Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update src/renderer/src/i18n/ja-JP/settings.json Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update src/renderer/src/i18n/fr-FR/settings.json Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update settings.json * Update src/renderer/src/i18n/fr-FR/settings.json Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: Fix French and Korean translations for pause and delete file confirmation messages --------- Co-authored-by: sqsyli <sqsyli@qq.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix: fixed dirty data problems (#691) fixed the old session tool error caused by fixed the problem that the tool list was not reset when creating a new session * feat: add mentions support in deeplink (#692) * feat: add mentions support in chat input and store * style: format imports and clean up code for better readability * fix: improve mentions handling in handleStart method * fix: prompt attach files (#695) * fix: update file icon handling and improve file upload process * fix: remove redundant FileItem interface definition in PromptSetting.vue * fix: implement confirmation dialog for prompt deletion in PromptSetting.vue * fix: streamline file upload process by removing redundant file content reading logic * feat: add npm registry caching and optimization system (#697) * fix: resolve input focus loss issue after sending messages (#694) * fix: resolve deeplink message not displaying when triggered from settings page (#699) * fix: update current tools assignment to include tool names when MCP tools are not enabled (#698) * feat: add support for new models (#700) * chore: update ollama model settings * chore: add support for gpt-oss * chore: bump to 0.2.9 * fix: refine #698 (#701) * fix: update current tools assignment to include tool names when MCP tools are not enabled * fix: update enabled MCP tools assignment to include tool names on session switch * feat: add Claude Opus 4.1 support and fix anthropic model list dialog (#702) --------- Co-authored-by: yyhhyyyyyy <yyhhyyyyyy8@gmail.com> Co-authored-by: cycleccc <2991205548@qq.com> Co-authored-by: hllshiro <40970081+hllshiro@users.noreply.github.com> Co-authored-by: sqsyli <sqsyli@qq.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Pull Request Description
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
After creating a new chat from an old one, starting a new MCP service will cause currently enabled tools to be incorrectly disabled.
Details see below
Describe the solution you'd like
The error is caused by the incorrect default list selection when the session has no special settings for enabledMcpTools.
Details see below
UI/UX changes for Desktop Application
none
Platform Compatibility Notes
If this PR has specific platform compatibility considerations (Windows, macOS, Linux), please describe them here.
Pull Request Description (中文)
你的功能请求是否与某个问题有关?请描述一下。
请对问题进行清晰扼要的描述。
从旧的聊天中创建新聊天后,开启一个新的MCP服务,当前已启用的tools会被错误的关闭。
default.mp4
请描述你希望的解决方案
错误是当会话没有关于enabledMcpTools的特殊设置时,默认列表选择错误导致的。
⬇️
桌面应用程序的 UI/UX 更改
如果此 PR 引入了 UI/UX 更改,请详细描述它们。
无
平台兼容性注意事项
如果此 PR 具有特定的平台兼容性考虑因素(Windows、macOS、Linux),请在此处描述。
Summary by CodeRabbit