Portfolio MCP
Portfolio MCP
Aiman Tariq의 실제 CV와 포트폴리오 콘텐츠를 AI 어시스턴트가 직접 조회할 수 있는 도구와 리소스로 노출하는 MCP(Model Context Protocol) 서버입니다. 이력서 PDF의 텍스트 추출이 만들어내는 결과에 의존하는 대신, 그녀의 데이터에서 근거 있는 답을 바로 얻을 수 있습니다.
이 서버를 Claude Desktop, Claude Code, 또는 Cursor에 추가하고 "Aiman에게 RAG 경험이 있나요?" 또는 "그녀는 아우디 캠프에서 무엇을 만들었나요?"라고 물어보세요. 어시스턴트가 도구를 호출해 그녀의 데이터에서 직접 근거 있는 답변을 얻고 인용할 수 있습니다.
이 프로젝트를 만든 이유
MCP는 나온 지 1년이 채 안 된 기술이며, 2026년에 GitHub 프로필을 훑어보는 기술에 종사하는 사람에게도 여전히 최신이고 날카로운 도구 지식으로 읽힙니다. "포트폴리오를 MCP 서버로" 만든 오픈소스 프로젝트는 이미 몇 개 존재합니다 (sohumsuthar/portfolio-mcp, Mrinank-Bhowmick/MCV). 이 프로젝트도 같은 패턴을 따르지만, 그들의 코드를 재사용하는 대신 Aiman의 데이터를 바탕으로 처음부터 작성했으며, 빠르고 작고 실질적으로 유용한 빌드입니다. 채용 담당자의 AI 어시스턴트가 이력서 파서를 신뢰하는 대신 이 서버를 직접 조회할 수 있기 때문입니다.
Related MCP server: mcp-me
제공하는 것
도구 6개:
get_about()- 개요, 현재 역할, 교육 이력get_experience(role="")- 업무 경험, 필요하면 특정 역할로 필터링get_projects(name="")- 프로젝트 소개, 필요하면 특정 프로젝트로 필터링get_skills(category="")- 보유 스킬, 필요하면 특정 카테고리로 필터링get_contact()- 이메일, 포트폴리오 사이트, LinkedIn, GitHub, 위치search_portfolio(query)- 호출자가 특정 도구를 어디에 적용해야 할지 모를 때 사용하는 전체 자유 검색
리소스 5개는 원본 마크다운 파일이며 URI(portfolio://about, portfolio://experience, portfolio://projects, portfolio://skills, portfolio://contact)로 지정할 수 있습니다. 도구를 하나씩 호출하는 대신 지식 베이스 전체를 컨텍스트로 미리 로드하려는 클라이언트를 위한 방식입니다.
도구만이 아니라 두 방식 모두 의도적으로 포함했습니다. MCP는 도구(모델이 호출하는 액션)와 리소스(수동적이고 URI 주소 방식의 데이터)를 실제로 구분하며, 이 서버는 대부분의 튜토리얼이 보여 주는 한 가지만이 아니라 두 가지를 모두 시연합니다.
설계 결정
도구는 필터링된 텍스트를 반환하지, 구조화된 JSON을 반환하지 않습니다. get_experience("PookiDevs")는 필드 이름을 가진 파싱된 객체가 아니라, 일치하는 통해 크다. 이렇게 작은 지식 베이스(파일 몇 개, 사람 한 명)에서는 모델이 구조가 잘 갖춰진 markdown 섹션을 읽는 것이 JSON 스키마를 자체적인 것보다 최소한 쓰임새가 동일하며, data/experience.md 파일에 새 경력 항목을 추가해도 server.py 파일을 전혀 건드리지 않아도 된다는 뜻이 있습니다.
검색은 문장과 겹침이지 임베딩이 아닙니다. search_portfolio는 다른 섹션에 포함된 쿼리 키워드를 수はない고 세는 방식으로 동작합니다. 이 서버는 mcp 패키지 이외에 다른 의존성이 전혀 없습니다. ChromaDB, scikit-learn 불타고, 다운로드가 필요한 모델 전부도 없기 때문에 설치가 매우 빠른 수밖에 없고, 문제의 규모 (대규모 문집이 아니라 수십 개의 짧은 섹션) 규모CM에도 알맞습니다. 비주얼이 아닌 더 스마트한 검색이 필요하다면, search_portfolio는 ask-my-portfolio의 app/rag.py호출로 맞아들일 수 있게 작은 함수 하나로 바꿔쓸 수 있는 것입니다.
데이터 파일은 ask-my-portfolio/data/를 미러링 일체형입니다. 두 프로젝트 모두 같은 사람을 소개하므로 이 저장소의 data/about.md, data/experience.md, data/projects.md, data/skills.md는 ask-my-portfolio 저장소의 파일을 복사본(이 서버에만 필요한 contact.md는 제외)입니다. 둘 중 하나를 업데이트할 때는 직접 동기화하거나, 두 저장소를 나란히 체크아웃할 수 있다면 data/ 심火 링크로 연결하면 됩니다.
테스트
python test_server.py는 create_connected_server_and_client_session을 통해 서버를 구동합니다. 실제 MCP 프로토콜을 인메모리 스트림 통해서 사용하는 클라이언트와 동일한 방식(list_tools, call_tool, list_resources, read_resource)이며, 파이썬 함수를 직접 호출하는 것을 요구하지 않습니다. 모든 6개 도구, 모든 5개 리소스, 그리고 필터 관련 경계 케이스까지 검증되었고, 현재 실행에서 총 16개 검사를 준비만으로 통과합니다. 모든 것이 로컬 markdown으로 이루어져 있어 별도 설정, API 키, 네트워크 통신 등이 필요하지 않은 것입니다.
프로젝트 구조
server.py FastMCP server: tools, resources, search
test_server.py protocol-level integration test
data/
about.md, experience.md, projects.md, skills.md, contact.md
requirements.txt, .gitignore실행하기
Claude Desktop 또는 Claude Code에 연결하는 방법은 SETUP.md 참고하세요. 요약하면:
pip install -r requirements.txt
python test_server.py # prove it works, no client needed
python server.py # starts the stdio MCP serverThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes a personalized AI agent that reads your resume and provides intelligent responses about your professional background through a standardized MCP server interface with RAG capabilities.MIT
- AlicenseNot gradedqualityCmaintenanceTransforms professional data (CV, projects) into MCP tools for LLMs to query, list, match job descriptions, and ask about experience.77MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to query the author's career, projects, publications, and technical documents through read-only MCP tools.
- AlicenseNot gradedqualityCmaintenanceEnables retrieval-augmented generation over a local markdown corpus, allowing grounded, cited answers via an MCP tool or CLI.9MIT
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
MCP-native collaborative markdown editor with real-time AI document editing
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/aim-t/portfolio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server