McpFunction에 MCP 표준 힌트 4개 추가

This commit is contained in:
jade
2026-07-17 18:08:12 +09:00
parent 8359371122
commit 0ebac4e375
5 changed files with 41 additions and 3 deletions

View File

@@ -71,6 +71,18 @@ public class ToolMetadata {
@Builder.Default
private Boolean requiresApproval = false;
@Builder.Default
private Boolean readOnlyHint = false;
@Builder.Default
private Boolean destructiveHint = false;
@Builder.Default
private Boolean idempotentHint = false;
@Builder.Default
private Boolean openWorldHint = false;
// 3. 연동 아키텍처 구분 (DIRECT / MCI_EAI)
@@ -113,4 +125,4 @@ public class ToolMetadata {
if (parametersSchema == null || !parametersSchema.containsKey("required")) return Set.of();
return new HashSet<>((List<String>) parametersSchema.get("required"));
}
}
}

View File

@@ -52,6 +52,12 @@ public class RegistryMcpToolSpecificationFactory {
.name(entry.getName())
.description(description(entry))
.inputSchema(inputSchema(entry))
.annotations(McpSchema.ToolAnnotations.builder()
.readOnlyHint(Boolean.TRUE.equals(entry.getReadOnlyHint()))
.destructiveHint(Boolean.TRUE.equals(entry.getDestructiveHint()))
.idempotentHint(Boolean.TRUE.equals(entry.getIdempotentHint()))
.openWorldHint(Boolean.TRUE.equals(entry.getOpenWorldHint()))
.build())
.build();
return McpServerFeatures.SyncToolSpecification.builder()