Table Store(Tablestore)整合了MCP協議,通過向量和標量的混合檢索能力,提供高效的資料存放區與檢索解決方案。通過本文您可以瞭解Tablestore MCP服務的使用方法。
功能介紹
Tablestore MCP服務提供了以下兩個工具:
儲存工具(tablestore-store):資料經過Embedding模型(預設為BAAI/bge-base-zh-v1.5)轉成向量,連同原文本一起寫入到Table Store。
檢索工具(tablestore-search):使用者的查詢文本經過Embedding模型轉成向量,檢索Table Store的多元索引(使用向量和標量進行混合查詢),召回使用者期望的結果。
準備工作
為阿里雲帳號或具有Table Store存取權限的RAM使用者建立AccessKey。
準備一台部署 MCP Server 的伺服器,您可以使用阿里雲ECS。
說明本文使用的 ECS 伺服器作業系統為Alibaba Cloud Linux 3.2104 LTS 64位,Python版本為 3.13.2,Java 版本為 17.0.15。
使用步驟
步驟一:下載源碼
安裝Git。如果您使用的伺服器已安裝Git,請跳過該步驟。
yum install git下載源碼。
git clone https://github.com/aliyun/alibabacloud-tablestore-mcp-server如果因為網路問題無法下載,您可以直接下載tablestore-mcp-server,將其上傳到伺服器後進行解壓。解壓命令如下:
tar -zxvf alibabacloud-tablestore-mcp-server.tar.gz
步驟二:運行服務
Table Store提供Python和Java兩個版本的MCP服務。
Python
Python版本的Table StoreMCP服務需要Python3.10及以上版本,並使用uv進行包和環境管理。
Alibaba Cloud Linux 3.2104 LTS 64位系統預設的Python3版本為3.6.8,升級 Python 版本操作請參見升級 Python 版本。
進入MCP的源碼目錄。
cd alibabacloud-tablestore-mcp-server/tablestore-python-mcp-server安裝uv。
pip3 install uv關於uv安裝的詳細資料請參見官方文檔。
建立虛擬環境。如果您使用的是其它Python版本,請修改版本號碼。
uv venv --python 3.13配置環境變數。
export HF_ENDPOINT=https://huggingface.co export TABLESTORE_ACCESS_KEY_ID=LTAI******************** export TABLESTORE_ACCESS_KEY_SECRET=****************************** export TABLESTORE_ENDPOINT=https://k01r********.cn-hangzhou.ots.aliyuncs.com export TABLESTORE_INSTANCE_NAME=k01r********環境變數說明如下。
變數名稱
說明
HF_ENDPOINT
HuggingFace地址。
TABLESTORE_ACCESS_KEY_ID
阿里雲帳號或RAM使用者的AccessKey ID。
TABLESTORE_ACCESS_KEY_SECRET
阿里雲帳號或RAM使用者的AccessKey Secret。
TABLESTORE_ENDPOINT
Table Store執行個體的訪問地址Endpoint。如果您使用的是ECS,請根據地區情況選擇訪問地址:
ECS與Table Store在同一地區:選擇公網地址或者VPC地址。
ECS與Table Store不在同一地區:選擇公網地址。
重要Table Store新建立的執行個體預設不開啟公網訪問,如果您需要使用公網訪問地址,請在Table Store控制台執行個體管理的網路管理頁簽中允許網路類型選中公網,並單擊設定儲存配置。
TABLESTORE_INSTANCE_NAME
Table Store執行個體的名稱。
運行MCP服務。
uv run tablestore-mcp-server初次運行需要下載依賴,請您耐心等待。如果因為網路問題導致下載中斷,重新執行命令即可。運行成功後,會列印如下日誌。
INFO:tablestore_mcp_server.server:mcp host:0.0.0.0, port:8001 INFO:root:run tablestore-mcp-server by: sse
Java
運行Table StoreMCP服務需要JDK17版本。
安裝JDK。
yum -y install java-17-openjdk-devel.x86_64進入MCP的源碼目錄。
cd alibabacloud-tablestore-mcp-server/tablestore-java-mcp-server編譯源碼。
./mvnw package -DskipTests -s settings.xml編譯成功後,會列印如下日誌。
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:58 min [INFO] Finished at: 2025-03-26T11:31:21+08:00 [INFO] ------------------------------------------------------------------------配置環境變數。
export HF_ENDPOINT=http://hf-mirror.com export TABLESTORE_ACCESS_KEY_ID=LTAI******************** export TABLESTORE_ACCESS_KEY_SECRET=****************************** export TABLESTORE_ENDPOINT=https://k01r********.cn-hangzhou.ots.aliyuncs.com export TABLESTORE_INSTANCE_NAME=k01r********環境變數說明如下。
變數名稱
說明
HF_ENDPOINT
HuggingFace鏡像地址。
TABLESTORE_ACCESS_KEY_ID
阿里雲帳號或RAM使用者的AccessKey ID。
TABLESTORE_ACCESS_KEY_SECRET
阿里雲帳號或RAM使用者的AccessKey Secret。
TABLESTORE_ENDPOINT
Table Store執行個體的訪問地址Endpoint。如果您使用的是ECS,請根據地區情況選擇訪問地址:
ECS與Table Store在同一地區:選擇公網地址或者VPC地址。
ECS與Table Store不在同一地區:選擇公網地址。
重要Table Store新建立的執行個體預設不開啟公網訪問,如果您需要使用公網訪問地址,請在Table Store控制台執行個體管理的網路管理頁簽中允許網路類型選中公網,並單擊設定儲存配置。
TABLESTORE_INSTANCE_NAME
Table Store執行個體的名稱。
運行MCP服務。
java -jar target/tablestore-java-mcp-server-1.0-SNAPSHOT.jar運行成功後,會列印如下日誌。
2025-03-26T11:35:31.519+08:00 INFO 5116 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8080 (http) 2025-03-26T11:35:31.534+08:00 INFO 5116 --- [ main] c.a.openservices.tablestore.sample.App : Started App in 44.143 seconds (process running for 44.766)
步驟三:使用MCP服務
前往Cherry Studio官網下載並安裝用戶端。
單擊左下角的設定按鈕,設定模型服務、預設模型和MCP伺服器。
模型服務:Cherry Studio內建了非常多的模型服務商,您可以根據自己的需要選擇模型服務商,擷取服務商的API密鑰並在模型服務中填寫密鑰以及管理模型。本文使用的阿里雲百鍊的qwen-max模型,使用前需要準備工作:擷取與配置 API Key。
預設模型:設定預設模型,您也可以在對話頁面選擇模型。

MCP伺服器:單擊添加伺服器,名稱和描述可以自訂,類型選擇SSE,URL的格式為
http://server_ip:port/sse,Python預設的連接埠為8001,Java預設的連接埠為8080。首次進入MCP伺服器設定頁面還需要按照提示安裝UV和Bun。重要如果您使用的是ECS,需要添加安全性群組規則,在入方向規則中添加自訂TCP連接埠的允許存取原則,訪問目的連接埠為MCP服務啟動並執行連接埠。

在對話頁面選擇MCP伺服器。

與助手進行對話,將文檔寫入到Table Store中。

您可以在伺服器中查看MCP調用日誌。
INFO:mcp.server.lowlevel.server:Processing request of type CallToolRequest Batches: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 13.82it/s] INFO:tablestore_mcp_server.tablestore_connector:Storing Node ID: 2d80f2ab-9996-49d4-b23f-28b3d02b70bc Text: There are two base billing models for Alibaba Cloud ECS: Pay-As- You-Go and Subscription.您也可以在Table Store控制台查看寫入的資料。

與助手進行會話,檢索Table Store中的相關文檔。

您可以在伺服器中查看MCP調用日誌。
INFO:mcp.server.lowlevel.server:Processing request of type CallToolRequest INFO:tablestore_mcp_server.tablestore_connector:Search query: Alibaba Cloud ECS billing models, size: 5 Batches: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 14.34it/s] INFO:llama_index.vector_stores.tablestore.base:Tablestore search successfully. request_id:000639da-cc10-5075-8fac-bb0a59c4b4bd
本地調試和二次開發
您可以在本地IDE運行MCP源碼,並使用MCP Inspector工具進行調試。
步驟一:配置環境變數
運行代碼前,需要先配置系統內容變數,配置完成後請重啟或重新整理您的編譯運行環境,包括 IDE、命令列介面、其它傳統型應用程式及後台服務,確保最新的系統內容變數成功載入。
Linux
在命令列介面執行以下命令來將環境變數設定追加到
~/.bashrc檔案中。echo "export TABLESTORE_ACCESS_KEY_ID='LTAI********************'" >> ~/.bashrc echo "export TABLESTORE_ACCESS_KEY_SECRET='******************************'" >> ~/.bashrc echo "export TABLESTORE_ENDPOINT='https://k01r********.cn-hangzhou.ots.aliyuncs.com'" >> ~/.bashrc echo "export TABLESTORE_INSTANCE_NAME='k01r********'" >> ~/.bashrc echo "export HF_ENDPOINT='http://hf-mirror.com'" >> ~/.bashrc執行以下命令使變更生效。
source ~/.bashrc執行以下命令檢查環境變數是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET echo $TABLESTORE_ENDPOINT echo $TABLESTORE_INSTANCE_NAME echo $HF_ENDPOINT
macOS
在終端中執行以下命令,查看預設 Shell 類型。
echo $SHELL根據預設 Shell 類型進行操作。
Zsh
執行以下命令來將環境變數設定追加到
~/.zshrc檔案中。echo "export TABLESTORE_ACCESS_KEY_ID='LTAI********************'" >> ~/.zshrc echo "export TABLESTORE_ACCESS_KEY_SECRET='******************************'" >> ~/.zshrc echo "export TABLESTORE_ENDPOINT='https://k01r********.cn-hangzhou.ots.aliyuncs.com'" >> ~/.zshrc echo "export TABLESTORE_INSTANCE_NAME='k01r********'" >> ~/.zshrc echo "export HF_ENDPOINT='http://hf-mirror.com'" >> ~/.zshrc執行以下命令使變更生效。
source ~/.zshrc執行以下命令檢查環境變數是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET echo $TABLESTORE_ENDPOINT echo $TABLESTORE_INSTANCE_NAME echo $HF_ENDPOINT
Bash
執行以下命令來將環境變數設定追加到
~/.bash_profile檔案中。echo "export TABLESTORE_ACCESS_KEY_ID='LTAI********************'" >> ~/.bash_profile echo "export TABLESTORE_ACCESS_KEY_SECRET='******************************'" >> ~/.bash_profile echo "export TABLESTORE_ENDPOINT='https://k01r********.cn-hangzhou.ots.aliyuncs.com'" >> ~/.bash_profile echo "export TABLESTORE_INSTANCE_NAME='k01r********'" >> ~/.bash_profile echo "export HF_ENDPOINT='http://hf-mirror.com'" >> ~/.bash_profile執行以下命令使變更生效。
source ~/.bash_profile執行以下命令檢查環境變數是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET echo $TABLESTORE_ENDPOINT echo $TABLESTORE_INSTANCE_NAME echo $HF_ENDPOINT
Windows
CMD
在CMD中運行以下命令設定環境變數。
setx TABLESTORE_ACCESS_KEY_ID "LTAI********************" setx TABLESTORE_ACCESS_KEY_SECRET "******************************" setx TABLESTORE_ENDPOINT "https://k01r********.cn-hangzhou.ots.aliyuncs.com" setx TABLESTORE_INSTANCE_NAME "k01r********" setx HF_ENDPOINT "http://hf-mirror.com"重啟CMD後,運行以下命令檢查環境變數是否生效。
echo %TABLESTORE_ACCESS_KEY_ID% echo %TABLESTORE_ACCESS_KEY_SECRET% echo %TABLESTORE_ENDPOINT% echo %TABLESTORE_INSTANCE_NAME% echo %HF_ENDPOINT%
PowerShell
在PowerShell中運行以下命令。
[Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", "LTAI********************", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", "******************************", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("TABLESTORE_ENDPOINT", "https://k01r********.cn-hangzhou.ots.aliyuncs.com", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("TABLESTORE_INSTANCE_NAME", "k01r********", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("HF_ENDPOINT", "http://hf-mirror.com", [EnvironmentVariableTarget]::User)運行以下命令,檢查環境變數是否生效。
[Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("TABLESTORE_ENDPOINT", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("TABLESTORE_INSTANCE_NAME", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("HF_ENDPOINT", [EnvironmentVariableTarget]::User)
步驟二:運行源碼
Python
本地運行MCP源碼的環境要求:
Python 3.10及以上版本。
PyCharm 2024.3.2及以上版本。
在PyCharm中配置uv環境。
完成環境配置後,您需要在PyCharm中開啟MCP的源碼目錄 tablestore-python-mcp-server,並運行 src/tablestore_mcp_server/main.py 檔案。運行成功後,控制台會列印如下日誌。
INFO:tablestore_mcp_server.server:mcp host:0.0.0.0, port:8001
INFO:root:run tablestore-mcp-server by: sseJava
本地運行MCP源碼的環境要求:JDK17。
完成環境配置後,您需要在IDEA中開啟MCP的源碼目錄 tablestore-java-mcp-server,並運行 src/main/java/com.alicloud.openservices.tablestore.sample/App.java 檔案。運行成功後,控制台會列印如下日誌。
2025-03-31T16:50:50.582+08:00 INFO 27160 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port 8080 (http)
2025-03-31T16:50:50.594+08:00 INFO 27160 --- [ main] c.a.openservices.tablestore.sample.App : Started App in 79.764 seconds (process running for 80.524)步驟三:工具調試
安裝Node.js。
在終端工具中執行以下命令,根據提示輸入
y,運行MCP Inspector。npx @modelcontextprotocol/inspector node build/index.js初次運行需要下載工具,請等待一段時間。運行成功後,終端會列印以下內容,連接埠以實際運行情況為準。
MCP Inspector is up and running at: http://localhost:6274在瀏覽器中訪問終端輸出的訪問地址,進入MCP Inspector管理頁面。然後根據本地運行情況選擇傳輸類型並填寫URL,單擊Connect,串連MCP服務。您可以單擊List Tools,查看可調試的工具。

選擇tablestore-store工具,在information中輸入內容,單擊Run Tool,向Table Store中寫入資料。

您可以在IDE控制台查看日誌,或者登入Table Store控制台查看資料。

選擇tablestore-search工具,在query中輸入查詢內容和size(返回的資料條目),單擊Run Tool,查詢Table Store中的資料。

升級Python版本
此處以Python3.13.2為例為您介紹如何升級Python版本。
下載Python。
wget https://www.python.org/ftp/python/3.13.2/Python-3.13.2.tgz如果因為網路問題無法下載,您可以直接下載Python-3.13.2,並將其上傳到伺服器。
解壓檔案。
tar -zxvf Python-3.13.2.tgz安裝依賴。
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel libffi-devel libuuid-devel libtirpc-devel libnsl2-devel進入Python目錄。
cd Python-3.13.2配置安裝路徑。
./configure編譯Python。
make安裝Python。
make install查看已安裝的版本。
查看Python版本。
python3 --version查看Pip版本。
pip3 --version