fastmcp_server.cpython-310.pyc•7.96 kB
o
��\h�/ � @ s d dl Z d dlZd dlZd dlmZmZmZ d dlmZ d dl
mZ d dlm
Z
d dlmZmZmZmZ d dlmZ dZe jed� e �d �ZG d
d� d�Zdadd
� Zdd� Zdeeef defdd�Zdee fdd�Ze dkr~dd� Z!e �"e!� � dS dS )� N)�Dict�Any�List)�Server)�stdio_server)�Tool�TextContent�CallToolResult�ListToolsResult)�SupplyChainToolsz'AIzaSyB-d7vpvd2W8kXyVmfjn7XJNiZmDNP6hHM)Zapi_keyzgemini-2.0-flash-expc @ s~ e Zd Zdd� Zdd� Zdd� Zdeeef defd d
�Z dedeeef defdd
�Z
dd� Zdd� Zde
e fdd�ZdS )�
FastMCPServerc C s, t d�| _t� | _| �� | �� d| _d S )Nzsupply-chain-optimizerF)r �serverr �tools�setup_tools�
setup_prompts�
is_running��self� r �;/Users/anshriyal/Downloads/github/FastMCP/fastmcp_server.py�__init__ s
zFastMCPServer.__init__c s6 � j �� dd� �}� j �� dtdtf� fdd��}dS )z/Register all supply chain tools with MCP serverc
� s� �t tddddddd�id�d �td
ddddd�dd
d�ddd�d�g d�d�d �tdddddd�ddd�ddd�ddd�d�g d�d�d �tdddddd�ddd�d�ddgd�d �tdddddd�ddd�d �dd!gd�d �gd"�S )#N�get_inventory_statusz:Get current inventory status for a product or all products�object�
product_id�stringzProduct ID to check (optional))�type�description)r �
properties)�namer ZinputSchema�update_inventoryz5Update inventory for a specific product and warehousez
Product IDz1Warehouse (warehouse_A, warehouse_B, warehouse_C)�integerzQuantity to add/subtract)r � warehouse�quantity)r r �required�calculate_transferz;Calculate and execute inventory transfer between warehouseszSource warehousezDestination warehousezQuantity to transfer)r �from_warehouse�to_warehouser"