
    5pj9                        S r SSKJr  SSKrSSKJrJrJrJrJ	r	J
r
Jr  SSKJr   " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      rSS jr " S S\5      rg)uA   ``ms mcp`` group — list / info / deploy / undeploy MCP servers.    )annotationsN   )
CLICommand
SubParsersinfomake_apiparse_kv_pairsrender_tablesuccess)add_subcmd_token_endpointc                  6    \ rS rSrSr\SS j5       rSS jrSrg)	
McpCommand   z1Top-level dispatcher for the ``mcp`` subcommands.c                    U R                  SSS9nUR                  SSS9nSUl        [        R	                  U5        [
        R	                  U5        [        R	                  U5        [        R	                  U5        UR                  [        S9  g )	NmcpzManage MCP servers.help
mcp_actionACTION)destmetavarT)_command)

add_parseradd_subparsersrequired_McpListregister_McpInfo
_McpDeploy_McpUndeployset_defaultsr   )
subparsersparsersubs      R/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/modelscope_hub/cli/mcp.pyr   McpCommand.register   s}    &&u3H&I##x#H##C c"Z0    c                    [        U R                  SS 5      nUc  [        S5      eU" U R                  5      R                  5         g )N	_mcp_leafz)No mcp action given. See `ms mcp --help`.)getattrargs
SystemExitexecute)selfleafs     r%   r-   McpCommand.execute   s9    tyy+t4<HIITYY!r'    Nr"   r   returnNoner3   r4   )	__name__
__module____qualname____firstlineno____doc__staticmethodr   r-   __static_attributes__r1   r'   r%   r   r      s    ;
1 
1"r'   r   c                  2    \ rS rSr\SS j5       rSS jrSrg)r   "   c                    U R                  SSS9nUR                  SS S9  UR                  SS[        SS	9  UR                  S
S[        SS	9  [        U5        UR	                  [
        [        S9  g )NlistzList MCP servers.r   z--search)defaultz--pagepage_numberr   )r   typerA   z--page-size	page_size   r   r)   )r   add_argumentintr   r!   r   r   r"   ps     r%   r   _McpList.register#   sh    !!&/B!C	z40	xm#qI	};S"M!!$	
h?r'   c           	     @   [        U R                  5      nUR                  U R                  R                  U R                  R                  U R                  R
                  S9nUR                  (       d  [        S5        g UR                   Vs/ s H  nUR                  S5      =(       d    UR                  S5      =(       d    SUR                  S5      =(       d    UR                  S5      =(       d    SUR                  S5      =(       d    UR                  S	5      =(       d    SUR                  S
5      =(       d    UR                  S5      =(       d    S4PM     nn[        [        U/ SQS95        [        SUR                   SUR                   35        g s  snf )N)searchrB   rD   z(no MCP servers found)idId-nameNamestatusStatusdescriptionDescription)rN   rQ   rS   rU   )headersz
page z	 / total )r   r+   list_mcp_serversrM   rB   rD   itemsr   getr
   total_count)r.   apiresultitemrowss        r%   r-   _McpList.execute,   sA   tyy!%%99##		--ii)) & 

 ||)* 
 % 7$((4.7C ;DHHV$4;"?dhhx&8?C'I488M+BIc	 % 	 
 	\$(OPQwv))*)F4F4F3GHI
s   CFr1   Nr2   r5   r6   r7   r8   r9   r;   r   r-   r<   r1   r'   r%   r   r   "   s    @ @Jr'   r   c                  2    \ rS rSr\SS j5       rSS jrSrg)r   C   c                    U R                  SSS9nUR                  S5        [        U5        UR                  [        [
        S9  g )Nr   zShow details of an MCP server.r   	server_idrF   )r   rG   r   r!   r   r   rI   s     r%   r   _McpInfo.registerD   s<    !!&/O!P	{#!!$	
h?r'   c           	         [        U R                  5      nUR                  U R                  R                  5      n[	        [
        R                  " USS[        S95        g )N   F)indentensure_asciirA   )r   r+   get_mcp_serverre   r   jsondumpsstr)r.   r\   datas      r%   r-   _McpInfo.executeK   sA    tyy!!!$))"5"56TZZQUCHIr'   r1   Nr2   r5   ra   r1   r'   r%   r   r   C   s    @ @Jr'   r   c                  2    \ rS rSr\SS j5       rSS jrSrg)r   Q   c           	     2   U R                  SSS9nUR                  S5        UR                  SSS SS/S	S
9  UR                  SS[        S SS9  UR                  SSSS SS9  UR                  SSSS SSS9  [        U5        UR	                  [
        [        S9  g )NdeployzDeploy an MCP server.r   re   z--transport-typetransport_typessestreamable_httpzTransport type (default: sse).)r   rA   choicesr   z--expiration-minutesexpiration_minutesz2Expiration time in minutes (-1 for no expiration).)r   rC   rA   r   z--auth-check
auth_check
store_truez=Require a ModelScope token when connecting to the remote URL.)r   actionrA   r   z--envenvappendz	KEY=VALUEz|Environment variable for the MCP server (repeatable). Available keys are listed in the server's env_schema (see `mcp info`).)r   r|   rA   r   r   rF   )r   rG   rH   r   r!   r   r   rI   s     r%   r   _McpDeploy.registerR   s    !!(1H!I	{#	!-.1 	 	
 	
"%E 	 	
 	
P 	 	
 	
U 	 	
 	"!$	
jAr'   c                   [        U R                  5      n0 nU R                  R                  (       a  U R                  R                  US'   U R                  R                  b  U R                  R                  US'   U R                  R                  b  U R                  R                  US'   U R                  R
                  (       a"  [        U R                  R
                  5      US'   UR                  U R                  R                  U=(       d    S S9n[        SU R                  R                   35        [        U5        g )Nru   ry   rz   env_info)payloadz!Deploy requested for MCP server: )r   r+   ru   ry   rz   r}   r	   deploy_mcp_serverre   r   _print_operational_url)r.   r\   r   r]   s       r%   r-   _McpDeploy.executew   s    tyy!99##(,		(@(@G$%99''3,0II,H,HG()99+$(II$8$8GL!99=="0"?GJ&&tyy':':GOt&T3DII4G4G3HIJv&r'   r1   Nr2   r5   ra   r1   r'   r%   r   r   Q   s    "B "BH'r'   r   c                b   [        U [        5      (       d  gU R                  S5      nU(       d  g[        SU 35        U R                  S5      (       a  [        SU S    35        U R                  S5      (       a  [        SU S    35        U R                  S5      b  [        S	U S    35        gg)
z?Surface the deployed endpoint (McpOperationalUrl) when present.Nurlz  url: ru   z  transport: 
expirationz  expires: auth_requiredz  auth required: )
isinstancedictrZ   r   )r]   r   s     r%   r   r      s    fd##
**U
C73%zz"##}V$45678zz,{6,/012zz/". !8 9:; /r'   c                  2    \ rS rSr\SS j5       rSS jrSrg)r       c                    U R                  SSS9nUR                  S5        [        U5        UR                  [        [
        S9  g )NundeployzUndeploy an MCP server.r   re   rF   )r   rG   r   r!   r   r    rI   s     r%   r   _McpUndeploy.register   s<    !!*3L!M	{#!!$	
lCr'   c                    [        U R                  5      nUR                  U R                  R                  5        [	        SU R                  R                   35        g )Nz#Undeploy requested for MCP server: )r   r+   undeploy_mcp_serverre   r   )r.   r\   s     r%   r-   _McpUndeploy.execute   sC    tyy!		 3 345dii6I6I5JKLr'   r1   Nr2   r5   ra   r1   r'   r%   r    r       s    D DMr'   r    )r]   objectr3   r4   )r:   
__future__r   rl   baser   r   r   r   r	   r
   r   compatr   r   r   r   r   r   r    r1   r'   r%   <module>r      sc    G "  _ _ _ -" ".Jz JBJz J3' 3'l< M: Mr'   