上传备份

master
王兵 1 month ago
parent efc222c5d4
commit 8a12f5d934

@ -5,6 +5,13 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Tool
* 使
*
* @author wangbing
* @since 1.0
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface Tool {

@ -7,14 +7,16 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.function.server.RouterFunction;
/**
* @author quanyu
* @date 2025/5/6 22:39
* MCP
*
* @author wangbing
* @since 1.0
*/
@Configuration
class McpServerConfig {
@Bean
WebFluxSseServerTransportProvider webFluxSseServerTransportProvider() {
return new WebFluxSseServerTransportProvider(new ObjectMapper(), "/mcp/message");
return new WebFluxSseServerTransportProvider(new ObjectMapper(), "/mcp/post");
}
@Bean

@ -84,6 +84,16 @@ public class McpServerRegistrar {
.build());
}
/**
* JSON Schema
*
* @param schema JSON Schema
* @param parameter
* @note <br>
* 1. JSON Schema"properties"<br>
* 2. {@link #jsonTypeMapper(Parameter)}JSON Schema<br>
* 3. @P"properties"
*/
private void putProperties(ObjectNode schema, Parameter parameter) {
// 处理参数
String typeName = jsonTypeMapper(parameter);
@ -100,6 +110,17 @@ public class McpServerRegistrar {
}
}
/**
* JavaJSON Schema
*
* @param parameter
* @return JSON Schema'boolean'、'number'、'string'、'array'或'object'
* @note <br>
* - boolean'boolean'char'string'(int/long/float)'number'<br>
* - Number'number'Boolean'boolean'String'string'<br>
* - /Collection'array'Map'object'<br>
* - List/Set'array''object'
*/
private String jsonTypeMapper(Parameter parameter) {
Class<?> paramType = parameter.getType();
Type genericType = parameter.getParameterizedType();

Loading…
Cancel
Save

Powered by TurnKey Linux.