[FEL] MCP streamable HTTP server implemented with MCP SDK #344
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔗 相关问题 / Related Issue
Issue 链接 / Issue Link: #342 👈👈
📋 变更类型 / Type of Change
📝 变更目的 / Purpose of the Change
根据MCP协议2025-06-18版本新的规范,MCP传输调整为streamable HTTP。并且新增服务器Elicitation与服务器Log通知等新功能。
在原有的FEL中实现的SSE MCP服务器中接入这些新功能需要较大工作量,所以需要接入MCP SDK实现。
📋 主要变更 / Brief Changelog
tool-mcp-server
插件中添加0.14.0
版本的MCP Java SDK的依赖DefaultStreamableSyncMcpServer
类使用MCP SDK构建同步Streamable MCP服务器DefaultMcpStreamableServerTransportProvider
类使用FIT的HTTP实现完成Streamable MCP服务器的HTTP传输逻辑🧪 验证变更 / Verifying this Change
测试步骤 / Test Steps
npx @modelcontextprotocol/inspector
测试服务器功能测试覆盖 / Test Coverage
📸 截图 / Screenshots
✅ 贡献者检查清单 / Contributor Checklist
请确保你的 Pull Request 符合以下要求 / Please ensure your Pull Request meets the following requirements:
基本要求 / Basic Requirements:
代码质量 / Code Quality:
测试要求 / Testing Requirements:
mvn -B clean package -Dmaven.test.skip=true
,elsa README 中的编译检查 / Basic checks passmvn clean install
/ Unit tests pass文档和兼容性 / Documentation and Compatibility:
📋 附加信息 / Additional Notes
由于引入MCP Java SDK中使用SLF4J作为日志,启动时会warning:
SLF4J(W): No SLF4J providers were found. SLF4J(W): Defaulting to no-operation (NOP) logger implementation SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
将在后续Issue中改进
审查者注意事项 / Reviewer Notes: