Portfolio MCP
Portfolio MCP
MCP-сервер (Model Context Protocol), который предоставляет настоящее резюме и данные портфолио Айман Тарик в виде инструментов и ресурсов, к которым AI-ассистент может обращаться напрямую, — а не полагаясь на то, что какое-то извлечение текста из PDF-версии резюме случайно выдаст.
Добавьте этот сервер в Claude Desktop, Claude Code или Cursor и спросите «есть ли у Айман опыт с RAG?» или «что она сделала в лагере Audi?» — ассистент вызовет инструмент, получит точный ответ прямо из её данных и сможет процитировать его.
Зачем этот проект
MCP появился едва ли год назад, и для любого технического специалиста, просматривающего GitHub-профиль в 2026 году, он до сих пор выглядит как актуальное, острое знание инструментов. Уже существует несколько open-source-проектов в духе «портфолио как MCP-сервер» (sohamsuthar/portfolio-mcp, Mrinank-Bhowmick/MCV) — этот следует той же схеме, но написан с нуля под данные самой Айман, а не переиспользует их код, и представляет собой быстрый, компактный и по-настоящему полезный проект: собственный AI-ассистент рекрутера может обращаться к нему напрямую, а не доверять парсеру резюме.
Related MCP server: kazejev-personal
Что он предоставляет
Шесть инструментов:
get_about()— краткая информация, текущая должность, образование;get_experience(role="")— опыт работы, при необходимости отфильтрованный по должности;get_projects(name="")— описания проектов, при необходимости отфильтрованные по одному проекту;get_skills(category="")— навыки, при необходимости отфильтрованные по одной категории;get_contact()— email, сайт-портфолио, LinkedIn, GitHub, местоположение;search_portfolio(query)— свободный поиск по всем разделам, когда вызывающая сторона не знает, какой именно инструмент нужен.
Пять ресурсов, которые представляют собой исходные markdown-файлы, доступные по URI (portfolio://about, portfolio://experience, portfolio://projects, portfolio://skills, portfolio://contact) — для клиента, который хочет предзагрузить всю базу знаний в контекст, а не вызывать инструменты по одному.
То и другое включено намеренно, а не только инструменты: MCP-спецификация действительно различает инструменты (действия, инициируемые моделью) и ресурсы (пассивные данные, адресуемые по URI), и этот сервер демонстрирует оба подхода, а не только тот, что показывают в большинстве туториалов.
Решения
Инструменты возвращают отфильтрованный текст, а не структурированный JSON. get_experience("PookiDevs") возвращает подходящую markdown-секцию в виде строки, а не разобранный объект с именованными полями. Для такой маленькой базы знаний (несколько файлов, один человек) изучение хорошо оформленной markdown-секции модели не менее полезно, чем разбор JSON-схемы, и это означает, что добавление новой записи об опыте в data/experience.md никогда не потребует править server.py.
Поиск работает на пересечении слов, а не на эмбеддингах. search_portfolio подсчитывает вхождения ключевых слов запроса по каждой секции, а не использует векторный индекс. У этого сервера нет других зависимостей, кроме самого пакета mcp — никаких ChromaDB, scikit-learn и моделей для скачивания, — что делает установку действительно быстрой и соответствует масштабу задачи (пара десятков коротких разделов, а не большой корпус). Если вам вместо этого нужен более «умный» поиск из соседнего проекта, search_portfolio — это небольшая функция, которую можно заменить на вызов app/rag.py внутри ask-meta-портфолио.
Файлы данных соответствуют содержимому ask-my-portfolio/data/. Оба проекта описывают одного и того же человека, поэтому data/about.md, experience.md, projects.md и 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 проверок без какой-либо настройки, без API-ключей и без сетевых запросов — всё это локальный markdown.
Структура проекта
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 deployed
Maintenance
Related MCP Connectors
CareerProof MCP gives AI agents direct access to a professional-grade career and workforce intelligence platform. Two namespaces: atlas_* for HR/TA teams (candidate evaluation, batch shortlisting, competency scoring, interview generation, JD analysis, custom eval frameworks, research reports) and ceevee_* for professionals (CV optimization, career positioning, salary intelligence, market reports). Backed by RAG knowledge from 50+ premium research sources (McKinsey, BCG, HBR, Gartner, WEF)
Query InterviewFlowAI candidate and interview data from MCP-compatible AI assistants.
Build, version and render resumes as PDFs from Claude or any MCP client.
- docs2mcpOAuthcom.docs2mcp
Query your own PDFs and documents from any MCP client. Every answer cites the page it came from.
Related MCP Servers
- AlicenseAqualityBmaintenanceExposes a personal portfolio of projects, skills, and resume as callable tools for MCP-compatible AI assistants like Claude Desktop.4MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to retrieve a personal biography, skills, projects, and contact links through a read-only MCP server.-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to discover and retrieve professional portfolio information including profile, experience, skills, projects, and contact details through MCP tools.-
- FlicenseAqualityBmaintenanceEnables MCP-compatible agents to answer questions about you by exposing your CV through a tool, resource, and prompt.1-