Skip to content

Commit ba0312f

Browse files
Merge pull request #1421 from digma-ai/fix/edit-mcp-server
Open second step of MCP dialog on edit click
2 parents eb8c4fd + 6e3996f commit ba0312f

File tree

9 files changed

+42
-39
lines changed

9 files changed

+42
-39
lines changed

src/components/Agentic/IncidentDetails/AgentFlowChart/AgentFlowChartNodeToolbar/index.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ export const AgentFlowChartNodeToolbar = ({
1010
position,
1111
isEditMode,
1212
onAddMCPServer,
13-
onSetMCPServer,
13+
onEditMCPServer,
1414
onDeleteMCPServer,
1515
showPlusButton
1616
}: AgentFlowChartNodeToolbarProps) => {
1717
const handleAddMCPServer = () => {
1818
onAddMCPServer();
1919
};
2020

21-
const handleSetMCPServer = (server: string) => {
22-
onSetMCPServer(server);
21+
const handleEditMCPServer = (server: string) => {
22+
onEditMCPServer(server);
2323
};
2424

2525
const handleDeleteMCPServer = (server: string) => {
@@ -32,7 +32,7 @@ export const AgentFlowChartNodeToolbar = ({
3232
<MCPServersToolbar
3333
key={"mcp-servers-toolbar"}
3434
servers={servers}
35-
onSetMCPServer={handleSetMCPServer}
35+
onEditMCPServer={handleEditMCPServer}
3636
onDeleteMCPServer={handleDeleteMCPServer}
3737
/>
3838
]

src/components/Agentic/IncidentDetails/AgentFlowChart/AgentFlowChartNodeToolbar/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export interface AgentFlowChartNodeToolbarProps {
66
position: Position;
77
servers: ExtendedAgentMCPServer[];
88
onAddMCPServer: () => void;
9-
onSetMCPServer: (server: string) => void;
9+
onEditMCPServer: (server: string) => void;
1010
onDeleteMCPServer: (server: string) => void;
1111
showPlusButton?: boolean;
1212
}

src/components/Agentic/IncidentDetails/AgentFlowChart/MCPServersToolbar/index.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import type { MCPServersToolbarProps } from "./types";
1515

1616
export const MCPServersToolbar = ({
1717
servers,
18-
onSetMCPServer,
18+
onEditMCPServer,
1919
onDeleteMCPServer
2020
}: MCPServersToolbarProps) => {
2121
const [isKebabMenuOpen, setIsKebabMenuOpen] = useState(false);
@@ -48,9 +48,9 @@ export const MCPServersToolbar = ({
4848
);
4949

5050
switch (id) {
51-
case "set": {
51+
case "edit": {
5252
if (selectedMCPServer) {
53-
onSetMCPServer(selectedMCPServer);
53+
onEditMCPServer(selectedMCPServer);
5454
}
5555
break;
5656
}
@@ -67,10 +67,10 @@ export const MCPServersToolbar = ({
6767

6868
const kebabMenuItems: MenuItem[] = [
6969
{
70-
id: "set",
70+
id: "edit",
7171
icon: <WrenchIcon size={16} color={"currentColor"} />,
72-
label: "Set",
73-
onClick: () => handleKebabMenuItemClick("set")
72+
label: "Edit",
73+
onClick: () => handleKebabMenuItemClick("edit")
7474
},
7575
{
7676
id: "delete",

src/components/Agentic/IncidentDetails/AgentFlowChart/MCPServersToolbar/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { ExtendedAgentMCPServer } from "../types";
22

33
export interface MCPServersToolbarProps {
44
servers: ExtendedAgentMCPServer[];
5-
onSetMCPServer: (server: string) => void;
5+
onEditMCPServer: (server: string) => void;
66
onDeleteMCPServer: (server: string) => void;
77
}
88

src/components/Agentic/IncidentDetails/AgentFlowChart/index.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ const getFlowChartNodeData = ({
1515
isInteractive,
1616
isEditMode,
1717
onAddMCPServer,
18-
onSetMCPServer,
18+
onEditMCPServer,
1919
onDeleteMCPServer
2020
}: {
2121
agent?: ExtendedAgent;
2222
isInteractive?: boolean;
2323
isSelected?: boolean;
2424
isEditMode?: boolean;
2525
onAddMCPServer?: (agentName: string) => void;
26-
onSetMCPServer?: (agentName: string, server: string) => void;
26+
onEditMCPServer?: (agentName: string, server: string) => void;
2727
onDeleteMCPServer?: (agentName: string, server: string) => void;
2828
}): Partial<FlowChartNodeData> => {
2929
const handleAddMCPServer = () => {
@@ -41,12 +41,12 @@ const getFlowChartNodeData = ({
4141
onAddMCPServer?.(agent.name);
4242
};
4343

44-
const handleSetMCPServer = (server: string) => {
44+
const handleEditMCPServer = (server: string) => {
4545
if (!agent) {
4646
return;
4747
}
4848

49-
onSetMCPServer?.(agent.name, server);
49+
onEditMCPServer?.(agent.name, server);
5050
};
5151

5252
const handleDeleteMCPServer = (server: string) => {
@@ -78,7 +78,7 @@ const getFlowChartNodeData = ({
7878
position={sideContainerPosition}
7979
servers={agent.mcp_servers}
8080
onAddMCPServer={handleAddMCPServer}
81-
onSetMCPServer={handleSetMCPServer}
81+
onEditMCPServer={handleEditMCPServer}
8282
onDeleteMCPServer={handleDeleteMCPServer}
8383
showPlusButton={isEditMode}
8484
/>
@@ -97,7 +97,7 @@ export const AgentFlowChart = ({
9797
className,
9898
isEditMode,
9999
onAddMCPServer,
100-
onSetMCPServer,
100+
onEditMCPServer,
101101
onDeleteMCPServer
102102
}: AgentFlowChartProps) => {
103103
const extendedAgents: ExtendedAgent[] = [
@@ -177,7 +177,7 @@ export const AgentFlowChart = ({
177177
"skipped",
178178
isEditMode,
179179
onAddMCPServer,
180-
onSetMCPServer,
180+
onEditMCPServer,
181181
onDeleteMCPServer
182182
})
183183
}
@@ -194,7 +194,7 @@ export const AgentFlowChart = ({
194194
"skipped",
195195
isEditMode,
196196
onAddMCPServer,
197-
onSetMCPServer,
197+
onEditMCPServer,
198198
onDeleteMCPServer
199199
})
200200
}
@@ -211,7 +211,7 @@ export const AgentFlowChart = ({
211211
"skipped",
212212
isEditMode,
213213
onAddMCPServer,
214-
onSetMCPServer,
214+
onEditMCPServer,
215215
onDeleteMCPServer
216216
})
217217
}
@@ -228,7 +228,7 @@ export const AgentFlowChart = ({
228228
"skipped",
229229
isEditMode,
230230
onAddMCPServer,
231-
onSetMCPServer,
231+
onEditMCPServer,
232232
onDeleteMCPServer
233233
})
234234
}

src/components/Agentic/IncidentDetails/AgentFlowChart/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export interface AgentFlowChartProps {
77
className?: string;
88
isEditMode?: boolean;
99
onAddMCPServer?: (agentId: string) => void;
10-
onSetMCPServer?: (agentId: string, server: string) => void;
10+
onEditMCPServer?: (agentId: string, server: string) => void;
1111
onDeleteMCPServer?: (agentId: string, server: string) => void;
1212
}
1313

src/components/Agentic/IncidentTemplate/MCPServerDialog/index.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
useTestIncidentAgentMCPServerMutation,
66
useUpdateIncidentAgentMCPServerMutation
77
} from "../../../../redux/services/digma";
8-
import type { AddMCPServerPayload } from "../../../../redux/services/types";
98
import { isObject } from "../../../../typeGuards/isObject";
109
import { isString } from "../../../../typeGuards/isString";
1110
import { sendUserActionTrackingEvent } from "../../../../utils/actions/sendUserActionTrackingEvent";
@@ -35,7 +34,7 @@ export const MCPServerDialog = ({
3534
onClose,
3635
onComplete
3736
}: MCPServerDialogProps) => {
38-
const [currentStep, setCurrentStep] = useState(0);
37+
const [currentStep, setCurrentStep] = useState(serverData?.uid ? 1 : 0);
3938
const [connectionSettings, setConnectionSettings] = useState("");
4039
const [testServerError, setTestServerError] = useState<string>();
4140
const [addServerError, setAddServerError] = useState<string>();
@@ -78,16 +77,14 @@ export const MCPServerDialog = ({
7877
const handleToolsStepSave = (tools: string[], instructions: string) => {
7978
setAddServerError(undefined);
8079

81-
const payload: AddMCPServerPayload = {
82-
agent: agentId,
83-
config_json: connectionSettings,
84-
selected_tools: tools,
85-
instructions_prompt: instructions
86-
};
87-
8880
if (!serverData?.uid) {
8981
// Add new MCP server
90-
void addMCPServer(payload)
82+
void addMCPServer({
83+
agent: agentId,
84+
config_json: connectionSettings,
85+
selected_tools: tools,
86+
instructions_prompt: instructions
87+
})
9188
.unwrap()
9289
.then(() => {
9390
onComplete();
@@ -101,7 +98,10 @@ export const MCPServerDialog = ({
10198
// Update existing MCP server
10299
void updateMCPServer({
103100
id: serverData.uid,
104-
data: payload
101+
data: {
102+
selected_tools: tools,
103+
instructions_prompt: instructions
104+
}
105105
})
106106
.unwrap()
107107
.then(() => {
@@ -120,8 +120,8 @@ export const MCPServerDialog = ({
120120
};
121121

122122
const tools = useMemo(
123-
() => testMCPServerResult.data?.tools ?? [],
124-
[testMCPServerResult.data]
123+
() => serverData?.all_tools ?? [],
124+
[serverData?.all_tools]
125125
);
126126

127127
const steps = [

src/components/Agentic/IncidentTemplate/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export const IncidentTemplate = () => {
9191
setAgentIdToUpdate(agentId);
9292
};
9393

94-
const handleSetMCPServer = (agentId: string, serverName: string) => {
94+
const handleEditMCPServer = (agentId: string, serverName: string) => {
9595
const serverId = mcpServers?.mcps.find((x) => x.name === serverName)?.uid;
9696

9797
if (!serverId) {
@@ -184,7 +184,7 @@ export const IncidentTemplate = () => {
184184
selectedAgentId={agentId}
185185
isEditMode={true}
186186
onAddMCPServer={handleAddMCPServer}
187-
onSetMCPServer={handleSetMCPServer}
187+
onEditMCPServer={handleEditMCPServer}
188188
onDeleteMCPServer={handleDeleteMCPServer}
189189
/>
190190
{agentIdToUpdate && (

src/redux/services/types.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1289,7 +1289,10 @@ export interface AddMCPServerPayload {
12891289

12901290
export interface UpdateMCPServerPayload {
12911291
id: string;
1292-
data: AddMCPServerPayload;
1292+
data: {
1293+
selected_tools: string[];
1294+
instructions_prompt: string;
1295+
};
12931296
}
12941297

12951298
export interface DeleteMCPServerPayload {

0 commit comments

Comments
 (0)