mcp-azure-tablestorage

MCP.Pizza Chef: dkmaker

The mcp-azure-tablestorage is a TypeScript-based MCP server designed to facilitate seamless interaction with Azure Table Storage. It enables querying tables using OData filters, retrieving table schemas for data structure understanding, and listing all tables within an Azure Storage account. This server supports detailed error handling and provides comprehensive response information, making it ideal for local development and integration into AI workflows. Configuration is straightforward via connection strings, allowing developers to efficiently manage and query Azure Storage Tables directly through MCP clients.

Use This MCP server To

Query Azure Table Storage with OData filters Retrieve Azure Table Storage table schemas List all tables in an Azure Storage account Integrate Azure Table Storage data into AI workflows Manage Azure Table Storage data during local development

README

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.

mcp-azure-tablestorage MCP server

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

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.

mcp-azure-tablestorage FAQ

How do I configure the mcp-azure-tablestorage server?
Configure it easily using your Azure Storage connection string in the server setup.
Can I query Azure Table Storage with complex filters?
Yes, it supports OData filter syntax for advanced querying.
Does the server provide schema information for tables?
Yes, it can retrieve and expose table schemas to help understand data structure.
How does the server handle errors?
It offers detailed error handling and response information to aid debugging.
Is this server suitable for production use?
It is primarily designed for local development but can be adapted for broader use.
What programming language is the server written in?
The server is implemented in TypeScript for robust and maintainable code.
How do I install dependencies for this server?
Use npm install after cloning the repository to set up dependencies.
Can this MCP server be integrated with multiple LLM providers?
Yes, it works with MCP clients that support models like OpenAI, Claude, and Gemini.