Skip to content

Commit d267d3d

Browse files
committed
Add deprecation docs for mcp-annotations-string module
Signed-off-by: Christian Tzolov <[email protected]>
1 parent ad6e17a commit d267d3d

File tree

1 file changed

+6
-154
lines changed

1 file changed

+6
-154
lines changed

README.md

Lines changed: 6 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ To use the MCP Annotations core module in your project, add the following depend
4040
</dependency>
4141
```
4242

43-
### Spring Integration Module
43+
### (DEPRECATED) Spring Integration Module
44+
45+
This module is moved to Spring AI
4446

4547
To use the Spring integration module, add the following dependency:
4648

@@ -100,7 +102,7 @@ The core module provides a set of annotations and callback implementations for p
100102

101103
Each operation type has both synchronous and asynchronous implementations, allowing for flexible integration with different application architectures.
102104

103-
### Spring Integration Module (mcp-annotations-spring)
105+
### (DEPRECATED) Spring Integration Module (mcp-annotations-spring)
104106

105107
The Spring integration module provides seamless integration with Spring AI and Spring Framework applications. It handles Spring-specific concerns such as AOP proxies and integrates with Spring AI's model abstractions.
106108

@@ -233,9 +235,9 @@ The project includes provider classes that scan for annotated methods and create
233235
- `SyncStatelessMcpToolProvider` - Processes `@McpTool` annotations for synchronous stateless operations
234236
- `AsyncStatelessMcpToolProvider` - Processes `@McpTool` annotations for asynchronous stateless operations
235237

236-
### Spring Integration
238+
### (DEPRECATED) Spring Integration
237239

238-
The Spring integration module provides:
240+
Deprecated.The Spring integration module is moved to the Spring AI
239241

240242
- `AsyncMcpAnnotationProviders` - Handles Spring-specific concerns when processing asynchronous MCP annotations
241243
- `SyncMcpAnnotationProviders` - Handles Spring-specific concerns when processing synchronous MCP annotations
@@ -1899,153 +1901,6 @@ public class StatelessMcpServerFactory {
18991901
}
19001902
```
19011903

1902-
### Spring Integration Example
1903-
1904-
```java
1905-
@Configuration
1906-
public class McpConfig {
1907-
1908-
@Bean
1909-
public List<SyncCompletionSpecification> syncCompletionSpecifications(
1910-
List<AutocompleteProvider> completeProviders) {
1911-
return SyncMcpAnnotationProviders.completeSpecifications(completeProviders);
1912-
}
1913-
1914-
@Bean
1915-
public List<McpStatelessServerFeatures.SyncCompletionSpecification> syncStatelessCompleteSpecifications(
1916-
List<StatelessAutocompleteProvider> statelessCompleteProviders) {
1917-
return SyncMcpAnnotationProviders.statelessCompleteSpecifications(statelessCompleteProviders);
1918-
}
1919-
1920-
@Bean
1921-
public List<SyncPromptSpecification> syncPromptSpecifications(
1922-
List<PromptProvider> promptProviders) {
1923-
return SyncMcpAnnotationProviders.promptSpecifications(promptProviders);
1924-
}
1925-
1926-
@Bean
1927-
public List<SyncResourceSpecification> syncResourceSpecifications(
1928-
List<ResourceProvider> resourceProviders) {
1929-
return SyncMcpAnnotationProviders.resourceSpecifications(resourceProviders);
1930-
}
1931-
1932-
@Bean
1933-
public List<SyncToolSpecification> syncToolSpecifications(
1934-
List<CalculatorToolProvider> toolProviders) {
1935-
return SyncMcpAnnotationProviders.toolSpecifications(toolProviders);
1936-
}
1937-
1938-
@Bean
1939-
public List<AsyncToolSpecification> asyncToolSpecifications(
1940-
List<AsyncToolProvider> asyncToolProviders) {
1941-
return AsyncMcpAnnotationProviders.toolSpecifications(asyncToolProviders);
1942-
}
1943-
1944-
@Bean
1945-
public List<SyncLoggingSpecification> syncLoggingSpecifications(
1946-
List<LoggingHandler> loggingHandlers) {
1947-
return SyncMcpAnnotationProviders.loggingSpecifications(loggingHandlers);
1948-
}
1949-
1950-
@Bean
1951-
public List<AsyncLoggingSpecification> asyncLoggingSpecifications(
1952-
List<AsyncLoggingHandler> asyncLoggingHandlers) {
1953-
return AsyncMcpAnnotationProviders.loggingSpecifications(asyncLoggingHandlers);
1954-
}
1955-
1956-
@Bean
1957-
public List<SyncSamplingSpecification> syncSamplingSpecifications(
1958-
List<SamplingHandler> samplingHandlers) {
1959-
return SyncMcpAnnotationProviders.samplingSpecifications(samplingHandlers);
1960-
}
1961-
1962-
@Bean
1963-
public List<AsyncSamplingSpecification> asyncSamplingSpecifications(
1964-
List<AsyncSamplingHandler> asyncSamplingHandlers) {
1965-
return AsyncMcpAnnotationProviders.samplingSpecifications(asyncSamplingHandlers);
1966-
}
1967-
1968-
@Bean
1969-
public List<SyncElicitationSpecification> syncElicitationSpecifications(
1970-
List<ElicitationHandler> elicitationHandlers) {
1971-
return SyncMcpAnnotationProviders.elicitationSpecifications(elicitationHandlers);
1972-
}
1973-
1974-
@Bean
1975-
public List<AsyncElicitationSpecification> asyncElicitationSpecifications(
1976-
List<AsyncElicitationHandler> asyncElicitationHandlers) {
1977-
return AsyncMcpAnnotationProviders.elicitationSpecifications(asyncElicitationHandlers);
1978-
}
1979-
1980-
@Bean
1981-
public List<SyncProgressSpecification> syncProgressSpecifications(
1982-
List<ProgressHandler> progressHandlers) {
1983-
return SyncMcpAnnotationProviders.progressSpecifications(progressHandlers);
1984-
}
1985-
1986-
@Bean
1987-
public List<AsyncProgressSpecification> asyncProgressSpecifications(
1988-
List<AsyncProgressHandler> asyncProgressHandlers) {
1989-
return AsyncMcpAnnotationProviders.progressSpecifications(asyncProgressHandlers);
1990-
}
1991-
1992-
@Bean
1993-
public List<SyncToolListChangedSpecification> syncToolListChangedSpecifications(
1994-
List<ToolListChangedHandler> toolListChangedHandlers) {
1995-
return SyncMcpAnnotationProviders.toolListChangedSpecifications(toolListChangedHandlers);
1996-
}
1997-
1998-
@Bean
1999-
public List<AsyncToolListChangedSpecification> asyncToolListChangedSpecifications(
2000-
List<AsyncToolListChangedHandler> asyncToolListChangedHandlers) {
2001-
return AsyncMcpAnnotationProviders.toolListChangedSpecifications(asyncToolListChangedHandlers);
2002-
}
2003-
2004-
@Bean
2005-
public List<SyncResourceListChangedSpecification> syncResourceListChangedSpecifications(
2006-
List<ResourceListChangedHandler> resourceListChangedHandlers) {
2007-
return SyncMcpAnnotationProviders.resourceListChangedSpecifications(resourceListChangedHandlers);
2008-
}
2009-
2010-
@Bean
2011-
public List<AsyncResourceListChangedSpecification> asyncResourceListChangedSpecifications(
2012-
List<AsyncResourceListChangedHandler> asyncResourceListChangedHandlers) {
2013-
return AsyncMcpAnnotationProviders.resourceListChangedSpecifications(asyncResourceListChangedHandlers);
2014-
}
2015-
2016-
@Bean
2017-
public List<SyncPromptListChangedSpecification> syncPromptListChangedSpecifications(
2018-
List<PromptListChangedHandler> promptListChangedHandlers) {
2019-
return SyncMcpAnnotationProviders.promptListChangedSpecifications(promptListChangedHandlers);
2020-
}
2021-
2022-
@Bean
2023-
public List<AsyncPromptListChangedSpecification> asyncPromptListChangedSpecifications(
2024-
List<AsyncPromptListChangedHandler> asyncPromptListChangedHandlers) {
2025-
return AsyncMcpAnnotationProviders.promptListChangedSpecifications(asyncPromptListChangedHandlers);
2026-
}
2027-
2028-
// Stateless Spring Integration Examples
2029-
2030-
@Bean
2031-
public List<McpStatelessServerFeatures.SyncToolSpecification> syncStatelessToolSpecifications(
2032-
List<StatelessCalculatorProvider> statelessToolProviders) {
2033-
return SyncMcpAnnotationProviders.statelessToolSpecifications(statelessToolProviders);
2034-
}
2035-
2036-
@Bean
2037-
public List<McpStatelessServerFeatures.SyncPromptSpecification> syncStatelessPromptSpecifications(
2038-
List<StatelessPromptProvider> statelessPromptProviders) {
2039-
return SyncMcpAnnotationProviders.statelessPromptSpecifications(statelessPromptProviders);
2040-
}
2041-
2042-
@Bean
2043-
public List<McpStatelessServerFeatures.SyncResourceSpecification> syncStatelessResourceSpecifications(
2044-
List<StatelessResourceProvider> statelessResourceProviders) {
2045-
return SyncMcpAnnotationProviders.statelessResourceSpecifications(statelessResourceProviders);
2046-
}
2047-
}
2048-
```
20491904

20501905
## Features
20511906

@@ -2062,15 +1917,12 @@ public class McpConfig {
20621917
- **Sampling support** - Handle sampling requests from MCP servers
20631918
- **Progress notification support** - Handle progress notifications for long-running operations
20641919
- **Tool list changed support** - Handle tool list change notifications from MCP servers when tools are dynamically added, removed, or modified
2065-
- **Spring integration** - Seamless integration with Spring Framework and Spring AI, including support for both stateful and stateless operations
2066-
- **AOP proxy support** - Proper handling of Spring AOP proxies when processing annotations
20671920

20681921
## Requirements
20691922

20701923
- Java 17 or higher
20711924
- Reactor Core (for async operations)
20721925
- MCP Java SDK 0.12.0-SNAPSHOT or higher
2073-
- Spring Framework and Spring AI (for mcp-annotations-spring module)
20741926

20751927
## Building from Source
20761928

0 commit comments

Comments
 (0)