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: mcp-me
Что он предоставляет
Шесть инструментов:
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 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