mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
fix(frontend): MCP tool name rendering (#8623)
Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
parent
66f33bfa96
commit
2906a9023f
@ -35,6 +35,7 @@ export const getEventContent = (
|
||||
path: hasPathProperty(event.args) && event.args.path,
|
||||
command:
|
||||
hasCommandProperty(event.args) && trimText(event.args.command, 80),
|
||||
mcp_tool_name: event.action === "call_tool_mcp" && event.args.name,
|
||||
}}
|
||||
components={{
|
||||
path: <PathComponent />,
|
||||
@ -54,6 +55,7 @@ export const getEventContent = (
|
||||
command:
|
||||
hasCommandProperty(event.extras) &&
|
||||
trimText(event.extras.command, 80),
|
||||
mcp_tool_name: event.observation === "mcp" && event.extras.name,
|
||||
}}
|
||||
components={{
|
||||
path: <PathComponent />,
|
||||
|
||||
@ -6608,20 +6608,20 @@
|
||||
"uk": "Виконання команди Python"
|
||||
},
|
||||
"ACTION_MESSAGE$CALL_TOOL_MCP": {
|
||||
"en": "Calling MCP Tool: {{action.payload.args.name}}",
|
||||
"zh-CN": "调用 MCP 工具: {{action.payload.args.name}}",
|
||||
"zh-TW": "呼叫 MCP 工具: {{action.payload.args.name}}",
|
||||
"ko-KR": "MCP 도구 호출: {{action.payload.args.name}}",
|
||||
"ja": "MCP ツール呼び出し: {{action.payload.args.name}}",
|
||||
"no": "Kaller MCP-verktøy: {{action.payload.args.name}}",
|
||||
"ar": "استدعاء أداة MCP: {{action.payload.args.name}}",
|
||||
"de": "Ruft MCP-Tool auf: {{action.payload.args.name}}",
|
||||
"fr": "Appel de l'outil MCP: {{action.payload.args.name}}",
|
||||
"it": "Chiamata allo strumento MCP: {{action.payload.args.name}}",
|
||||
"pt": "Chamando ferramenta MCP: {{action.payload.args.name}}",
|
||||
"es": "Llamando a la herramienta MCP: {{action.payload.args.name}}",
|
||||
"tr": "MCP Aracı çağrılıyor: {{action.payload.args.name}}",
|
||||
"uk": "Викликаю інструмент MCP: {{action.payload.args.name}}"
|
||||
"en": "Calling MCP Tool: {{mcp_tool_name}}",
|
||||
"zh-CN": "调用 MCP 工具: {{mcp_tool_name}}",
|
||||
"zh-TW": "呼叫 MCP 工具: {{mcp_tool_name}}",
|
||||
"ko-KR": "MCP 도구 호출: {{mcp_tool_name}}",
|
||||
"ja": "MCP ツール呼び出し: {{mcp_tool_name}}",
|
||||
"no": "Kaller MCP-verktøy: {{mcp_tool_name}}",
|
||||
"ar": "استدعاء أداة MCP: {{mcp_tool_name}}",
|
||||
"de": "Ruft MCP-Tool auf: {{mcp_tool_name}}",
|
||||
"fr": "Appel de l'outil MCP: {{mcp_tool_name}}",
|
||||
"it": "Chiamata allo strumento MCP: {{mcp_tool_name}}",
|
||||
"pt": "Chamando ferramenta MCP: {{mcp_tool_name}}",
|
||||
"es": "Llamando a la herramienta MCP: {{mcp_tool_name}}",
|
||||
"tr": "MCP Aracı çağrılıyor: {{mcp_tool_name}}",
|
||||
"uk": "Викликаю інструмент MCP: {{mcp_tool_name}}"
|
||||
},
|
||||
"ACTION_MESSAGE$READ": {
|
||||
"en": "Reading <path>{{path}}</path>",
|
||||
@ -6832,20 +6832,20 @@
|
||||
"uk": "Перегляд завершено"
|
||||
},
|
||||
"OBSERVATION_MESSAGE$MCP": {
|
||||
"en": "MCP Tool Result: {{action.payload.args.name}}",
|
||||
"zh-CN": "MCP 工具结果: {{action.payload.args.name}}",
|
||||
"zh-TW": "MCP 工具結果: {{action.payload.args.name}}",
|
||||
"ko-KR": "MCP 도구 결과: {{action.payload.args.name}}",
|
||||
"ja": "MCP ツール結果: {{action.payload.args.name}}",
|
||||
"no": "MCP verktøyresultat: {{action.payload.args.name}}",
|
||||
"ar": "نتيجة أداة MCP: {{action.payload.args.name}}",
|
||||
"de": "MCP-Tool-Ergebnis: {{action.payload.args.name}}",
|
||||
"fr": "Résultat de l'outil MCP: {{action.payload.args.name}}",
|
||||
"it": "Risultato dello strumento MCP: {{action.payload.args.name}}",
|
||||
"pt": "Resultado da ferramenta MCP: {{action.payload.args.name}}",
|
||||
"es": "Resultado de la herramienta MCP: {{action.payload.args.name}}",
|
||||
"tr": "MCP Aracı Sonucu: {{action.payload.args.name}}",
|
||||
"uk": "Результат інструменту MCP: {{action.payload.args.name}}"
|
||||
"en": "MCP Tool Result: {{mcp_tool_name}}",
|
||||
"zh-CN": "MCP 工具结果: {{mcp_tool_name}}",
|
||||
"zh-TW": "MCP 工具結果: {{mcp_tool_name}}",
|
||||
"ko-KR": "MCP 도구 결과: {{mcp_tool_name}}",
|
||||
"ja": "MCP ツール結果: {{mcp_tool_name}}",
|
||||
"no": "MCP verktøyresultat: {{mcp_tool_name}}",
|
||||
"ar": "نتيجة أداة MCP: {{mcp_tool_name}}",
|
||||
"de": "MCP-Tool-Ergebnis: {{mcp_tool_name}}",
|
||||
"fr": "Résultat de l'outil MCP: {{mcp_tool_name}}",
|
||||
"it": "Risultato dello strumento MCP: {{mcp_tool_name}}",
|
||||
"pt": "Resultado da ferramenta MCP: {{mcp_tool_name}}",
|
||||
"es": "Resultado de la herramienta MCP: {{mcp_tool_name}}",
|
||||
"tr": "MCP Aracı Sonucu: {{mcp_tool_name}}",
|
||||
"uk": "Результат інструменту MCP: {{mcp_tool_name}}"
|
||||
},
|
||||
"OBSERVATION_MESSAGE$RECALL": {
|
||||
"en": "Microagent ready",
|
||||
|
||||
@ -134,16 +134,14 @@ export interface RecallObservation extends OpenHandsObservationEvent<"recall"> {
|
||||
export interface MCPObservation extends OpenHandsObservationEvent<"mcp"> {
|
||||
source: "agent";
|
||||
extras: {
|
||||
// Add any specific fields for MCP observations
|
||||
name: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface UserRejectedObservation
|
||||
extends OpenHandsObservationEvent<"user_rejected"> {
|
||||
source: "agent";
|
||||
extras: {
|
||||
// Add any specific fields for MCP observations
|
||||
};
|
||||
extras: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export type OpenHandsObservation =
|
||||
|
||||
@ -9,6 +9,7 @@ class MCPObservation(Observation):
|
||||
"""This data class represents the result of a MCP Server operation."""
|
||||
|
||||
observation: str = ObservationType.MCP
|
||||
name: str = '' # The name of the MCP tool that was called
|
||||
|
||||
@property
|
||||
def message(self) -> str:
|
||||
|
||||
@ -150,7 +150,9 @@ async def call_tool_mcp(mcp_clients: list[MCPClient], action: MCPAction) -> Obse
|
||||
response = await matching_client.call_tool(action.name, action.arguments)
|
||||
logger.debug(f'MCP response: {response}')
|
||||
|
||||
return MCPObservation(content=json.dumps(response.model_dump(mode='json')))
|
||||
return MCPObservation(
|
||||
content=json.dumps(response.model_dump(mode='json')), name=action.name
|
||||
)
|
||||
|
||||
|
||||
async def add_mcp_tools_to_agent(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user