Skip to main content
Glama

URL Reputation and Validity Checker

by prismon
server.cpython-313.pyc4.81 kB
� N�7h�����SrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSK J r SSK J r J r SSKJr SS KJr SS KJr \R("\R*S 9 \R,"\5r\ "S 5r\"\R4"S S55r\"5r\R;5S\S\4Sj5rSr \S:Xa]\R"\RB\ 5 \R"\RD\ 5 \RGS5 \RI5 gg!\%aAr&S\"\'"\&5R.5;a\RQS\"\&535 eSr&C&gSr&C&ff=f)z#Main FASTMCP server implementation.�N)�Dict)�datetime)�FastMCP�)� URLValidator�ValidationLevel)�DomainHistoryChecker)� CacheManager)�URLValidationResult)�levelzURL Reputation Checker� REDIS_URLzredis://localhost:6379�url�returnc��b# �[RU5IShv�N nU(a[RSU35 U$[ 5IShv�N nUR U[ R5IShv�N nSSS5IShv�N [RU5IShv�N n[RUW5nXSl URUl URUlUR UlUR%5n[R'XUR(5IShv�N U$GNN�N�N�!,IShv�N (df  N�=fN�N+![*aHn[R-SUS[/U535 USSSSSSS/SS[/U53S . sSnA$SnAff=f7f) a� Check reputation for a single URL. Args: url: URL to validate and check reputation Returns: Dictionary containing: - url: The original URL - is_valid: Whether the URL exists and returns content - reputation_score: 0-100 score - domain_age_days: Age of the domain - first_seen_date: Earliest known appearance - warnings: List of potential issues - confidence_level: "high", "medium", or "low" - error: Error message if operation failed NzReturning cached result for z"Error checking URL reputation for z: Fr�lowzFailed to check URL: ) r�is_valid� status_code�response_time_ms�reputation_score�domain_age_days�first_seen_date�wayback_snapshots�warnings�confidence_level�error)� cache_manager�get_validation_result�logger�infor� check_urlr� COMPREHENSIVE�history_checker�get_domain_history�calculate_reputation_scorer�age_daysr�wayback_first_snapshotr�wayback_total_snapshotsr�to_dict�set_validation_resultr� Exceptionr�str)r�cached� validator�validation_result�domain_historyr� result_dict�es �T/home/josh/Projects/reputation-and-validity-checker/url_reputation_checker/server.py�check_url_reputationr3s����&1 �$�:�:�3�?�?�� � �K�K�6�s�e�<� =��M� �>�>�Y�&/�&9�&9�#��?\�?\�&]� ]� �"�>� /�A�A�#�F�F��+�E�E� �-� �� .>�*�,:�,C�,C��)�,:�,Q�,Q��)�.<�.T�.T��+�(�/�/�1� ��1�1� �/�8�8� � � ���?@� "� ]�"�>�>�>��G�" �� � �� � �9�#��b��Q���I�J���� !� !�#�#�!"�� %�,�S��V�H�5�  � �� �s��F/�E�D3�$E�F/�E�D6�E�$D<�8D8�9D<�= E�D:� E�%E�&BE�,E�-E�2F/�3E�6E�8D<�:E�<E�E � E�E�E� F,�$=F'�!F,�"F/�'F,�,F/c�Z�[RS5 [R"S5 g)zHandle graceful shutdown.zShutting down server...rN)rr�sys�exit)�sig�frames r2�signal_handlerr9es�� �K�K�)�*��H�H�Q�K��__main__z)Starting URL Reputation Checker server...�BrokenResourceErrorzServer error: ))�__doc__�asyncio�osr5�signal�logging�typingrr�fastmcpr� validatorsrr�historyr �cacher �modelsr � basicConfig�INFO� getLogger�__name__r�mcp�getenvrr"�toolr+r3r9�SIGINT�SIGTERMr�runr*r1�typer�r:r2�<module>rTsE��)�� � � �����5�)��'����'�,�,�'� � � �8� $���&�'���R�Y�Y�{�4L�M�N� �&�(������C �C�C �D�C � �C �L�  �z�� �M�M�&�-�-��0� �M�M�&�.�.�.�1��� � �?�@� ��� ��� �� ��D��G�,<�,<�(=� =� �L�L�>�#�a�&��2� 3� � >���s�7!D�E!� 7E�E!

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/prismon/reputation-checker-mcp'

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