diff --git a/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java b/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java
index 4ab5ca02d10..5fc329f5771 100644
--- a/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java
+++ b/mcp/common/src/main/java/org/springframework/ai/mcp/McpToolUtils.java
@@ -93,13 +93,13 @@ public static String prefixedToolName(String prefix, String toolName) {
}
/**
- * Converts a list of Spring AI tool callbacks to MCP synchronous tool specificaiton.
+ * Converts a list of Spring AI tool callbacks to MCP synchronous tool specification.
*
* This method processes multiple tool callbacks in bulk, converting each one to its
* corresponding MCP tool registration while maintaining synchronous execution
* semantics.
* @param toolCallbacks the list of tool callbacks to convert
- * @return a list of MCP synchronous tool specificaiton
+ * @return a list of MCP synchronous tool specification
*/
public static List toSyncToolSpecification(
List toolCallbacks) {
@@ -113,7 +113,7 @@ public static List toSyncToolSpecificat
* This is a varargs wrapper around {@link #toSyncToolSpecification(List)} for easier
* usage when working with individual callbacks.
* @param toolCallbacks the tool callbacks to convert
- * @return a list of MCP synchronous tool specificaiton
+ * @return a list of MCP synchronous tool specification
*/
public static List toSyncToolSpecifications(
ToolCallback... toolCallbacks) {
@@ -201,7 +201,7 @@ public static Optional getMcpExchange(ToolContext toolCon
}
/**
- * Converts a list of Spring AI tool callbacks to MCP asynchronous tool specificaiton.
+ * Converts a list of Spring AI tool callbacks to MCP asynchronous tool specification.
*
* This method processes multiple tool callbacks in bulk, converting each one to its
* corresponding MCP tool registration while adding asynchronous execution
@@ -217,7 +217,7 @@ public static List toAsyncToolSpecific
/**
* Convenience method to convert a variable number of tool callbacks to MCP
- * asynchronous tool specificaiton.
+ * asynchronous tool specification.
*
* This is a varargs wrapper around {@link #toAsyncToolSpecifications(List)} for
* easier usage when working with individual callbacks.
@@ -264,13 +264,13 @@ public static McpServerFeatures.AsyncToolSpecification toAsyncToolSpecification(
* This method enables Spring AI tools to be exposed as asynchronous MCP tools that
* can be discovered and invoked by language models. The conversion process:
*
- * - First converts the callback to a synchronous specificaiton
+ * - First converts the callback to a synchronous specification
* - Wraps the synchronous execution in a reactive Mono
* - Configures execution on a bounded elastic scheduler for non-blocking
* operation
*
*
- * The resulting async specificaiton will:
+ * The resulting async specification will:
*
* - Execute the tool without blocking the calling thread
* - Handle errors and results asynchronously
diff --git a/mcp/common/src/test/java/org/springframework/ai/mcp/ToolUtilsTests.java b/mcp/common/src/test/java/org/springframework/ai/mcp/ToolUtilsTests.java
index 631274a1f03..9069484cafb 100644
--- a/mcp/common/src/test/java/org/springframework/ai/mcp/ToolUtilsTests.java
+++ b/mcp/common/src/test/java/org/springframework/ai/mcp/ToolUtilsTests.java
@@ -97,7 +97,7 @@ void constructorShouldBePrivate() throws Exception {
}
@Test
- void toSyncToolSpecificaitonShouldConvertSingleCallback() {
+ void toSyncToolSpecificationShouldConvertSingleCallback() {
ToolCallback callback = createMockToolCallback("test", "success");
@@ -138,7 +138,7 @@ void toSyncToolSpecificationShouldConvertMultipleCallbacks() {
}
@Test
- void toAsyncToolSpecificaitonShouldConvertSingleCallback() {
+ void toAsyncToolSpecificationShouldConvertSingleCallback() {
ToolCallback callback = createMockToolCallback("test", "success");
AsyncToolSpecification toolSpecification = McpToolUtils.toAsyncToolSpecification(callback);
@@ -160,10 +160,10 @@ void toAsyncToolSpecificaitonShouldConvertSingleCallback() {
void toAsyncToolSpecificationShouldHandleError() {
ToolCallback callback = createMockToolCallback("test", new RuntimeException("error"));
- AsyncToolSpecification toolSpecificaiton = McpToolUtils.toAsyncToolSpecification(callback);
+ AsyncToolSpecification toolSpecification = McpToolUtils.toAsyncToolSpecification(callback);
- assertThat(toolSpecificaiton).isNotNull();
- StepVerifier.create(toolSpecificaiton.call().apply(mock(McpAsyncServerExchange.class), Map.of()))
+ assertThat(toolSpecification).isNotNull();
+ StepVerifier.create(toolSpecification.call().apply(mock(McpAsyncServerExchange.class), Map.of()))
.assertNext(result -> {
TextContent content = (TextContent) result.content().get(0);
assertThat(content.text()).isEqualTo("error");
diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/mcp/mcp-helpers.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/mcp/mcp-helpers.adoc
index bfa1f728b4b..43faf5d145d 100644
--- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/mcp/mcp-helpers.adoc
+++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/mcp/mcp-helpers.adoc
@@ -115,7 +115,7 @@ Async::
[source,java]
----
List toolCallbacks = // obtain tool callbacks
-List asyncToolSpecificaitons = McpToolUtils.toAsyncToolSpecifications(toolCallbacks);
+List asyncToolSpecifications = McpToolUtils.toAsyncToolSpecifications(toolCallbacks);
----
+
then you can use the `McpServer.AsyncSpecification` to register the tool specifications:
@@ -123,7 +123,7 @@ then you can use the `McpServer.AsyncSpecification` to register the tool specifi
[source,java]
----
McpServer.AsyncSpecification asyncSpec = ...
-asyncSpec.tools(asyncToolSpecificaitons);
+asyncSpec.tools(asyncToolSpecifications);
----
======