ShardingSphere-MCP 的 public surface 由 META-INF/shardingsphere-mcp/mcp-descriptors 下的 descriptors 定义。
MCP runtime 使用这些 descriptors 发布 tools、resources、resource templates、prompts 和 completions。
ShardingSphere-MCP 面向 MCP protocol revision 2025-11-25。
已启用:
resources/listresources/templates/listresources/readtools/listtools/callprompts/listprompts/getcompletion/complete未实现或后续范围:
notifications/message 输出。progress。notifications/cancelled。icons 和 Tool.execution 字段,等待 MCP Java SDK 边界支持。roots 和 sampling 是 client capabilities。
ShardingSphere-MCP 不要求 roots,也不会发送 sampling/createMessage 请求。
database_gateway_search_metadata
database、schema、query、object_types 收窄范围。object_types 支持 database、schema、table、view、column、index、sequence。database_gateway_validate_runtime_database
database。status、有序 checks、整体 category 和结构化 recovery 对象。missing_jdbc_driver、authentication_failed、authorization_failed、connection_timeout、invalid_configuration、database_unavailable、connection_failed 和 database_not_visible。database_gateway_execute_query
SELECT 或 EXPLAIN ANALYZE。max_rows 范围是 0..5000,省略或 0 使用服务端默认值 100。timeout_ms 范围是 0..300000,0 表示不设置显式 timeout。database_gateway_execute_update
execution_mode=preview 只做分类和副作用范围预览。execution_mode=execute 在 review 后执行 SQL。database_gateway_apply_workflow
execution_mode 支持 preview、review-then-execute、manual-only。approved_steps 只能使用 preview 返回的 approval step。database_gateway_validate_workflow
Feature plugin planning tools:
database_gateway_plan_encrypt_ruledatabase_gateway_plan_mask_ruledatabase_gateway_plan_broadcast_ruledatabase_gateway_plan_readwrite_splitting_ruledatabase_gateway_plan_readwrite_splitting_statusdatabase_gateway_plan_shadow_ruledatabase_gateway_plan_default_shadow_algorithmdatabase_gateway_plan_shadow_algorithm_cleanupdatabase_gateway_plan_sharding_table_ruledatabase_gateway_plan_sharding_table_reference_ruledatabase_gateway_plan_sharding_default_strategydatabase_gateway_plan_sharding_key_generatordatabase_gateway_plan_sharding_key_generate_strategydatabase_gateway_plan_sharding_rule_component_cleanupRuntime 与能力:
shardingsphere://capabilitiesshardingsphere://runtimeshardingsphere://databasesshardingsphere://databases/{database}shardingsphere://databases/{database}/capabilitiesMetadata:
shardingsphere://databases/{database}/schemasshardingsphere://databases/{database}/schemas/{schema}shardingsphere://databases/{database}/schemas/{schema}/tablesshardingsphere://databases/{database}/schemas/{schema}/tables/{table}shardingsphere://databases/{database}/schemas/{schema}/tables/{table}/columnsshardingsphere://databases/{database}/schemas/{schema}/tables/{table}/columns/{column}shardingsphere://databases/{database}/schemas/{schema}/tables/{table}/indexesshardingsphere://databases/{database}/schemas/{schema}/tables/{table}/indexes/{index}shardingsphere://databases/{database}/schemas/{schema}/viewsshardingsphere://databases/{database}/schemas/{schema}/views/{view}shardingsphere://databases/{database}/schemas/{schema}/views/{view}/columnsshardingsphere://databases/{database}/schemas/{schema}/views/{view}/columns/{column}shardingsphere://databases/{database}/schemas/{schema}/sequencesshardingsphere://databases/{database}/schemas/{schema}/sequences/{sequence}Workflow:
shardingsphere://workflows/{plan_id}Feature resources:
shardingsphere://features/encrypt/algorithmsshardingsphere://features/encrypt/databases/{database}/rulesshardingsphere://features/encrypt/databases/{database}/tables/{table}/rulesshardingsphere://features/mask/algorithmsshardingsphere://features/mask/databases/{database}/rulesshardingsphere://features/mask/databases/{database}/tables/{table}/rulesshardingsphere://features/broadcast/databases/{database}/rulesshardingsphere://features/broadcast/databases/{database}/rule-countshardingsphere://features/readwrite-splitting/load-balance-algorithm-pluginsshardingsphere://features/readwrite-splitting/databases/{database}/rulesshardingsphere://features/readwrite-splitting/databases/{database}/rules/{rule}shardingsphere://features/readwrite-splitting/databases/{database}/statusshardingsphere://features/readwrite-splitting/databases/{database}/rules/{rule}/statusshardingsphere://features/readwrite-splitting/databases/{database}/rule-countshardingsphere://features/shadow/algorithm-pluginsshardingsphere://features/shadow/databases/{database}/rulesshardingsphere://features/shadow/databases/{database}/rules/{rule}shardingsphere://features/shadow/databases/{database}/table-rulesshardingsphere://features/shadow/databases/{database}/tables/{table}/rulesshardingsphere://features/shadow/databases/{database}/algorithmsshardingsphere://features/shadow/databases/{database}/default-algorithmshardingsphere://features/shadow/databases/{database}/rule-countshardingsphere://features/sharding/algorithm-pluginsshardingsphere://features/sharding/key-generate-algorithm-pluginsshardingsphere://features/sharding/databases/{database}/algorithmsshardingsphere://features/sharding/databases/{database}/table-rulesshardingsphere://features/sharding/databases/{database}/tables/{table}/table-ruleshardingsphere://features/sharding/databases/{database}/table-nodesshardingsphere://features/sharding/databases/{database}/tables/{table}/nodesshardingsphere://features/sharding/databases/{database}/table-reference-rulesshardingsphere://features/sharding/databases/{database}/table-reference-rules/{rule}shardingsphere://features/sharding/databases/{database}/default-strategyshardingsphere://features/sharding/databases/{database}/key-generatorsshardingsphere://features/sharding/databases/{database}/key-generators/{keyGenerator}shardingsphere://features/sharding/databases/{database}/key-generate-strategiesshardingsphere://features/sharding/databases/{database}/key-generate-strategies/{strategy}shardingsphere://features/sharding/databases/{database}/auditorsshardingsphere://features/sharding/databases/{database}/unused-algorithmsshardingsphere://features/sharding/databases/{database}/unused-key-generatorsshardingsphere://features/sharding/databases/{database}/unused-auditorsshardingsphere://features/sharding/databases/{database}/algorithms/{algorithm}/table-rulesshardingsphere://features/sharding/databases/{database}/key-generators/{keyGenerator}/table-rulesshardingsphere://features/sharding/databases/{database}/auditors/{auditor}/table-rulesshardingsphere://features/sharding/databases/{database}/rule-countinspect_metadata:引导模型读取 metadata,不在用户只要求查看 metadata 时执行 SQL。safe_sql_execution:引导模型区分 read-only query 和 side-effecting SQL。recover_workflow:引导模型从失败或过期 workflow 中恢复。plan_encrypt_rule:引导模型规划 Encrypt feature workflow。plan_mask_rule:引导模型规划 Mask feature workflow。plan_broadcast_rule:引导模型规划 Broadcast feature workflow。plan_readwrite_splitting_rule:引导模型规划 Readwrite-Splitting 规则 workflow。plan_readwrite_splitting_status:引导模型规划 Readwrite-Splitting 状态 workflow。plan_shadow_rule:引导模型规划 Shadow 规则 workflow。plan_default_shadow_algorithm:引导模型规划默认 Shadow 算法 workflow。plan_shadow_algorithm_cleanup:引导模型规划未使用 Shadow 算法清理 workflow。plan_sharding_table_rule:引导模型规划 Sharding 表规则 workflow。plan_sharding_table_reference_rule:引导模型规划 Sharding 绑定规则 workflow。plan_sharding_default_strategy:引导模型规划默认 Sharding 策略 workflow。plan_sharding_key_generator:引导模型规划 Sharding 键生成器 workflow。plan_sharding_key_generate_strategy:引导模型规划 Sharding 键生成策略 workflow。plan_sharding_rule_component_cleanup:引导模型规划未使用 Sharding 算法、键生成器或审计器清理 workflow。Completions 用于补全运行时名称、metadata identifier、算法和当前 session 中的 workflow plan_id。
Client 应在选择不确定的 database、schema、table、column、algorithm 或 plan_id 前调用 completion/complete,或读取最近的 MCP resource。
列表型业务 payload 通常包含:
itemscounthas_morecontinuation_mode大结果 payload 会使用:
truncatedtotal_countreturned_countlarge_result_guidance可恢复错误 payload 保留 message,并增加 recovery 提示。
常见恢复场景包括缺失参数、不支持的 tool/resource、非法枚举、workflow 状态错误和 SQL tool 选错。
JSON-RPC 数字错误码属于 MCP 协议错误契约。
