Skip to content
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
821b4c8
添加sdk写法相关类
relat-ivity Sep 28, 2025
e4f4006
接入Fit Http逻辑
relat-ivity Sep 29, 2025
1ffc318
使用Choir响应流实现sse发送
relat-ivity Sep 30, 2025
3be1b93
清除废弃文件
relat-ivity Sep 30, 2025
0da5c43
request.headers().all()使用有bug
relat-ivity Sep 30, 2025
b1bf920
接入MCP SDK的streamable服务器
relat-ivity Oct 13, 2025
a97b99a
增加注释
relat-ivity Oct 16, 2025
35b55a4
格式修正
relat-ivity Oct 17, 2025
35f7e68
日志修正
relat-ivity Oct 17, 2025
25125a1
更新MCP SDK版本0.14.0
relat-ivity Oct 17, 2025
8f0b7e7
工具添加
relat-ivity Oct 17, 2025
3773db9
fit工具链路添加
relat-ivity Oct 22, 2025
cc56e29
DefaultMcpServer
relat-ivity Oct 22, 2025
7843661
DefaultMcpServerTest修改
relat-ivity Oct 22, 2025
8ae3896
DefaultMcpServerTest修改
relat-ivity Oct 22, 2025
4a65f2d
input schema判断逻辑修改
relat-ivity Oct 22, 2025
65e0a0f
添加Server Bean
relat-ivity Oct 22, 2025
e6de1a5
修复Get结束Emitter不close的问题
relat-ivity Oct 23, 2025
43eac7d
接口解耦
relat-ivity Oct 23, 2025
deb5e92
test变动
relat-ivity Oct 23, 2025
a954a5e
使用logback-classic提供给SLF4J
relat-ivity Oct 27, 2025
ca3555b
优化连接监控机制
relat-ivity Oct 27, 2025
0af7a76
SLF4J依赖修正
relat-ivity Oct 29, 2025
93cb619
Optimize imports
relat-ivity Oct 29, 2025
7cc67f4
修正类名
relat-ivity Oct 29, 2025
0252343
删除本地Tools保存
relat-ivity Oct 30, 2025
8d85545
ServerSchema旧逻辑删除
relat-ivity Oct 30, 2025
b415e0d
根据0.14.1版本,ObjectMapper更新为McpJsonMapper
relat-ivity Oct 30, 2025
b9296cb
修改onToolAdded()抛出异常
relat-ivity Oct 30, 2025
d8e52be
格式化加onToolAdded()逻辑优化
relat-ivity Nov 4, 2025
d10b0aa
transport类文档
relat-ivity Nov 4, 2025
b019e62
修改md文档
relat-ivity Nov 4, 2025
3fd19f5
更新MD文档
relat-ivity Nov 5, 2025
99517c4
transportProvider优化
relat-ivity Nov 5, 2025
22a4a30
更新README
relat-ivity Nov 5, 2025
5f56153
修改transport类null返回值
relat-ivity Nov 6, 2025
d3760b8
修改transportProvider的handlePOST方法
relat-ivity Nov 7, 2025
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
5 changes: 5 additions & 0 deletions framework/fel/java/plugins/tool-mcp-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@
<groupId>org.fitframework.fel</groupId>
<artifactId>tool-mcp-common</artifactId>
</dependency>
<dependency>
<groupId>io.modelcontextprotocol.sdk</groupId>
<artifactId>mcp</artifactId>
<version>0.14.1</version>
</dependency>

<!-- Test -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@

package modelengine.fel.tool.mcp.server;

import modelengine.fel.tool.mcp.entity.ServerSchema;
import modelengine.fel.tool.mcp.entity.Tool;

import java.util.List;
import java.util.Map;

/**
* Represents the MCP Server.
Expand All @@ -19,29 +17,13 @@
* @since 2025-05-15
*/
public interface McpServer {
/**
* Gets MCP server schema.
*
* @return The MCP server schema as a {@link ServerSchema}.
*/
ServerSchema getSchema();

/**
* Gets MCP server tools.
*
* @return The MCP server tools as a {@link List}{@code <}{@link Tool}{@code >}.
*/
List<Tool> getTools();

/**
* Calls MCP server tool.
*
* @param name The tool name as a {@link String}.
* @param arguments The tool arguments as a {@link Map}{@code <}{@link String}{@code , }{@link Object}{@code >}.
* @return The tool result as a {@link Object}.
*/
Object callTool(String name, Map<String, Object> arguments);

/**
* Registers MCP server tools changed observer.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved.
* This file is a part of the ModelEngine Project.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/

package modelengine.fel.tool.mcp.server;

import io.modelcontextprotocol.json.McpJsonMapper;
import io.modelcontextprotocol.server.McpServer;
import io.modelcontextprotocol.server.McpSyncServer;
import io.modelcontextprotocol.spec.McpSchema;
import modelengine.fel.tool.mcp.server.transport.FitMcpStreamableServerTransportProvider;
import modelengine.fitframework.annotation.Bean;
import modelengine.fitframework.annotation.Component;
import modelengine.fitframework.annotation.Value;

import java.time.Duration;

/**
* Mcp Server Bean implemented with MCP SDK.
*
* @author 黄可欣
* @since 2025-10-22
*/
@Component
public class McpServerConfig {
@Bean
public FitMcpStreamableServerTransportProvider fitMcpStreamableServerTransportProvider() {
return FitMcpStreamableServerTransportProvider.builder().jsonMapper(McpJsonMapper.getDefault()).build();
}

@Bean
public McpSyncServer mcpSyncServer(FitMcpStreamableServerTransportProvider transportProvider,
@Value("${mcp.server.request.timeout-seconds}") int requestTimeoutSeconds) {
return McpServer.sync(transportProvider)
.serverInfo("FIT Store MCP Server", "3.6.0-SNAPSHOT")
.capabilities(McpSchema.ServerCapabilities.builder().tools(true).logging().build())
.requestTimeout(Duration.ofSeconds(requestTimeoutSeconds))
.build();
}
}

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading