关于 Azure TableStore MCP Server
面向本地开发的 TypeScript MCP 服务,让 Cline 查询和管理 Azure Table Storage 数据。支持 OData 筛选、表结构查看和表列表查询,并通过连接字符串配置。
主要功能
- 01使用 OData 筛选查询表数据
- 02查看表结构
- 03列出存储账户中的表
- 04提供查询错误和响应信息
- 05通过连接字符串配置
适用场景
- 01按条件查询 Azure 表中的记录
- 02查看 Orders 表的数据结构
- 03检查存储账户中有哪些表
MCP 相关
向 MCP 客户端提供 Azure Table Storage 的查询和管理工具,包括数据查询、表结构查看及表列表查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| tableName | string | 是 | 要查询的表名称 |
| filter | string | 否 | OData 筛选字符串。示例请参阅描述。 |
| select | array | 否 | 要选择的属性名称数组。示例:["email", "username", "createdDate"] |
| limit | number | 否 | 响应中返回的最大项目数(默认:5)。注意:仍会执行完整查询以获取总数。 |
详细介绍
Azure TableStore MCP 服务
这是一个基于 TypeScript 的 MCP 服务,可通过 Cline 直接与 Azure Table Storage 交互。此工具可用于查询和管理 Azure Storage Tables 中的数据。
功能
- 使用 OData 筛选器支持查询 Azure Storage Tables
- 获取表架构以了解数据结构
- 列出存储帐户中的所有表
- 提供详细的错误处理和响应信息
- 通过连接字符串进行简单配置
安装
本地开发设置
- 克隆仓库:
git clone https://github.com/dkmaker/mcp-azure-tablestorage.git
cd mcp-azure-tablestorage
- 安装依赖项:
npm install
- 构建服务:
npm run build
NPM 安装
你可以通过 npm 全局安装此软件包:
npm install -g dkmaker-mcp-server-tablestore
也可以使用 npx 直接运行:
npx dkmaker-mcp-server-tablestore
注意:使用 npx 或全局安装时,你仍需配置 AZURE_STORAGE_CONNECTION_STRING 环境变量。
在 Cline 中安装
若要通过 Cline 使用 Azure TableStore 服务,需要将其添加到 MCP 设置配置中。配置文件位于:
Windows:%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
将以下内容添加到配置中:
{
"mcpServers": {
"tablestore": {
"command": "node",
"args": ["C:/path/to/your/mcp-azure-tablestorage/build/index.js"],
"env": {
"AZURE_STORAGE_CONNECTION_STRING": "your_connection_string_here" // Required: Your Azure Storage connection string
}
}
}
}
将 C:/path/to/your/mcp-azure-tablestorage 替换为克隆仓库的实际路径。
配置
此服务需要以下环境变量:
AZURE_STORAGE_CONNECTION_STRING:Azure Storage 帐户的连接字符串
在 Cline 中使用
⚠️ 重要安全提示:query_table 工具返回数量有限的结果子集(默认为 5 项),以保护大模型的上下文窗口。除非用户明确确认,否则不要增加此上限,因为较大的结果集可能会占满上下文窗口。
安装后,你可以通过 Cline 使用 Azure TableStore 服务。以下是一些示例:
- 查询表:
Query the Users table where PartitionKey is 'ACTIVE'
Cline 将使用 query_table 工具,并传入:
{
"tableName": "Users",
"filter": "PartitionKey eq 'ACTIVE'",
"limit": 5 // Optional: Defaults to 5 items. WARNING: Do not increase without user confirmation
}
响应将包含:
- 符合查询条件的项目总数(不受上限限制)
- 有限的项目子集(默认为 5 项),以便大模型安全处理
- 应用的上限值
例如:
{
"totalItems": 25,
"limit": 5,
"items": [
// First 5 matching items
]
}
这种设计使大模型能够了解数据的整体范围,同时处理规模适中的子集。默认的 5 项上限可防止大模型的上下文窗口被占满;只有在用户明确确认后才能提高此上限。
- 获取表架构:
Show me the schema for the Orders table
Cline 将使用 get_table_schema 工具,并传入:
{
"tableName": "Orders"
}
- 列出表:
List all tables in the storage account
Cline 将使用 list_tables 工具,并传入:
{}
项目结构
src/index.ts:包含 Azure Table Storage 交互逻辑的主服务实现build/:编译后的 JavaScript 输出package.json:项目依赖项和脚本
依赖项
- @azure/data-tables:Azure Table Storage 客户端库
- @modelcontextprotocol/sdk:MCP 服务实现工具包
许可证
本项目采用 MIT 许可证授权——详情请参见 LICENSE 文件。这意味着你可以自由使用、修改、分发和再许可此代码,但须包含原始版权声明和许可证条款。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。