Skip to main content
Glama
mcp-azure-tablestorage

mcp-azure-tablestorage

by dkmaker

Azure TableStore MCP Server

License: MIT

A TypeScript-based MCP server that enables interaction with Azure Table Storage directly through Cline. This tool allows you to query and manage data in Azure Storage Tables.

Features

  • Query Azure Storage Tables with OData filter support

  • Get table schemas to understand data structure

  • List all tables in the storage account

  • Detailed error handling and response information

  • Simple configuration through connection string

Related MCP server: Azure Omni-Tool MCP Server

Installation

Local Development Setup

  1. Clone the repository:

git clone https://github.com/dkmaker/mcp-azure-tablestorage.git
cd mcp-azure-tablestorage
  1. Install dependencies:

npm install
  1. Build the server:

npm run build

NPM Installation

You can install the package globally via npm:

npm install -g dkmaker-mcp-server-tablestore

Or run it directly with npx:

npx dkmaker-mcp-server-tablestore

Note: When using npx or global installation, you'll still need to configure the AZURE_STORAGE_CONNECTION_STRING environment variable.

Installing in Cline

To use the Azure TableStore server with Cline, you need to add it to your MCP settings configuration. The configuration file is located at:

Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

Add the following to your configuration:

{
  "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
      }
    }
  }
}

Replace C:/path/to/your/mcp-azure-tablestorage with the actual path where you cloned the repository.

Configuration

The server requires the following environment variable:

  • AZURE_STORAGE_CONNECTION_STRING: Your Azure Storage account connection string

Usage in Cline

⚠️ IMPORTANT SAFETY NOTE: The query_table tool returns a limited subset of results (default: 5 items) to protect the LLM's context window. DO NOT increase this limit unless explicitly confirmed by the user, as larger result sets can overwhelm the context window.

Once installed, you can use the Azure TableStore server through Cline. Here are some examples:

  1. Querying a table:

Query the Users table where PartitionKey is 'ACTIVE'

Cline will use the query_table tool with:

{
  "tableName": "Users",
  "filter": "PartitionKey eq 'ACTIVE'",
  "limit": 5  // Optional: Defaults to 5 items. WARNING: Do not increase without user confirmation
}

The response will include:

  • Total number of items that match the query (without limit)

  • Limited subset of items (default 5) for safe LLM processing

  • Applied limit value

For example:

{
  "totalItems": 25,
  "limit": 5,
  "items": [
    // First 5 matching items
  ]
}

This design allows the LLM to understand the full scope of the data while working with a manageable subset. The default limit of 5 items protects against overwhelming the LLM's context window - this limit should only be increased when explicitly confirmed by the user.

  1. Getting table schema:

Show me the schema for the Orders table

Cline will use the get_table_schema tool with:

{
  "tableName": "Orders"
}
  1. Listing tables:

List all tables in the storage account

Cline will use the list_tables tool with:

{}

Project Structure

  • src/index.ts: Main server implementation with Azure Table Storage interaction logic

  • build/: Compiled JavaScript output

  • package.json: Project dependencies and scripts

Dependencies

  • @azure/data-tables: Azure Table Storage client library

  • @modelcontextprotocol/sdk: MCP server implementation toolkit

License

This project is licensed under the MIT License - see the LICENSE file for details. This means you can use, modify, distribute, and sublicense the code freely, provided you include the original copyright notice and license terms.

Available Tools

3 tools
get_table_schemaC

Get property names and types from a table

Inputs: tableName (required).

list_tablesC

List all tables in the storage account

Inputs: prefix.

query_tableA

⚠️ WARNING: This tool returns a limited subset of results (default: 5 items) to protect the LLM's context window. DO NOT increase this limit unless explicitly confirmed by the user.

Query data from an Azure Storage Table with optional filters.

Supported OData Filter Examples:

  1. Simple equality: filter: "PartitionKey eq 'COURSE'" filter: "email eq 'user@example.com'"

  2. Compound conditions: filter: "PartitionKey eq 'USER' and email eq 'user@example.com'" filter: "PartitionKey eq 'COURSE' and title eq 'GDPR Training'"

  3. Numeric comparisons: filter: "age gt 25" filter: "costPrice le 100"

  4. Date comparisons (ISO 8601 format): filter: "createdDate gt datetime'2023-01-01T00:00:00Z'" filter: "timestamp lt datetime'2024-12-31T23:59:59Z'"

Supported Operators:

  • eq: Equal

  • ne: Not equal

  • gt: Greater than

  • ge: Greater than or equal

  • lt: Less than

  • le: Less than or equal

  • and: Logical and

  • or: Logical or

  • not: Logical not

Inputs: tableName (required), filter, limit, select.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: get_table_schema retrieves metadata about table structure, list_tables enumerates available tables, and query_table fetches actual data from tables. The descriptions clearly differentiate these operations, making tool selection unambiguous for an agent.

    Naming Consistency5/5

    All three tools follow a consistent verb_noun naming pattern (get_table_schema, list_tables, query_table) with perfect consistency in style and structure. The naming convention is predictable and follows the same grammatical pattern throughout the tool set.

    Tool Count3/5

    With only 3 tools, this server feels somewhat thin for Azure Table Storage operations. While the tools cover basic read operations, the absence of create, update, or delete operations for tables or entities makes the surface incomplete for typical database workflows. The count is borderline minimal for the domain.

    Completeness2/5

    The tool set has significant gaps for a database/storage system. There are no tools for creating tables, inserting entities, updating entities, or deleting tables/entities - only read operations exist. While the query capabilities are well-documented, the lack of write operations creates dead ends for agents trying to perform complete data management workflows.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables intelligent interaction with Azure resources through natural language by translating requests into safe, auditable Azure CLI commands with plan/review workflows and direct access to 8 Azure services including Storage, Cosmos DB, Key Vault, and more.
      3
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Provides an interactive dashboard within VS Code Copilot to manage Azure Storage accounts, containers, and blobs through a rich UI. It enables users to visualize storage resources, perform CRUD operations, and generate SAS tokens using the Model Context Protocol.
      2
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      Connects Microsoft Copilot Studio to Azure SQL Databases, enabling natural language interactions for data querying, record management, and schema inspection. It features 12 specialized tools for performing CRUD operations, executing SQL queries, and generating data visualizations like charts.
      -