This is an automated email from the ASF dual-hosted git repository.

terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 6adf33227f7 Refactor MCP API package structure (#39178)
6adf33227f7 is described below

commit 6adf33227f732ff170deae51479c508286c660f8
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jul 18 19:02:03 2026 +0800

    Refactor MCP API package structure (#39178)
    
    - group prompt, resource, and tool descriptors by MCP capability
    - move MCPHandlerProvider to the MCP SPI package
    - update ServiceLoader registrations, consumers, documentation, and E2E 
fixtures
---
 docs/document/content/dev-manual/mcp.cn.md                   |  2 +-
 docs/document/content/dev-manual/mcp.en.md                   |  2 +-
 .../prompt/{descriptor => }/MCPPromptArgumentDescriptor.java |  2 +-
 .../mcp/api/prompt/{descriptor => }/MCPPromptDescriptor.java |  4 ++--
 .../resource/{descriptor => }/MCPResourceAnnotations.java    |  4 ++--
 .../api/resource/{descriptor => }/MCPResourceDescriptor.java |  4 ++--
 .../shardingsphere/mcp/api/resource/MCPResourceHandler.java  |  2 ++
 .../mcp/api/tool/{descriptor => }/MCPToolAnnotations.java    |  4 ++--
 .../mcp/api/tool/{descriptor => }/MCPToolDescriptor.java     |  4 ++--
 .../apache/shardingsphere/mcp/api/tool/MCPToolHandler.java   |  2 ++
 .../shardingsphere/mcp/{api => spi}/MCPHandlerProvider.java  |  9 ++++++++-
 .../{descriptor => }/MCPResourceAnnotationsTest.java         |  2 +-
 .../resource/{descriptor => }/MCPResourceDescriptorTest.java |  2 +-
 .../capability/prompt/MCPPromptSpecificationFactory.java     |  4 ++--
 .../capability/resource/MCPResourceSpecificationFactory.java |  4 ++--
 .../transport/capability/tool/MCPCallToolResultFactory.java  |  2 +-
 .../capability/tool/MCPToolClarificationPolicy.java          |  2 +-
 .../transport/capability/tool/MCPToolElicitationHandler.java |  2 +-
 .../capability/tool/MCPToolSpecificationFactory.java         |  4 ++--
 .../resource/MCPResourceSpecificationFactoryTest.java        |  4 ++--
 .../tool/AbstractMCPToolSpecificationFactoryTest.java        |  4 ++--
 .../capability/tool/MCPCallToolResultFactoryTest.java        |  2 +-
 .../capability/tool/MCPToolSpecificationFactoryTest.java     |  2 +-
 .../mcp/core/handler/core/CoreHandlerProvider.java           |  2 +-
 .../mcp/core/resource/handler/MCPResourceDefinition.java     |  2 +-
 .../core/resource/handler/ResourceDefinitionRegistry.java    |  4 ++--
 .../resource/handler/metadata/MetadataResourceHandler.java   |  2 +-
 .../handler/metadata/MetadataResourceResponseFactory.java    |  2 +-
 .../mcp/core/tool/handler/MCPToolDefinition.java             |  2 +-
 .../mcp/core/tool/handler/ToolDefinitionRegistry.java        |  4 ++--
 .../mcp/core/workflow/WorkflowRuntimeDefinitionRegistry.java |  2 +-
 ... => org.apache.shardingsphere.mcp.spi.MCPHandlerProvider} |  0
 .../resource/handler/CoreResourceHandlerSurfaceTest.java     |  2 +-
 .../resource/handler/ResourceDefinitionRegistryTest.java     |  4 ++--
 .../handler/metadata/MetadataResourceHandlerTest.java        |  2 +-
 .../metadata/MetadataResourceResponseFactoryTest.java        |  2 +-
 .../mcp/core/tool/handler/ToolDefinitionRegistryTest.java    |  6 +++---
 .../tool/handler/metadata/SearchMetadataToolHandlerTest.java |  2 +-
 .../handler/workflow/WorkflowExecutionToolHandlerTest.java   |  2 +-
 .../handler/workflow/WorkflowValidationToolHandlerTest.java  |  2 +-
 .../core/workflow/WorkflowRuntimeDefinitionRegistryTest.java |  2 +-
 .../mcp/feature/broadcast/BroadcastMCPHandlerProvider.java   |  2 +-
 ... => org.apache.shardingsphere.mcp.spi.MCPHandlerProvider} |  0
 .../feature/broadcast/BroadcastMCPHandlerProviderTest.java   |  2 +-
 .../mcp/feature/encrypt/EncryptMCPHandlerProvider.java       |  2 +-
 ... => org.apache.shardingsphere.mcp.spi.MCPHandlerProvider} |  0
 .../mcp/feature/encrypt/EncryptDescriptorContractTest.java   |  2 +-
 .../mcp/feature/encrypt/EncryptMCPHandlerProviderTest.java   |  2 +-
 .../mcp/feature/mask/MaskMCPHandlerProvider.java             |  2 +-
 ... => org.apache.shardingsphere.mcp.spi.MCPHandlerProvider} |  0
 .../mcp/feature/mask/MaskDescriptorContractTest.java         |  2 +-
 .../mcp/feature/mask/MaskFeatureDefinitionTest.java          |  2 +-
 .../ReadwriteSplittingMCPHandlerProvider.java                |  2 +-
 ... => org.apache.shardingsphere.mcp.spi.MCPHandlerProvider} |  0
 .../ReadwriteSplittingMCPHandlerProviderTest.java            |  2 +-
 .../mcp/feature/shadow/ShadowMCPHandlerProvider.java         |  2 +-
 ... => org.apache.shardingsphere.mcp.spi.MCPHandlerProvider} |  0
 .../mcp/feature/shadow/ShadowDescriptorContractTest.java     |  2 +-
 .../mcp/feature/sharding/ShardingMCPHandlerProvider.java     |  2 +-
 ... => org.apache.shardingsphere.mcp.spi.MCPHandlerProvider} |  0
 .../mcp/feature/sharding/ShardingDescriptorContractTest.java |  4 ++--
 .../mcp/feature/sharding/ShardingMCPHandlerProviderTest.java |  2 +-
 .../descriptor/MCPCompletionTargetDescriptorValidator.java   |  6 +++---
 .../mcp/support/descriptor/MCPDescriptorCatalogIndex.java    |  6 +++---
 .../support/descriptor/MCPDescriptorCatalogYamlSwapper.java  | 12 ++++++------
 .../mcp/support/descriptor/MCPPromptDescriptorValidator.java |  4 ++--
 .../mcp/support/descriptor/MCPProtocolDescriptorCatalog.java |  6 +++---
 .../support/descriptor/MCPResourceDescriptorValidator.java   |  2 +-
 .../descriptor/MCPResourceNavigationDescriptorValidator.java |  6 +++---
 .../descriptor/MCPResourceNavigationPayloadBuilder.java      |  2 +-
 .../descriptor/MCPToolDescriptorCatalogValidator.java        |  6 +++---
 .../support/descriptor/MCPToolDescriptorValidationUtils.java |  2 +-
 .../mcp/support/descriptor/MCPToolOutputSchemaValidator.java |  2 +-
 .../service/WorkflowGuidanceResourceHintProvider.java        |  4 ++--
 .../support/descriptor/MCPDescriptorCatalogIndexTest.java    |  6 +++---
 .../support/descriptor/MCPDescriptorCatalogLoaderTest.java   | 10 +++++-----
 .../descriptor/MCPDescriptorCatalogPayloadBuilderTest.java   |  6 +++---
 .../descriptor/MCPDescriptorCatalogValidatorTest.java        | 12 ++++++------
 .../descriptor/MCPDescriptorComponentValidatorsTest.java     | 12 ++++++------
 .../support/descriptor/MCPProtocolDescriptorCatalogTest.java | 10 +++++-----
 .../descriptor/MCPToolDescriptorValidationUtilsTest.java     |  4 ++--
 .../mcp/llm/conversation/LLMMCPConversationTurnPlanner.java  |  2 +-
 .../mcp/llm/conversation/LLMMCPToolDefinitionFactory.java    |  2 +-
 .../llm/conversation/LLMMCPToolDefinitionFactoryTest.java    |  2 +-
 .../test/e2e/mcp/support/OfficialMCPToolNames.java           |  2 +-
 .../PackagedDistributionPluginFixtureSupport.java            |  2 +-
 .../PackagedDistributionPluginFixtureSupportTest.java        |  4 ++--
 .../support/fixture/plugin/PluginFixtureHandlerProvider.java |  2 +-
 88 files changed, 147 insertions(+), 136 deletions(-)

diff --git a/docs/document/content/dev-manual/mcp.cn.md 
b/docs/document/content/dev-manual/mcp.cn.md
index 46d13d61408..4d2d9578cc3 100644
--- a/docs/document/content/dev-manual/mcp.cn.md
+++ b/docs/document/content/dev-manual/mcp.cn.md
@@ -34,7 +34,7 @@ MCP 子链路按 `api + support + features + core + bootstrap` 分层组织:
 5. 实现 `MCPHandlerProvider`。
 6. 通过 `getToolHandlers()` 和 `getResourceHandlers()` 返回 feature 自己暴露的 handlers。
 7. 如果 feature 拥有 workflow definitions,在同一个 provider 上实现 
`MCPWorkflowDefinitionProvider`。
-8. 在 `src/main/resources/META-INF/services/` 注册 
`org.apache.shardingsphere.mcp.api.MCPHandlerProvider`。
+8. 在 `src/main/resources/META-INF/services/` 注册 
`org.apache.shardingsphere.mcp.spi.MCPHandlerProvider`。
 9. 在 `META-INF/shardingsphere-mcp/mcp-descriptors` 下添加 descriptor。
 
 如果 feature 要作为官方默认能力随发行包提供,还需要:
diff --git a/docs/document/content/dev-manual/mcp.en.md 
b/docs/document/content/dev-manual/mcp.en.md
index 35c24ee0088..54d9420e1a1 100644
--- a/docs/document/content/dev-manual/mcp.en.md
+++ b/docs/document/content/dev-manual/mcp.en.md
@@ -34,7 +34,7 @@ Recommended path for a new feature:
 5. Implement `MCPHandlerProvider`.
 6. Return the feature's handlers from `getToolHandlers()` and 
`getResourceHandlers()`.
 7. If the feature owns workflow definitions, implement 
`MCPWorkflowDefinitionProvider` on the same provider.
-8. Register `org.apache.shardingsphere.mcp.api.MCPHandlerProvider` under 
`src/main/resources/META-INF/services/`.
+8. Register `org.apache.shardingsphere.mcp.spi.MCPHandlerProvider` under 
`src/main/resources/META-INF/services/`.
 9. Add descriptors under `META-INF/shardingsphere-mcp/mcp-descriptors`.
 
 If the feature should be shipped as an official default capability:
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/descriptor/MCPPromptArgumentDescriptor.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/MCPPromptArgumentDescriptor.java
similarity index 94%
rename from 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/descriptor/MCPPromptArgumentDescriptor.java
rename to 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/MCPPromptArgumentDescriptor.java
index 461f6b442aa..8102b550d64 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/descriptor/MCPPromptArgumentDescriptor.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/MCPPromptArgumentDescriptor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.prompt.descriptor;
+package org.apache.shardingsphere.mcp.api.prompt;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/descriptor/MCPPromptDescriptor.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/MCPPromptDescriptor.java
similarity index 93%
rename from 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/descriptor/MCPPromptDescriptor.java
rename to 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/MCPPromptDescriptor.java
index 8c3fbb68839..69214dbae3b 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/descriptor/MCPPromptDescriptor.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/prompt/MCPPromptDescriptor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.prompt.descriptor;
+package org.apache.shardingsphere.mcp.api.prompt;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -24,7 +24,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * MCP prompt descriptor.
+ * SDK-independent MCP prompt descriptor.
  */
 @RequiredArgsConstructor
 @Getter
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceAnnotations.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceAnnotations.java
similarity index 94%
rename from 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceAnnotations.java
rename to 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceAnnotations.java
index a2690bb22c4..c6342bd553a 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceAnnotations.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceAnnotations.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.resource.descriptor;
+package org.apache.shardingsphere.mcp.api.resource;
 
 import com.google.common.base.Strings;
 import lombok.Getter;
@@ -25,7 +25,7 @@ import java.util.Collections;
 import java.util.List;
 
 /**
- * MCP resource annotations.
+ * SDK-independent MCP resource annotations.
  */
 @RequiredArgsConstructor
 @Getter
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceDescriptor.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceDescriptor.java
similarity index 94%
rename from 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceDescriptor.java
rename to 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceDescriptor.java
index e1d1932ff14..5a1dec691b4 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceDescriptor.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceDescriptor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.resource.descriptor;
+package org.apache.shardingsphere.mcp.api.resource;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -23,7 +23,7 @@ import lombok.RequiredArgsConstructor;
 import java.util.Map;
 
 /**
- * MCP resource descriptor.
+ * SDK-independent MCP resource descriptor.
  *
  * <p>The URI template is the canonical resource identifier. A fixed resource 
URI is a URI template without variables.</p>
  */
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceHandler.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceHandler.java
index f17b03cc67e..1792798309f 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceHandler.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceHandler.java
@@ -24,6 +24,8 @@ import 
org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 /**
  * MCP resource handler.
  *
+ * <p>Implementations must support concurrent invocations and must not retain 
request context or URI variables after {@link #handle} returns.</p>
+ *
  * @param <T> required request context type
  */
 public interface MCPResourceHandler<T extends MCPRequestContext> {
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/descriptor/MCPToolAnnotations.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolAnnotations.java
similarity index 94%
rename from 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/descriptor/MCPToolAnnotations.java
rename to 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolAnnotations.java
index 9e974b75b5f..25b89ff1a08 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/descriptor/MCPToolAnnotations.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolAnnotations.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.tool.descriptor;
+package org.apache.shardingsphere.mcp.api.tool;
 
 import lombok.Builder;
 import lombok.Getter;
 
 /**
- * MCP tool annotations.
+ * SDK-independent MCP tool annotations.
  */
 @Getter
 public final class MCPToolAnnotations {
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/descriptor/MCPToolDescriptor.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolDescriptor.java
similarity index 93%
rename from 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/descriptor/MCPToolDescriptor.java
rename to 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolDescriptor.java
index 7608ca59f8a..49afbe9b850 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/descriptor/MCPToolDescriptor.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolDescriptor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.tool.descriptor;
+package org.apache.shardingsphere.mcp.api.tool;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -23,7 +23,7 @@ import lombok.RequiredArgsConstructor;
 import java.util.Map;
 
 /**
- * MCP tool descriptor.
+ * SDK-independent MCP tool descriptor.
  */
 @RequiredArgsConstructor
 @Getter
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolHandler.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolHandler.java
index fb40d0e6ea9..357e4d378bc 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolHandler.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/tool/MCPToolHandler.java
@@ -26,6 +26,8 @@ import java.util.Map;
 /**
  * MCP tool handler.
  *
+ * <p>Implementations must support concurrent invocations and must not retain 
request context or arguments after {@link #handle} returns.</p>
+ *
  * @param <T> required request context type
  */
 public interface MCPToolHandler<T extends MCPRequestContext> {
diff --git 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/MCPHandlerProvider.java
 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java
similarity index 74%
rename from 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/MCPHandlerProvider.java
rename to 
mcp/api/src/main/java/org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java
index 9cefa487cbc..1acaec556a0 100644
--- 
a/mcp/api/src/main/java/org/apache/shardingsphere/mcp/api/MCPHandlerProvider.java
+++ 
b/mcp/api/src/main/java/org/apache/shardingsphere/mcp/spi/MCPHandlerProvider.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api;
+package org.apache.shardingsphere.mcp.spi;
 
 import org.apache.shardingsphere.infra.spi.ShardingSphereSPI;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
@@ -26,6 +26,9 @@ import java.util.Collection;
 
 /**
  * MCP handler provider.
+ *
+ * <p>The provider is loaded as a singleton SPI. Handler instances returned by 
this provider are retained by the runtime and may be invoked concurrently.
+ * Implementations must not retain request-scoped state.</p>
  */
 @SingletonSPI
 public interface MCPHandlerProvider extends ShardingSphereSPI {
@@ -33,6 +36,8 @@ public interface MCPHandlerProvider extends ShardingSphereSPI 
{
     /**
      * Get resource handlers.
      *
+     * <p>The returned collection may be empty, but must not be {@code null} 
or contain {@code null} elements.</p>
+     *
      * @return resource handlers
      */
     Collection<MCPResourceHandler<?>> getResourceHandlers();
@@ -40,6 +45,8 @@ public interface MCPHandlerProvider extends ShardingSphereSPI 
{
     /**
      * Get tool handlers.
      *
+     * <p>The returned collection may be empty, but must not be {@code null} 
or contain {@code null} elements.</p>
+     *
      * @return tool handlers
      */
     Collection<MCPToolHandler<?>> getToolHandlers();
diff --git 
a/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceAnnotationsTest.java
 
b/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceAnnotationsTest.java
similarity index 96%
rename from 
mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceAnnotationsTest.java
rename to 
mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceAnnotationsTest.java
index 01886f1dec8..21d21c7936f 100644
--- 
a/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceAnnotationsTest.java
+++ 
b/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceAnnotationsTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.resource.descriptor;
+package org.apache.shardingsphere.mcp.api.resource;
 
 import org.junit.jupiter.api.Test;
 
diff --git 
a/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceDescriptorTest.java
 
b/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceDescriptorTest.java
similarity index 97%
rename from 
mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceDescriptorTest.java
rename to 
mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceDescriptorTest.java
index 10bdecedafa..01062e8ad36 100644
--- 
a/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/descriptor/MCPResourceDescriptorTest.java
+++ 
b/mcp/api/src/test/java/org/apache/shardingsphere/mcp/api/resource/MCPResourceDescriptorTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.mcp.api.resource.descriptor;
+package org.apache.shardingsphere.mcp.api.resource;
 
 import org.junit.jupiter.api.Test;
 
diff --git 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/prompt/MCPPromptSpecificationFactory.java
 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/prompt/MCPPromptSpecificationFactory.java
index 587b8a793d6..1f483b4e506 100644
--- 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/prompt/MCPPromptSpecificationFactory.java
+++ 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/prompt/MCPPromptSpecificationFactory.java
@@ -20,8 +20,8 @@ package 
org.apache.shardingsphere.mcp.bootstrap.transport.capability.prompt;
 import 
io.modelcontextprotocol.server.McpServerFeatures.SyncPromptSpecification;
 import io.modelcontextprotocol.spec.McpSchema;
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
-import 
org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptArgumentDescriptor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptArgumentDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
 import 
org.apache.shardingsphere.mcp.bootstrap.transport.MCPTransportErrorFactory;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPPromptTemplateBinding;
diff --git 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactory.java
 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactory.java
index cd3f33c73e8..8f818e3d90d 100644
--- 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactory.java
+++ 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactory.java
@@ -23,8 +23,8 @@ import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.ReadResourceResult;
 import io.modelcontextprotocol.spec.McpSchema.TextResourceContents;
 import org.apache.shardingsphere.infra.util.json.JsonUtils;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import 
org.apache.shardingsphere.mcp.bootstrap.transport.MCPTransportErrorFactory;
 import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
 import org.apache.shardingsphere.mcp.core.resource.MCPResourceController;
diff --git 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactory.java
 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactory.java
index 48c926fd8ee..6f559a70ec3 100644
--- 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactory.java
+++ 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactory.java
@@ -23,7 +23,7 @@ import 
io.modelcontextprotocol.json.schema.jackson2.DefaultJsonSchemaValidator;
 import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
 import org.apache.shardingsphere.infra.util.json.JsonUtils;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.core.protocol.error.MCPErrorPayload;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPShardingSphereMetadataKeys;
 
diff --git 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolClarificationPolicy.java
 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolClarificationPolicy.java
index 903b58c4745..fbb3b47f12d 100644
--- 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolClarificationPolicy.java
+++ 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolClarificationPolicy.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.bootstrap.transport.capability.tool;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
 import org.apache.shardingsphere.mcp.support.protocol.MCPPayloadFieldNames;
 import org.apache.shardingsphere.mcp.support.workflow.model.WorkflowFieldNames;
diff --git 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolElicitationHandler.java
 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolElicitationHandler.java
index c303fc2240e..9a1ab25a7cb 100644
--- 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolElicitationHandler.java
+++ 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolElicitationHandler.java
@@ -22,7 +22,7 @@ import io.modelcontextprotocol.spec.McpError;
 import io.modelcontextprotocol.spec.McpSchema;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.api.transport.MCPTransportType;
 import org.apache.shardingsphere.mcp.core.tool.MCPToolController;
 import org.apache.shardingsphere.mcp.core.tool.handler.MCPToolDefinition;
diff --git 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactory.java
 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactory.java
index 90ca175ffdb..0cbce94e736 100644
--- 
a/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactory.java
+++ 
b/mcp/bootstrap/src/main/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactory.java
@@ -23,8 +23,8 @@ import io.modelcontextprotocol.spec.McpSchema;
 import io.modelcontextprotocol.spec.McpSchema.ToolAnnotations;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.exception.ShardingSphereMCPException;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.bootstrap.transport.MCPTransportErrorFactory;
 import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
 import org.apache.shardingsphere.mcp.core.protocol.error.MCPErrorConverter;
diff --git 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactoryTest.java
 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactoryTest.java
index 25eaaf8ee70..6130ebb13a9 100644
--- 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactoryTest.java
+++ 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/resource/MCPResourceSpecificationFactoryTest.java
@@ -26,8 +26,8 @@ import 
io.modelcontextprotocol.spec.McpSchema.ReadResourceRequest;
 import io.modelcontextprotocol.spec.McpSchema.ReadResourceResult;
 import io.modelcontextprotocol.spec.McpSchema.TextResourceContents;
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.api.session.MCPSessionIdentity;
 import org.apache.shardingsphere.mcp.api.transport.MCPTransportType;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
diff --git 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/AbstractMCPToolSpecificationFactoryTest.java
 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/AbstractMCPToolSpecificationFactoryTest.java
index 3043704135e..dd618b529d1 100644
--- 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/AbstractMCPToolSpecificationFactoryTest.java
+++ 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/AbstractMCPToolSpecificationFactoryTest.java
@@ -29,8 +29,8 @@ import org.apache.shardingsphere.infra.util.json.JsonUtils;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.transport.MCPTransportType;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
 import org.apache.shardingsphere.mcp.core.session.MCPSessionManager;
diff --git 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactoryTest.java
 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactoryTest.java
index e14e6be24cb..fc630a41bfe 100644
--- 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactoryTest.java
+++ 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPCallToolResultFactoryTest.java
@@ -27,7 +27,7 @@ import io.modelcontextprotocol.spec.McpSchema.TextContent;
 import org.apache.shardingsphere.infra.util.json.JsonUtils;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.transport.MCPTransportType;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.core.protocol.error.MCPErrorConverter;
 import org.apache.shardingsphere.mcp.core.protocol.error.MCPErrorPayload;
 import 
org.apache.shardingsphere.mcp.core.tool.handler.metadata.ValidateRuntimeDatabaseToolHandler;
diff --git 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactoryTest.java
 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactoryTest.java
index b35fa599417..59b846c8d81 100644
--- 
a/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactoryTest.java
+++ 
b/mcp/bootstrap/src/test/java/org/apache/shardingsphere/mcp/bootstrap/transport/capability/tool/MCPToolSpecificationFactoryTest.java
@@ -24,7 +24,7 @@ import io.modelcontextprotocol.spec.McpSchema.ErrorCodes;
 import io.modelcontextprotocol.spec.McpSchema.CallToolResult;
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
 import org.apache.shardingsphere.mcp.api.transport.MCPTransportType;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
 import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import 
org.apache.shardingsphere.mcp.core.protocol.exception.UnsupportedToolException;
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/handler/core/CoreHandlerProvider.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/handler/core/CoreHandlerProvider.java
index be24a1f118f..cd425d4dbbb 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/handler/core/CoreHandlerProvider.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/handler/core/CoreHandlerProvider.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mcp.core.handler.core;
 
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 
 import java.util.Collection;
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/MCPResourceDefinition.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/MCPResourceDefinition.java
index 5aac2732d0e..12281700563 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/MCPResourceDefinition.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/MCPResourceDefinition.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.mcp.core.resource.handler;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.core.resource.uri.MCPUriPattern;
 
 /**
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistry.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistry.java
index 5d3a9aae85a..53c5c60b145 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistry.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistry.java
@@ -22,11 +22,11 @@ import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.mcp.api.MCPRequestContext;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.resource.MCPUriVariables;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import org.apache.shardingsphere.mcp.core.handler.MCPRequestContextTypes;
 import org.apache.shardingsphere.mcp.core.resource.uri.MCPUriPattern;
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandler.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandler.java
index 94bc905b3b9..39cb89f7315 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandler.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandler.java
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.resource.MCPUriVariables;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.support.MCPFeatureRequestContext;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
 import 
org.apache.shardingsphere.mcp.support.descriptor.ShardingSphereMCPResourceMetadata;
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactory.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactory.java
index 6f1fdbe9f07..4b7b8e177f0 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactory.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactory.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mcp.core.resource.handler.metadata;
 
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.resource.MCPUriVariables;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.support.MCPFeatureRequestContext;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
 import 
org.apache.shardingsphere.mcp.support.descriptor.ShardingSphereMCPResourceMetadata;
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/MCPToolDefinition.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/MCPToolDefinition.java
index c435ac3ba95..fe15114fbdb 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/MCPToolDefinition.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/MCPToolDefinition.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.mcp.core.tool.handler;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 
 /**
  * MCP tool definition.
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistry.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistry.java
index 49fe54f324a..a557ae909f7 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistry.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistry.java
@@ -22,10 +22,10 @@ import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.mcp.api.MCPRequestContext;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import org.apache.shardingsphere.mcp.core.handler.MCPRequestContextTypes;
 import 
org.apache.shardingsphere.mcp.core.protocol.exception.UnsupportedToolException;
diff --git 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistry.java
 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistry.java
index d592dbd8dc2..3b4a360a308 100644
--- 
a/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistry.java
+++ 
b/mcp/core/src/main/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistry.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mcp.core.workflow;
 
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
 import 
org.apache.shardingsphere.mcp.core.protocol.exception.MCPWorkflowStateException;
 import 
org.apache.shardingsphere.mcp.support.workflow.model.WorkflowContextSnapshot;
diff --git 
a/mcp/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
 
b/mcp/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
similarity index 100%
rename from 
mcp/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
rename to 
mcp/core/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
index 50b4483928f..e70632cf2d7 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/CoreResourceHandlerSurfaceTest.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.mcp.api.exception.MCPUnsupportedException;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.resource.MCPUriVariables;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
 import org.apache.shardingsphere.mcp.core.resource.ResourceTestDataFactory;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistryTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistryTest.java
index 16e4ca4bee2..1f7fd216218 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistryTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/ResourceDefinitionRegistryTest.java
@@ -19,10 +19,10 @@ package org.apache.shardingsphere.mcp.core.resource.handler;
 
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 import org.apache.shardingsphere.mcp.api.MCPRequestContext;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandlerTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandlerTest.java
index 3f7b29de61f..4f0de35cc22 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandlerTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceHandlerTest.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.mcp.core.resource.handler.metadata;
 import 
org.apache.shardingsphere.database.connector.core.metadata.identifier.IdentifierCasePolicyFactory;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.resource.MCPUriVariables;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.support.MCPFeatureRequestContext;
 import 
org.apache.shardingsphere.mcp.support.database.metadata.jdbc.RuntimeDatabaseProfile;
 import 
org.apache.shardingsphere.mcp.support.database.metadata.TransactionCapability;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactoryTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactoryTest.java
index 7ad11f55155..108f5972b06 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactoryTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/resource/handler/metadata/MetadataResourceResponseFactoryTest.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mcp.core.resource.handler.metadata;
 
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
 import org.apache.shardingsphere.mcp.api.resource.MCPUriVariables;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.support.MCPFeatureRequestContext;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
 import 
org.apache.shardingsphere.mcp.support.descriptor.ShardingSphereMCPResourceMetadata;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistryTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistryTest.java
index 158a13edf06..be7dbb4400f 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistryTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/ToolDefinitionRegistryTest.java
@@ -20,11 +20,11 @@ package org.apache.shardingsphere.mcp.core.tool.handler;
 import org.apache.shardingsphere.mcp.api.session.MCPSessionIdentity;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
 import 
org.apache.shardingsphere.mcp.core.protocol.exception.MCPExecutionModeRequiredException;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/metadata/SearchMetadataToolHandlerTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/metadata/SearchMetadataToolHandlerTest.java
index eb7b71eae3f..dc1fd977878 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/metadata/SearchMetadataToolHandlerTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/metadata/SearchMetadataToolHandlerTest.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.mcp.core.tool.handler.metadata;
 import org.apache.shardingsphere.mcp.api.session.MCPSessionIdentity;
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.core.context.MCPFeatureRuntimeRequestContext;
 import org.apache.shardingsphere.mcp.core.context.MCPRuntimeContext;
 import org.apache.shardingsphere.mcp.core.resource.ResourceTestDataFactory;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowExecutionToolHandlerTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowExecutionToolHandlerTest.java
index d7d07487a9f..0ac7e9f4276 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowExecutionToolHandlerTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowExecutionToolHandlerTest.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.mcp.core.tool.handler.workflow;
 
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.core.workflow.WorkflowExecutionService;
 import 
org.apache.shardingsphere.mcp.core.workflow.WorkflowRuntimeDefinitionRegistry;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowValidationToolHandlerTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowValidationToolHandlerTest.java
index 216169b5b93..226054c3841 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowValidationToolHandlerTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/tool/handler/workflow/WorkflowValidationToolHandlerTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mcp.core.tool.handler.workflow;
 
 import org.apache.shardingsphere.mcp.api.payload.MCPSuccessPayload;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.core.workflow.WorkflowRuntimeDefinitionRegistry;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
 import 
org.apache.shardingsphere.mcp.support.workflow.model.WorkflowContextSnapshot;
diff --git 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistryTest.java
 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistryTest.java
index 9b2e89fee41..53f0d3a562e 100644
--- 
a/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistryTest.java
+++ 
b/mcp/core/src/test/java/org/apache/shardingsphere/mcp/core/workflow/WorkflowRuntimeDefinitionRegistryTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mcp.core.workflow;
 
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.exception.MCPInvalidRequestException;
 import 
org.apache.shardingsphere.mcp.core.protocol.exception.MCPWorkflowStateException;
 import 
org.apache.shardingsphere.mcp.support.workflow.model.WorkflowContextSnapshot;
diff --git 
a/mcp/features/broadcast/src/main/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProvider.java
 
b/mcp/features/broadcast/src/main/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProvider.java
index 8b91437feb3..07eaef229d1 100644
--- 
a/mcp/features/broadcast/src/main/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProvider.java
+++ 
b/mcp/features/broadcast/src/main/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProvider.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.broadcast;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.broadcast.resource.handler.BroadcastRuleCountHandler;
diff --git 
a/mcp/features/broadcast/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
 
b/mcp/features/broadcast/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
similarity index 100%
rename from 
mcp/features/broadcast/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
rename to 
mcp/features/broadcast/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
diff --git 
a/mcp/features/broadcast/src/test/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProviderTest.java
 
b/mcp/features/broadcast/src/test/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProviderTest.java
index 615d4b343c6..74f700792ef 100644
--- 
a/mcp/features/broadcast/src/test/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProviderTest.java
+++ 
b/mcp/features/broadcast/src/test/java/org/apache/shardingsphere/mcp/feature/broadcast/BroadcastMCPHandlerProviderTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.broadcast;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.broadcast.tool.service.BroadcastWorkflowValidationService;
diff --git 
a/mcp/features/encrypt/src/main/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProvider.java
 
b/mcp/features/encrypt/src/main/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProvider.java
index 28fa85f5bf9..d31c75e7769 100644
--- 
a/mcp/features/encrypt/src/main/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProvider.java
+++ 
b/mcp/features/encrypt/src/main/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProvider.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mcp.feature.encrypt;
 
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.encrypt.resource.handler.EncryptAlgorithmsHandler;
 import 
org.apache.shardingsphere.mcp.feature.encrypt.resource.handler.EncryptRuleHandler;
diff --git 
a/mcp/features/encrypt/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
 
b/mcp/features/encrypt/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
similarity index 100%
rename from 
mcp/features/encrypt/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
rename to 
mcp/features/encrypt/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
diff --git 
a/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptDescriptorContractTest.java
 
b/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptDescriptorContractTest.java
index 496f520249e..d4ac640c79f 100644
--- 
a/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptDescriptorContractTest.java
+++ 
b/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptDescriptorContractTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.encrypt;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPCompletionTargetDescriptor;
 import org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalog;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogLoader;
diff --git 
a/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProviderTest.java
 
b/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProviderTest.java
index e2c604fc5b1..5212abfa4b4 100644
--- 
a/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProviderTest.java
+++ 
b/mcp/features/encrypt/src/test/java/org/apache/shardingsphere/mcp/feature/encrypt/EncryptMCPHandlerProviderTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.encrypt;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import org.apache.shardingsphere.mcp.support.MCPFeatureRequestContext;
diff --git 
a/mcp/features/mask/src/main/java/org/apache/shardingsphere/mcp/feature/mask/MaskMCPHandlerProvider.java
 
b/mcp/features/mask/src/main/java/org/apache/shardingsphere/mcp/feature/mask/MaskMCPHandlerProvider.java
index b757b1eb12d..67bba5c619d 100644
--- 
a/mcp/features/mask/src/main/java/org/apache/shardingsphere/mcp/feature/mask/MaskMCPHandlerProvider.java
+++ 
b/mcp/features/mask/src/main/java/org/apache/shardingsphere/mcp/feature/mask/MaskMCPHandlerProvider.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.mcp.feature.mask;
 
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.mask.resource.handler.MaskAlgorithmsHandler;
 import 
org.apache.shardingsphere.mcp.feature.mask.resource.handler.MaskRuleHandler;
diff --git 
a/mcp/features/mask/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
 
b/mcp/features/mask/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
similarity index 100%
rename from 
mcp/features/mask/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
rename to 
mcp/features/mask/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
diff --git 
a/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskDescriptorContractTest.java
 
b/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskDescriptorContractTest.java
index 63ac93cdf90..e948f0c2c3f 100644
--- 
a/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskDescriptorContractTest.java
+++ 
b/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskDescriptorContractTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.mask;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalog;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogLoader;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPToolDescriptorValidationUtils;
diff --git 
a/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskFeatureDefinitionTest.java
 
b/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskFeatureDefinitionTest.java
index 16b135f611c..f1e340a5da8 100644
--- 
a/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskFeatureDefinitionTest.java
+++ 
b/mcp/features/mask/src/test/java/org/apache/shardingsphere/mcp/feature/mask/MaskFeatureDefinitionTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.mask;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPCompletionTargetDescriptor;
 import org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalog;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogLoader;
diff --git 
a/mcp/features/readwrite-splitting/src/main/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProvider.java
 
b/mcp/features/readwrite-splitting/src/main/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProvider.java
index 785f4c39908..e4e6a3bd1ea 100644
--- 
a/mcp/features/readwrite-splitting/src/main/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProvider.java
+++ 
b/mcp/features/readwrite-splitting/src/main/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProvider.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.readwritesplitting;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.readwritesplitting.resource.handler.LoadBalanceAlgorithmPluginsHandler;
diff --git 
a/mcp/features/readwrite-splitting/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
 
b/mcp/features/readwrite-splitting/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
similarity index 100%
rename from 
mcp/features/readwrite-splitting/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
rename to 
mcp/features/readwrite-splitting/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
diff --git 
a/mcp/features/readwrite-splitting/src/test/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProviderTest.java
 
b/mcp/features/readwrite-splitting/src/test/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProviderTest.java
index 0705fcc54a5..1e39227ed04 100644
--- 
a/mcp/features/readwrite-splitting/src/test/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProviderTest.java
+++ 
b/mcp/features/readwrite-splitting/src/test/java/org/apache/shardingsphere/mcp/feature/readwritesplitting/ReadwriteSplittingMCPHandlerProviderTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.readwritesplitting;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.readwritesplitting.tool.service.ReadwriteSplittingRuleWorkflowValidationService;
diff --git 
a/mcp/features/shadow/src/main/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowMCPHandlerProvider.java
 
b/mcp/features/shadow/src/main/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowMCPHandlerProvider.java
index 63b31ad23f4..982ef331218 100644
--- 
a/mcp/features/shadow/src/main/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowMCPHandlerProvider.java
+++ 
b/mcp/features/shadow/src/main/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowMCPHandlerProvider.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.shadow;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.shadow.resource.handler.ShadowResourceHandler;
diff --git 
a/mcp/features/shadow/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
 
b/mcp/features/shadow/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
similarity index 100%
rename from 
mcp/features/shadow/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
rename to 
mcp/features/shadow/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
diff --git 
a/mcp/features/shadow/src/test/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowDescriptorContractTest.java
 
b/mcp/features/shadow/src/test/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowDescriptorContractTest.java
index 4c03903c765..97e471aa9f2 100644
--- 
a/mcp/features/shadow/src/test/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowDescriptorContractTest.java
+++ 
b/mcp/features/shadow/src/test/java/org/apache/shardingsphere/mcp/feature/shadow/ShadowDescriptorContractTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.shadow;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPCompletionTargetDescriptor;
 import org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalog;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogLoader;
diff --git 
a/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProvider.java
 
b/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProvider.java
index 7c90bd340a8..60efd491cf6 100644
--- 
a/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProvider.java
+++ 
b/mcp/features/sharding/src/main/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProvider.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.sharding;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.sharding.resource.handler.ShardingAlgorithmResourceHandler;
diff --git 
a/mcp/features/sharding/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
 
b/mcp/features/sharding/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
similarity index 100%
rename from 
mcp/features/sharding/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider
rename to 
mcp/features/sharding/src/main/resources/META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider
diff --git 
a/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingDescriptorContractTest.java
 
b/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingDescriptorContractTest.java
index 74c576d5cca..f289d73023e 100644
--- 
a/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingDescriptorContractTest.java
+++ 
b/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingDescriptorContractTest.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.mcp.feature.sharding;
 
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPCompletionTargetDescriptor;
 import org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalog;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogLoader;
diff --git 
a/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProviderTest.java
 
b/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProviderTest.java
index be0ca356066..cf06163efec 100644
--- 
a/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProviderTest.java
+++ 
b/mcp/features/sharding/src/test/java/org/apache/shardingsphere/mcp/feature/sharding/ShardingMCPHandlerProviderTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.mcp.feature.sharding;
 
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 import 
org.apache.shardingsphere.mcp.feature.sharding.resource.handler.ShardingAlgorithmResourceHandler;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPCompletionTargetDescriptorValidator.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPCompletionTargetDescriptorValidator.java
index fa2be3153a4..dcdff6f831a 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPCompletionTargetDescriptorValidator.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPCompletionTargetDescriptorValidator.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptArgumentDescriptor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptArgumentDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.support.resource.MCPUriTemplate;
 
 import java.util.Collection;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndex.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndex.java
index 440b1786dc0..296b6b724c1 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndex.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndex.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 
 import java.util.Collection;
 import java.util.LinkedHashMap;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogYamlSwapper.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogYamlSwapper.java
index 863db69c4d8..6224062dc3b 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogYamlSwapper.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogYamlSwapper.java
@@ -19,12 +19,12 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptArgumentDescriptor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptArgumentDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.yaml.YamlMCPResourceAnnotations;
 import 
org.apache.shardingsphere.mcp.support.descriptor.yaml.YamlMCPCompletionTargetDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.yaml.YamlMCPDescriptorCatalog;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPPromptDescriptorValidator.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPPromptDescriptorValidator.java
index 0c2ea5e4aed..a078b436c3a 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPPromptDescriptorValidator.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPPromptDescriptorValidator.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptArgumentDescriptor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptArgumentDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
 
 import java.util.Collection;
 import java.util.LinkedHashMap;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalog.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalog.java
index 8b956d69f43..fdab19e318c 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalog.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalog.java
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 
 import java.util.Collection;
 import java.util.LinkedList;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceDescriptorValidator.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceDescriptorValidator.java
index f44491c398c..664402729b2 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceDescriptorValidator.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceDescriptorValidator.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.support.resource.MCPUriTemplate;
 
 import java.util.Collection;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationDescriptorValidator.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationDescriptorValidator.java
index 9d892f2b251..a86fdc2c3ce 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationDescriptorValidator.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationDescriptorValidator.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 
 import java.util.Collection;
 import java.util.HashSet;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationPayloadBuilder.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationPayloadBuilder.java
index 46183ad620d..76abaa236b0 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationPayloadBuilder.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPResourceNavigationPayloadBuilder.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.mcp.api.resource.MCPUriVariables;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
 import org.apache.shardingsphere.mcp.support.protocol.MCPPayloadFieldNames;
 import org.apache.shardingsphere.mcp.support.protocol.MCPResourceHintUtils;
 import org.apache.shardingsphere.mcp.support.resource.MCPUriTemplate;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorCatalogValidator.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorCatalogValidator.java
index cf8c55d49ef..40c4a2597df 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorCatalogValidator.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorCatalogValidator.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.support.protocol.MCPPayloadFieldNames;
 import 
org.apache.shardingsphere.mcp.support.workflow.descriptor.WorkflowToolDescriptors;
 import org.apache.shardingsphere.mcp.support.workflow.model.WorkflowFieldNames;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtils.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtils.java
index 1805c7443f1..5ed2560cd5b 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtils.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtils.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.protocol.MCPModelFacingPayloadContract;
 import org.apache.shardingsphere.mcp.support.protocol.MCPPayloadFieldNames;
 import org.apache.shardingsphere.mcp.support.workflow.model.WorkflowFieldNames;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolOutputSchemaValidator.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolOutputSchemaValidator.java
index 04e7e955818..69464a9892a 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolOutputSchemaValidator.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolOutputSchemaValidator.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.mcp.support.descriptor;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.protocol.MCPModelFacingPayloadContract;
 import org.apache.shardingsphere.mcp.support.protocol.MCPPayloadFieldNames;
 import org.apache.shardingsphere.mcp.support.protocol.MCPResponseMode;
diff --git 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/workflow/service/WorkflowGuidanceResourceHintProvider.java
 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/workflow/service/WorkflowGuidanceResourceHintProvider.java
index ca24b60632d..ddec6083490 100644
--- 
a/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/workflow/service/WorkflowGuidanceResourceHintProvider.java
+++ 
b/mcp/support/src/main/java/org/apache/shardingsphere/mcp/support/workflow/service/WorkflowGuidanceResourceHintProvider.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.mcp.support.workflow.service;
 
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogIndex;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPShardingSphereMetadataKeys;
 import 
org.apache.shardingsphere.mcp.support.descriptor.ShardingSphereMCPResourceMetadata;
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndexTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndexTest.java
index e7a70622801..fb5059030ca 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndexTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogIndexTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.mcp.support.descriptor;
 
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.junit.jupiter.api.Test;
 
 import java.util.Collection;
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogLoaderTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogLoaderTest.java
index 7154b810ea1..37da1ffbc3c 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogLoaderTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogLoaderTest.java
@@ -17,11 +17,11 @@
 
 package org.apache.shardingsphere.mcp.support.descriptor;
 
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptArgumentDescriptor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptArgumentDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.junit.jupiter.api.Test;
 
 import java.util.Collections;
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogPayloadBuilderTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogPayloadBuilderTest.java
index ae13c914ffd..8110cc271d5 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogPayloadBuilderTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogPayloadBuilderTest.java
@@ -17,9 +17,9 @@
 
 package org.apache.shardingsphere.mcp.support.descriptor;
 
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.junit.jupiter.api.Test;
 
 import java.util.List;
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogValidatorTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogValidatorTest.java
index 9d824043b72..5cdadbb693a 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogValidatorTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorCatalogValidatorTest.java
@@ -17,12 +17,12 @@
 
 package org.apache.shardingsphere.mcp.support.descriptor;
 
-import 
org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptArgumentDescriptor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptArgumentDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.support.protocol.MCPPayloadFieldNames;
 import 
org.apache.shardingsphere.mcp.support.workflow.descriptor.WorkflowToolDescriptors;
 import org.apache.shardingsphere.mcp.support.workflow.model.WorkflowFieldNames;
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorComponentValidatorsTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorComponentValidatorsTest.java
index 6c6c506112e..be6e7f82aa4 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorComponentValidatorsTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPDescriptorComponentValidatorsTest.java
@@ -17,12 +17,12 @@
 
 package org.apache.shardingsphere.mcp.support.descriptor;
 
-import 
org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptArgumentDescriptor;
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptArgumentDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.junit.jupiter.api.Test;
 
 import java.util.LinkedHashMap;
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalogTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalogTest.java
index 16d57f114d8..db790bb9a06 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalogTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPProtocolDescriptorCatalogTest.java
@@ -17,11 +17,11 @@
 
 package org.apache.shardingsphere.mcp.support.descriptor;
 
-import org.apache.shardingsphere.mcp.api.prompt.descriptor.MCPPromptDescriptor;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceAnnotations;
-import 
org.apache.shardingsphere.mcp.api.resource.descriptor.MCPResourceDescriptor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.prompt.MCPPromptDescriptor;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceAnnotations;
+import org.apache.shardingsphere.mcp.api.resource.MCPResourceDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.junit.jupiter.api.Test;
 
 import java.util.Collection;
diff --git 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtilsTest.java
 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtilsTest.java
index 86d70aa0027..614477f2ce5 100644
--- 
a/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtilsTest.java
+++ 
b/mcp/support/src/test/java/org/apache/shardingsphere/mcp/support/descriptor/MCPToolDescriptorValidationUtilsTest.java
@@ -17,8 +17,8 @@
 
 package org.apache.shardingsphere.mcp.support.descriptor;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolAnnotations;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolAnnotations;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.support.protocol.MCPPayloadFieldNames;
 import org.apache.shardingsphere.mcp.support.workflow.model.WorkflowFieldNames;
 import org.junit.jupiter.api.Test;
diff --git 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPConversationTurnPlanner.java
 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPConversationTurnPlanner.java
index 75a471643ef..214951e9d2e 100644
--- 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPConversationTurnPlanner.java
+++ 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPConversationTurnPlanner.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.test.e2e.mcp.llm.conversation;
 
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.core.tool.handler.ToolDefinitionRegistry;
 import org.apache.shardingsphere.test.e2e.mcp.llm.scenario.LLME2EScenario;
 import 
org.apache.shardingsphere.test.e2e.mcp.support.transport.MCPInteractionActionNames;
diff --git 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactory.java
 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactory.java
index bb589037605..8d7a7e38b9c 100644
--- 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactory.java
+++ 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactory.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.test.e2e.mcp.llm.conversation;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.core.tool.handler.ToolDefinitionRegistry;
 import 
org.apache.shardingsphere.test.e2e.mcp.support.transport.MCPInteractionActionNames;
 
diff --git 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactoryTest.java
 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactoryTest.java
index d75c9e628ce..914e37d84fc 100644
--- 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactoryTest.java
+++ 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/llm/conversation/LLMMCPToolDefinitionFactoryTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.test.e2e.mcp.llm.conversation;
 
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.core.tool.handler.ToolDefinitionRegistry;
 import 
org.apache.shardingsphere.test.e2e.mcp.support.transport.MCPInteractionActionNames;
 import org.junit.jupiter.api.Test;
diff --git 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/OfficialMCPToolNames.java
 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/OfficialMCPToolNames.java
index b17d38059c5..e17bfebe154 100644
--- 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/OfficialMCPToolNames.java
+++ 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/OfficialMCPToolNames.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.e2e.mcp.support;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import org.apache.shardingsphere.mcp.core.tool.handler.ToolDefinitionRegistry;
 
 import java.util.List;
diff --git 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupport.java
 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupport.java
index d7edfb95891..a11c6c15264 100644
--- 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupport.java
+++ 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupport.java
@@ -39,7 +39,7 @@ import java.util.stream.Stream;
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class PackagedDistributionPluginFixtureSupport {
     
-    private static final String HANDLER_PROVIDER_SERVICE_ENTRY = 
"META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider";
+    private static final String HANDLER_PROVIDER_SERVICE_ENTRY = 
"META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider";
     
     private static final String DESCRIPTOR_ENTRY = 
"META-INF/shardingsphere-mcp/mcp-descriptors/mcp-descriptor-test-fixture.yaml";
     
diff --git 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupportTest.java
 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupportTest.java
index 43cd7633014..9c14daa6874 100644
--- 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupportTest.java
+++ 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/distribution/PackagedDistributionPluginFixtureSupportTest.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.test.e2e.mcp.support.distribution;
 
 import 
org.apache.shardingsphere.infra.util.directory.ClasspathResourceDirectoryReader;
-import org.apache.shardingsphere.mcp.api.tool.descriptor.MCPToolDescriptor;
+import org.apache.shardingsphere.mcp.api.tool.MCPToolDescriptor;
 import 
org.apache.shardingsphere.mcp.support.descriptor.MCPDescriptorCatalogLoader;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.io.TempDir;
@@ -61,7 +61,7 @@ class PackagedDistributionPluginFixtureSupportTest {
             JarEntry actualDescriptorDirectory = 
jarFile.getJarEntry(DESCRIPTOR_DIRECTORY + "/");
             assertNotNull(actualDescriptorDirectory);
             assertTrue(actualDescriptorDirectory.isDirectory());
-            
assertNotNull(jarFile.getJarEntry("META-INF/services/org.apache.shardingsphere.mcp.api.MCPHandlerProvider"));
+            
assertNotNull(jarFile.getJarEntry("META-INF/services/org.apache.shardingsphere.mcp.spi.MCPHandlerProvider"));
             
assertNotNull(jarFile.getJarEntry("org/apache/shardingsphere/test/e2e/mcp/support/fixture/plugin/PluginFixtureHandlerProvider.class"));
             assertThat(descriptorResources.toList(), 
hasItem(DESCRIPTOR_ENTRY));
             try {
diff --git 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/fixture/plugin/PluginFixtureHandlerProvider.java
 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/fixture/plugin/PluginFixtureHandlerProvider.java
index 158d0fef077..42b24978c5c 100644
--- 
a/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/fixture/plugin/PluginFixtureHandlerProvider.java
+++ 
b/test/e2e/mcp/src/test/java/org/apache/shardingsphere/test/e2e/mcp/support/fixture/plugin/PluginFixtureHandlerProvider.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.test.e2e.mcp.support.fixture.plugin;
 
 import org.apache.shardingsphere.mcp.api.resource.MCPResourceHandler;
-import org.apache.shardingsphere.mcp.api.MCPHandlerProvider;
+import org.apache.shardingsphere.mcp.spi.MCPHandlerProvider;
 import org.apache.shardingsphere.mcp.api.tool.MCPToolHandler;
 
 import java.util.Collection;

Reply via email to