Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
*/
@SpringBootApplication
@EnableAspectJAutoProxy
@MapperScan({"com.tinyengine.it.mapper","com.tinyengine.it.dynamic.dao"})
@MapperScan({"com.tinyengine.it.mapper","com.tinyengine.it.dynamic.dao","com.tinyengine.it.mcp.tools"})
public class TinyEngineApplication {
/**
* The entry point of application.
Expand Down
16 changes: 15 additions & 1 deletion app/src/main/resources/application-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,21 @@ spring:
min-evictable-idle-time-millis: 300000 # 连接在池中保持空闲的最小时间(单位:毫秒)。如果空闲时间超过这个值,连接将被回收,默认值为 1800000。
pool-prepared-statements: true # 是否缓存 PreparedStatement 对象,默认值为 true。
max-open-prepared-statements: 20 # 最大缓存的 PreparedStatement 数量,默认值为 -1,表示无限制。如果 `pool-prepared-statements` 设置为 true,设置此值以限制缓存数量。

ai:
mcp:
server:
enabled: true
protocol: STREAMABLE
version: 1.0.0
tool-change-notification: true
type: SYNC
annotation-scanner:
enabled: false
capabilities:
tool: true
streamable-http:
mcp-endpoint: /tiny-engine/mcp
name: tiny-engine-mcp
# 清空任务配置
cleanup:
enabled: false
Expand Down
91 changes: 87 additions & 4 deletions app/src/main/resources/sql/h2/init_data_for_test_v1.0.0.sql

Large diffs are not rendered by default.

91 changes: 87 additions & 4 deletions app/src/main/resources/sql/mysql/init_data_for_test_v1.0.0.sql

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.tinyengine.it.mcp.config;


import com.tinyengine.it.mcp.tools.GitFileReaderService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

@Configuration
public class McpToolsConfig {
private static final Logger log = LoggerFactory.getLogger(McpToolsConfig.class);


/**
* 方式一:通过 ToolCallbackProvider 批量注册工具
*/
@Bean
@Primary
public ToolCallbackProvider toolCallbackProvider(GitFileReaderService gitFileReaderService) {


MethodToolCallbackProvider provider = MethodToolCallbackProvider.builder()
.toolObjects(gitFileReaderService)
.build();
// 立即验证
log.info("Tool count from provider: " + provider.getToolCallbacks().length);
return provider;
}
}
Loading
Loading