Skip to main content
Glama
sms03

Resume Analysis MCP Server

by sms03
claude_integration.cpython-313.pyc7.3 kB
� �$<h�����SrSSKrSSKJrJrJrJr SSKJrJ r J r SSK J r J r SSKJr \R "\5r"SS\ 5r"S S \ 5r"S S \ 5rS \ 4SjrS\S\\S\4Sjrg)z6 Claude desktop app integration module for resume-mcp �N)�Dict�Any�List�Optional)� APIRouter�FastAPI� HTTPException)� BaseModel�Field)�ClaudeResponseFormatterc�J�\rSrSr%Sr\"SSS9r\\S'\"SSS9r \\S'S r g ) �ClaudeIntegrationMessage� zClaude message model.z2The role of the message sender (user or assistant)�� description�rolezThe content of the message�content�N) �__name__� __module__� __qualname__�__firstlineno__�__doc__r r�str�__annotations__r�__static_attributes__r��9D:\GitHub\resume-mcp\src\resume_mcp\claude_integration.pyrr s)����c�'[�\�D�#�\���*F�G�G�S�Grrc��\rSrSr%Sr\"SSS9r\\\ S'\"SSS9r \ \ \ S '\"SS S9r \ \\ S '\"SS S9r\ \\ \4\ S 'Srg)�ClaudeIntegrationRequest�z Claude integration request model.zThe conversation messagesr�messagesNzThe model to use�modelzMaximum tokens to generate� max_tokens�Additional metadata�metadatar)rrrrrr r"rrrr#rrr$�intr&rrrrrrr r sh��*�/4�S�Fa�/b�H�d�+�,�b� ��3E�F�E�8�C�=�F� %�d�8T� U�J��� �U�).�t�AV�)W�H�h�t�C��H�~�&�Wrr c�r�\rSrSr%Sr\"SSS9r\\S'\"SSS9r \\S '\"S S S9r \ \ \\ 4\S 'S rg )�ClaudeIntegrationResponse�z!Claude integration response model� assistantzThe role of the responserr.zThe response contentrNr%r&r)rrrrrr rrrrr&rrrrrrrr)r)sH��+��k�/I�J�D�#�J���*@�A�G�S�A�).�t�AV�)W�H�h�t�C��H�~�&�Wrr)�appc��[SS/S9nURS5S[S[4Sj5nUR U5 g) z� Set up Claude-specific routes for the FastAPI app This ensures compatibility with the Claude desktop app when using our MCP server z/claudezClaude Integration)�prefix�tags�/�request�returnc��# �Sn[UR5H/nURR5S:XdM#URn O U(d [ S5e[ XR5IShv�N n[USS0S9$N![a9n[RS[U535 [S[U5S 9eSnAff=f7f) z� Handle requests from Claude desktop app This endpoint adds specific compatibility features for Claude's desktop app when connecting to our MCP server. N�userz)No user message found in the conversation�sourcez resume-mcp)rr&z!Error processing Claude request: i�)� status_code�detail) �reversedr"r�lowerr� ValueError�process_claude_messager)� Exception�logger�errorrr )r1�last_user_message�msg�response_content�es r�handle_claude_request�2setup_claude_routes.<locals>.handle_claude_request&s���� @� $� ��� 0� 0�1���8�8�>�>�#�v�-�(+� � �%��2� %� �!L�M�M�&<�<M�O_�O_�%`�`� �-�(�"�L�1�� � a��� @� �L�L�<�S��V�H�E� F��C��A��?� ?�� @�s?�C�6B �:B �8B �9B �C� B � C�4C � C�CN)r�postr r)�include_router)r,� claude_routerrCs r�setup_claude_routesrHsU�� �Y�6J�5K�L�M������@�-E�@�Jc�@��@�>���}�%r�message� conversationr2c���^# �UR5m[U4SjS55(ag[U4SjS55(ag[U4SjS55(ag g 7f) aN Process a message from Claude desktop app This function analyzes the message and determines what operation to perform based on the user's request. Args: message (str): The user's message conversation (List[ClaudeIntegrationMessage]): The full conversation history Returns: str: The response to send back to Claude c3�,># �UH oT;v� M g7f�Nr��.0�kw� message_lowers �r� <genexpr>�)process_claude_message.<locals>.<genexpr>Ys���� c�)b�2�� �)b���)zanalyze resumez parse resumezextract from resumea= I'll help you analyze this resume using the Resume MCP Agent. To proceed, please: 1. Upload the resume file using Claude's file upload feature 2. Once uploaded, ask me to "Analyze this resume" 3. I'll then extract key information like skills, experience, education, etc. Would you like me to analyze a resume now? c3�,># �UH oT;v� M g7frMrrNs �rrRrSds���� ]�+\�R�=� �+\�rT)z match resumezcompare resumez fit for joba� I can help you match this resume to a job description using the Resume MCP Agent. To proceed, please: 1. Upload the resume file using Claude's file upload feature 2. Provide the job description (paste it directly or upload as a file) 3. Ask me to "Match this resume to the job description" 4. I'll evaluate how well the candidate matches the position Would you like me to match a resume to a job description now? c3�,># �UH oT;v� M g7frMrrNs �rrRrSps���� e�+d�R�=� �+d�rT)zrank candidateszcompare resumeszsort applicantsa~ I can help you rank multiple candidates based on their resumes using the Resume MCP Agent. To proceed, please: 1. Upload multiple resume files using Claude's file upload feature 2. Provide the job description 3. Ask me to "Rank these candidates for this position" 4. I'll evaluate and rank the candidates based on job fit Would you like me to rank candidates for a position now? a� I'm the Resume Analysis assistant powered by the Resume MCP Agent. Here's how I can help you: 1. **Analyze Resumes**: Extract skills, experience, education, and other key information 2. **Match to Job Descriptions**: Evaluate how well a candidate matches a job 3. **Rank Candidates**: Compare multiple resumes against a job description To get started, please tell me what you'd like to do, or upload a resume file. )r9�any)rIrJrQs @rr;r;Hsa�����M�M�O�M� � c�)b� c�c�c� � � ]�+\� ]� ]� ]� � � e�+d� e� e� e� ��s�A#A&)r�logging�typingrrrr�fastapirrr �pydanticr r �resume_mcp.claude_formatterr � getLoggerrr=rr r)rHrr;rrr�<module>r^s�����,�,�5�5�%�?� � � �8� $��H�y�H� X�y�X�X� �X� (&�W�(&�T>�#�>�T�BZ�=[�>�`c�>r

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/sms03/resume-mcp'

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