Skip to content

Commit 98711d4

Browse files
qingyuan1109huixindaniel-lxs
authored
add support for mcp server instructions (#3260)
* add support for mcp server instructions * Update McpView.tsx * feat(mcp): add instructions field to MCP localization files and update UI to display instructions --------- Co-authored-by: huixin <[email protected]> Co-authored-by: Daniel Riccio <[email protected]>
1 parent a44daed commit 98711d4

File tree

21 files changed

+64
-29
lines changed

21 files changed

+64
-29
lines changed

src/core/prompts/sections/mcp-servers.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export async function getMcpServersSection(
3939
4040
return (
4141
`## ${server.name} (\`${config.command}${config.args && Array.isArray(config.args) ? ` ${config.args.join(" ")}` : ""}\`)` +
42+
(server.instructions ? `\n\n### Instructions\n${server.instructions}` : "") +
4243
(tools ? `\n\n### Available Tools\n${tools}` : "") +
4344
(templates ? `\n\n### Resource Templates\n${templates}` : "") +
4445
(resources ? `\n\n### Direct Resources\n${resources}` : "")

src/services/mcp/McpHub.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,7 @@ export class McpHub {
625625
await client.connect(transport)
626626
connection.server.status = "connected"
627627
connection.server.error = ""
628+
connection.server.instructions = client.getInstructions()
628629

629630
// Initial fetch of tools and resources
630631
connection.server.tools = await this.fetchToolsList(name, source)

src/shared/mcp.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export type McpServer = {
1717
timeout?: number
1818
source?: "global" | "project"
1919
projectPath?: string
20+
instructions?: string
2021
}
2122

2223
export type McpTool = {

webview-ui/src/components/mcp/McpView.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,9 @@ const ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowM
356356
{t("mcp:tabs.resources")} (
357357
{[...(server.resourceTemplates || []), ...(server.resources || [])].length || 0})
358358
</VSCodePanelTab>
359+
{server.instructions && (
360+
<VSCodePanelTab id="instructions">{t("mcp:instructions")}</VSCodePanelTab>
361+
)}
359362
<VSCodePanelTab id="errors">
360363
{t("mcp:tabs.errors")} ({server.errorHistory?.length || 0})
361364
</VSCodePanelTab>
@@ -402,6 +405,16 @@ const ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowM
402405
)}
403406
</VSCodePanelView>
404407

408+
{server.instructions && (
409+
<VSCodePanelView id="instructions-view">
410+
<div style={{ padding: "10px 0", fontSize: "12px" }}>
411+
<div className="opacity-80 whitespace-pre-wrap break-words">
412+
{server.instructions}
413+
</div>
414+
</div>
415+
</VSCodePanelView>
416+
)}
417+
405418
<VSCodePanelView id="errors-view">
406419
{server.errorHistory && server.errorHistory.length > 0 ? (
407420
<div
@@ -490,7 +503,9 @@ const ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowM
490503
onClick={handleRestart}
491504
disabled={server.status === "connecting"}
492505
style={{ width: "calc(100% - 20px)", margin: "0 10px 10px 10px" }}>
493-
{server.status === "connecting" ? "Retrying..." : "Retry Connection"}
506+
{server.status === "connecting"
507+
? t("mcp:serverStatus.retrying")
508+
: t("mcp:serverStatus.retryConnection")}
494509
</VSCodeButton>
495510
</div>
496511
)}

webview-ui/src/i18n/locales/ca/mcp.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"title": "Servidors MCP",
33
"done": "Fet",
4-
"description": "Activa el Model Context Protocol (MCP) perquè Roo Code pugui utilitzar eines i serveis addicionals de servidors externs. Això amplia el que Roo pot fer per tu. <0>Més informació</0>",
4+
"description": "El <0>Model Context Protocol</0> permet la comunicació amb servidors MCP que s'executen localment i proporcionen eines i recursos addicionals per ampliar les capacitats de Roo. Pots utilitzar <1>servidors creats per la comunitat</1> o demanar a Roo que creï noves eines específiques per al teu flux de treball (per exemple, \"afegir una eina que obtingui la documentació més recent de npm\").",
5+
"instructions": "Instruccions",
56
"enableToggle": {
67
"title": "Activa els servidors MCP",
78
"description": "Activa-ho perquè Roo pugui utilitzar eines dels servidors MCP connectats. Això dóna més capacitats a Roo. Si no vols utilitzar aquestes eines addicionals, desactiva-ho per ajudar a reduir el cost dels tokens API."

webview-ui/src/i18n/locales/de/mcp.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"title": "MCP-Server",
33
"done": "Fertig",
4-
"description": "Aktiviere das Model Context Protocol (MCP), damit Roo Code zusätzliche Tools und Dienste von externen Servern nutzen kann. Dies erweitert, was Roo für dich tun kann. <0>Mehr erfahren</0>",
4+
"description": "Das <0>Model Context Protocol</0> ermöglicht die Kommunikation mit lokal laufenden MCP-Servern, die zusätzliche Tools und Ressourcen zur Erweiterung der Fähigkeiten von Roo bereitstellen. Du kannst <1>von der Community erstellte Server</1> verwenden oder Roo bitten, neue Tools speziell für deinen Workflow zu erstellen (z.B. \"ein Tool hinzufügen, das die neueste npm-Dokumentation abruft\").",
5+
"instructions": "Anweisungen",
56
"enableToggle": {
67
"title": "MCP-Server aktivieren",
78
"description": "Schalte dies EIN, damit Roo Tools von verbundenen MCP-Servern verwenden kann. Dies gibt Roo mehr Möglichkeiten. Wenn du diese zusätzlichen Tools nicht verwenden möchtest, schalte es AUS, um API-Token-Kosten zu senken."

webview-ui/src/i18n/locales/en/mcp.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"title": "MCP Servers",
33
"done": "Done",
4-
"description": "Enable the Model Context Protocol (MCP) to let Roo Code use extra tools and services from external servers. This expands what Roo can do for you. <0>Learn More</0>",
4+
"description": "The <0>Model Context Protocol</0> enables communication with locally running MCP servers that provide additional tools and resources to extend Roo's capabilities. You can use <1>community-made servers</1> or ask Roo to create new tools specific to your workflow (e.g., \"add a tool that gets the latest npm docs\").",
5+
"instructions": "Instructions",
56
"enableToggle": {
67
"title": "Enable MCP Servers",
78
"description": "Turn this ON to let Roo use tools from connected MCP servers. This gives Roo more capabilities. If you don't plan to use these extra tools, turn it OFF to help reduce API token costs."

webview-ui/src/i18n/locales/es/mcp.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"title": "Servidores MCP",
3-
"done": "Hecho",
4-
"description": "Activa el Model Context Protocol (MCP) para que Roo Code pueda usar herramientas y servicios adicionales de servidores externos. Esto amplía lo que Roo puede hacer por ti. <0>Más información</0>",
3+
"done": "Listo",
4+
"description": "El <0>Model Context Protocol</0> permite la comunicación con servidores MCP que se ejecutan localmente y proporcionan herramientas y recursos adicionales para extender las capacidades de Roo. Puedes usar <1>servidores creados por la comunidad</1> o pedir a Roo que cree nuevas herramientas específicas para tu flujo de trabajo (por ejemplo, \"añadir una herramienta que obtenga la documentación más reciente de npm\").",
5+
"instructions": "Instrucciones",
56
"enableToggle": {
67
"title": "Activar servidores MCP",
78
"description": "Actívalo para que Roo pueda usar herramientas de servidores MCP conectados. Esto le da más capacidades a Roo. Si no planeas usar estas herramientas extra, desactívalo para ayudar a reducir los costes de tokens API."

webview-ui/src/i18n/locales/fr/mcp.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"title": "Serveurs MCP",
33
"done": "Terminé",
4-
"description": "Active le Model Context Protocol (MCP) pour permettre à Roo Code d'utiliser des outils et services supplémentaires depuis des serveurs externes. Cela élargit ce que Roo peut faire pour toi. <0>En savoir plus</0>",
4+
"description": "Le <0>Model Context Protocol</0> permet la communication avec des serveurs MCP exécutés localement qui fournissent des outils et des ressources supplémentaires pour étendre les capacités de Roo. Vous pouvez utiliser <1>des serveurs créés par la communauté</1> ou demander à Roo de créer de nouveaux outils spécifiques à votre flux de travail (par exemple, \"ajouter un outil qui récupère la dernière documentation npm\").",
5+
"instructions": "Instructions",
56
"enableToggle": {
67
"title": "Activer les serveurs MCP",
78
"description": "Active cette option pour que Roo puisse utiliser des outils provenant de serveurs MCP connectés. Cela donne plus de capacités à Roo. Si tu ne comptes pas utiliser ces outils supplémentaires, désactive-la pour réduire les coûts de tokens API."

webview-ui/src/i18n/locales/hi/mcp.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"title": "MCP सर्वर",
33
"done": "हो गया",
4-
"description": "Model Context Protocol (MCP) सक्षम करें ताकि Roo Code बाहरी सर्वरों से अतिरिक्त टूल्स और सेवाएँ इस्तेमाल कर सके। इससे Roo तुम्हारे लिए और भी काम कर सकता है। <0>और जानें</0>",
4+
"description": "<0>मॉडल कॉन्टेक्स्ट प्रोटोकॉल</0> स्थानीय रूप से चल रहे MCP सर्वरों के साथ संचार को सक्षम बनाता है जो Roo की क्षमताओं का विस्तार करने के लिए अतिरिक्त उपकरण और संसाधन प्रदान करते हैं। आप <1>समुदाय द्वारा बनाए गए सर्वरों</1> का उपयोग कर सकते हैं या Roo से अपने कार्यप्रवाह के लिए विशिष्ट नए उपकरण बनाने के लिए कह सकते हैं (जैसे, \"नवीनतम npm दस्तावेज़ प्राप्त करने वाला उपकरण जोड़ें\")।",
5+
"instructions": "निर्देश",
56
"enableToggle": {
67
"title": "MCP सर्वर सक्षम करें",
78
"description": "इसे ON करो ताकि Roo जुड़े हुए MCP सर्वरों से टूल्स इस्तेमाल कर सके। इससे Roo को और क्षमताएँ मिलती हैं। अगर तुम ये अतिरिक्त टूल्स इस्तेमाल नहीं करना चाहते, तो इसे OFF करो ताकि API टोकन लागत कम हो सके।"

0 commit comments

Comments
 (0)