Skip to main content
Glama
mazumdarabhishek

Azure MCP Inventory Server

Azure MCP Inventory CRUD Server and Client

This project contains an MCP (Model Context Protocol) server and async client for managing inventory items in Azure Cosmos DB.

Setup

  1. Install dependencies:

pip install -r requirements.txt
  1. Create a .env file with your Azure Cosmos DB credentials:

COSMOS_ENDPOINT=https://<your-account>.documents.azure.com:443/
COSMOS_KEY=<your-primary-key>
COSMOS_DATABASE=<your-database-name>

Related MCP server: FreshMCP

Running the Server

Start the MCP server with HTTP transport:

python server.py

The server will run on http://127.0.0.1:8001 by default.

Using the Client

The client.py module provides an InventoryClient class for consuming the server. It uses async/await and httpx for HTTP communication.

Basic Usage

import asyncio
from client import InventoryClient

async def main():
    client = InventoryClient(server_url="http://127.0.0.1:8001")
    
    async with client.connect():
        # Create an item
        result = await client.create_item(
            item_id="ITEM001",
            name="Laptop",
            category="Electronics",
            quantity=10,
            price=999.99
        )
        print(result)
        
        # Read an item
        result = await client.read_item("ITEM001", "Electronics")
        print(result)
        
        # Update quantity
        result = await client.update_quantity("ITEM001", "Electronics", 15)
        print(result)
        
        # List items in a category
        result = await client.list_category_items("Electronics")
        print(result)
        
        # Delete an item
        result = await client.delete_item("ITEM001", "Electronics")
        print(result)

asyncio.run(main())

Running the Example

To run the included example:

python client.py

Client API

InventoryClient

Constructor

  • __init__(server_url: str = "http://127.0.0.1:8001") - Initialize the client

Methods

All methods are async and require using async with client.connect(): context manager.

  • async create_item(item_id, name, category, quantity, price) - Create a new item

  • async read_item(item_id, category) - Read an item by ID and category

  • async update_quantity(item_id, category, new_quantity) - Update item quantity

  • async delete_item(item_id, category) - Delete an item

  • async list_category_items(category) - List all items in a category

Server API

The server exposes the following tools via MCP:

  • create_item - Create a new inventory item

  • read_item - Read an item from the database

  • update_quantity - Update the quantity of an existing item

  • delete_item - Delete an inventory item

  • list_category_items - List all items in a specific category

Architecture

  • server.py - FastMCP server that manages inventory CRUD operations with Azure Cosmos DB

  • client.py - Async HTTP client for consuming the MCP server

  • requirements.txt - Python dependencies

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mazumdarabhishek/azure-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server