bluetooth_tool.cpython-311.pyc•3.15 kB
�
�A�g� � �B � d dl mZmZmZ d dlmZ G d� de� � ZdS )� )�Dict�Any�Optional)�Toolc � � e Zd ZdZedefd�� � Zedefd�� � Zedeee f fd�� � Z
edeee f deee f fd�� � ZdS ) �
BluetoothTooluM
Implémentation de l'outil Bluetooth pour le Model Context Protocol
�returnc � � dS )zNom de l'outilzbluetooth-scan� ��clss �5F:\DEV\bluetooth-mcp-server\mcp_sdk\bluetooth_tool.py�get_namezBluetoothTool.get_name s
� � �� c � � dS )zDescription de l'outilz4Scans for nearby Bluetooth devices (BLE and Classic)r r s r �get_descriptionzBluetoothTool.get_description s � � F�Er c �, � ddddd�dddd �d
ddd�d�d
�S )u Paramètres de l'outil�object�numberz%Scan duration in seconds (default: 5)� @)�type�description�default�stringz Optional name filter for devicesT)r r �nullable�booleanz!Include classic Bluetooth devices��duration�filter_name�include_classic)r �
propertiesr r s r �get_parameterszBluetoothTool.get_parameters s_ � � � %�#J�"�� � %�#E� $� � � &�#F�#�$� $�� �
�
�
r �paramsc � � ddl }d} |� dd� � |� dd� � |� dd� � d �}|� ||�
� � }|� � � |� � � S # |j $ r,}dt
|� � � �t
|� � d�cY d}~S d}~ww xY w)
u�
Exécute le scan Bluetooth
Args:
params: Paramètres du scan
Returns:
Résultats du scan
r Nz1http://localhost:8000/mcp/v1/tools/bluetooth-scanr r r r Tr )�jsonzBluetooth scan failed: )�error�details)�requests�get�post�raise_for_statusr% �RequestException�str)r
r# r( �url�scan_params�response�es r �executezBluetoothTool.execute+ s� � � ���� B�� � #�J�J�z�3�7�7�%�z�z�-��>�>�#)�:�:�.?��#F�#F�� �K� �}�}�S�{�}�;�;�H��%�%�'�'�'��=�=�?�?�"���(� � � �;�3�q�6�6�;�;��q�6�6�� �
�
�
�
�
�
����� ���s �B B �
B?�!B:�4B?�:B?N)�__name__�
__module__�__qualname__�__doc__�classmethodr- r r r r r"