Skip to main content
Glama

FastMCP Supply Chain Optimizer

by ANSH-RIYAL
supply_chain_tools.cpython-310.pyc3.95 kB
o �\h��@s2ddlZddlZddlmZmZGdd�d�ZdS)�N)�Dict�Anyc @s�eZdZddefdd�Zddedeeeffdd �Zded ed edeeeffd d �Z dededed edeeeff dd�Z ded edeeeffdd�Z ded edeeeffdd�Z dd�Z dd�ZdS)�SupplyChainTools�data/inventory.csv�inventory_filecCs||_t�|�|_g|_dS�N)r�pdZread_csv� inventory_df� actions_log)�selfr�r �?/Users/anshriyal/Downloads/github/FastMCP/supply_chain_tools.py�__init__s  zSupplyChainTools.__init__N� product_id�returncCsH|r|j|jd|k}|jrdd|�d�iS|�d�dS|j�d�S)z:Get current inventory status for a product or all productsr�error�Product � not found�recordsr)r �empty�to_dict)r r� product_datar r r �get_inventory_status s  z%SupplyChainTools.get_inventory_status� warehouse�quantitycCs�|dvr dd|��iS|jd|k}|��sdd|�d�iS|jj||fjd}td||�}||jj||f<d|�d |�d |�d |��}|j�|�d |||||d �S)z5Update inventory for a specific product and warehouse)� warehouse_A� warehouse_BZ warehouse_CrzInvalid warehouse: rrrrzUpdated z in z: z -> T)�successrrZ old_quantityZ new_quantity�action)r �any�loc�iloc�maxr �append)r rrr�maskZ current_qtyZnew_qtyrr r r �update_inventorys" �z!SupplyChainTools.update_inventory�from_warehouse� to_warehousecCs~|�||| �}d|vr|S|�|||�}d|vr"|�|||�|Sd|�d|�d|�d|��}|j�|�d|||||d�S)z;Calculate and execute inventory transfer between warehousesrz TRANSFER: � units of � from z to T)rrr&r'rr)r%r r#)r rr&r'rZresult1�result2rr r r �calculate_transfer.s  �z#SupplyChainTools.calculate_transfercCs�|j|jd|k}|jrdd|�d�iS||jd}|dkr#d}n|dkr*d }n |d kr1d }nd }|||||dkr?d d�S|dkrGdd�Sdd�S)z:Simple prediction of when a product might run out of stockrrrrr�z1-2 days�2z3-5 days�dz 1-2 weekszMore than 2 weeks�HIGH�MEDIUM�LOW)rr� current_stockZpredicted_stockoutZ risk_level)r rr!)r rrrr2Zdays_to_stockoutr r r �predict_stockoutHs* � ��z!SupplyChainTools.predict_stockoutc Cs�|j|jd|k}|jrdd|�d�iS|djd}|djd}||}d|�d |�d |�d |�d |d �d� }|j�|�d||||||d�S)z&Recommend reorder action for a productrrrr�supplierr� cost_per_unitzORDER: r(r)z at $z/unit (Total: $z.2f�)T)rrrrr4r5� total_cost)r rr!r r#)r rrrr4r5r7rr r r �recommend_reorderbs & �z"SupplyChainTools.recommend_reordercCs|jj|jdd�dS)z)Save current inventory state back to fileF)�indexN)r Zto_csvr�r r r r �save_inventoryyszSupplyChainTools.save_inventorycCs|jS)zGet all recorded actions)r r:r r r �get_actions_log}sz SupplyChainTools.get_actions_log)rr)�__name__� __module__� __qualname__�strrrrr�intr%r+r3r8r;r<r r r r rs" & r)�pandasr�json�typingrrrr r r r �<module>s

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/ANSH-RIYAL/FastMCP'

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