-
Notifications
You must be signed in to change notification settings - Fork 467
feat(spi): adds implementation-neutral SPI module #178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
efa638e
to
9d7ed54
Compare
Hey @tzolov, hope you're doing well! Just wanted to check in — have you had a chance to review this PR? I’d appreciate any feedback when you get a moment. Looking forward to your thoughts! |
9432f3c
to
58173e5
Compare
2dac2b3
to
62b6f8a
Compare
Hi @tzolov👋 Just checking in to see if there’s been a chance to review this PR I’d love to get your thoughts on whether this is a direction the project is open to, or if there’s anything I should revise to help move it forward. Happy to discuss further or break it into smaller pieces if that helps with review. |
<version>${project.version}</version> | ||
</dependency> | ||
|
||
<!-- MCP Jacson Schema --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<!-- MCP Jacson Schema --> | |
<!-- MCP Jackson Schema --> |
A nit typo!
This PR introduces the first version of the
mcp-spi
module to define a transport-agnostic, reactive-compatible interface for the Model Context Protocol Java SDK.Refactor mcp to optionally log via a pluggable logger interface (McpTransportLogger interface in
mcp-spi
instead of hard SLF4J dependency).Key changes:
mcp-spi
(transport interfaces, Jackson-free schema types, McpSchemaCodec abstraction, McpClient/McpServer abstraction, McpLogger pluggable logger interface)mcp-schema-jackson
Jackson-based schema + McpSchemaCodec implementationmcp-logging-slf4j
slf4j-based implementation of McpLoggermcp
tomcp-reactor
mcp-reactor
to usemcp-spi
andmcp-schema-jackson
(as default codec implementation) andmcp-logging-slf4j
(as default McpLogger implementation)mcp-reactor
Motivation and Context
The motivation behind this change is to make the SDK modular, implementation-agnostic, and easier to integrate with diverse runtime environments.
How Has This Been Tested?
Breaking Changes
Types of changes
Checklist
Additional context
Possible Future Work:
mcp-spi-tck
).mcp-vertx
), Java 11+ Flow.Publisher HTTP client(mcp-flow
)mcp-schema-gson
,mcp-schema-cbor
,mcp-schema-protobuf
).p.s. if these changes don't make sense no problem just close this pr :-)