portfolio-mcp
portfolio-mcp
MCP-сервер, который читает каталог с проектами и рассказывает, что в нём находится: на чём собран каждый проект, есть ли он в git, где развёрнут, что устарело и какие проекты ближе всего к тому, чтобы приносить деньги.
Он только читает. Он никогда не записывает, не перемещает и не удаляет ничего из того, что сканирует.
Установка
npx portfolio-mcp --root /path/to/your/projectsЗарегистрируйте его в Claude Code:
claude mcp add --scope user portfolio \
-e PORTFOLIO_ROOT=/path/to/your/projects \
-- npx -y portfolio-mcpИли в любом клиенте, который читает mcpServers:
{
"mcpServers": {
"portfolio": {
"command": "npx",
"args": ["-y", "portfolio-mcp"],
"env": { "PORTFOLIO_ROOT": "/path/to/your/projects" }
}
}
}Related MCP server: codescan-mcp
Конфигурация
Ничего не захардкожено. Корень сканирования определяется в таком порядке:
--root <путь>(или--root=<путь>) в командной строкепеременная окружения
PORTFOLIO_ROOTрабочая директория процесса
Переменная | Значение по умолчанию | Назначение |
| рабочая директория | Каталог с проектами для сканирования |
| не задано | Имя хоста или адрес, который помечает самостоятельное развёртывание. Пока не задано, платформа |
| не задано | Установите в |
_archive, _backups, node_modules, .git и каталоги с точкой в начале пропускаются.
Инструменты
Инвентаризация
Инструмент | Что делает |
| Каждый проект, с фильтрами по стеку, статусу развёртывания, платформе или наличию GitHub |
| Один проект подробно: стек, зависимости, git, развёртывание, готовность, количество строк |
| Поиск по имени, описанию, фреймворку, зависимости или категории |
Развёртывание
Инструмент | Что делает |
| Всё, сгруппированное по платформе: Vercel, Netlify, Railway, Docker, самостоятельное, только локально |
| Какую конфигурацию развёртывания несёт один проект, плюс его состояние в git |
| Незакоммиченная работа, отсутствующие удалённые репозитории, репозитории, устаревшие более 90 дней, каталоги вообще без git |
Доход
Инструмент | Что делает |
| Оценивает один проект от 1 до 10 по авторизации, платежам, лендингу, развёртыванию, API, README |
| Ранжирует каждый проект и отделяет быстрые победы |
| Конкретные следующие шаги для одного проекта в порядке приоритета |
| Обобщённый взгляд: предпочитаемые фреймворки, повторяющиеся стеки, сильные стороны |
Обслуживание
Инструмент | Что делает |
|
|
| Проекты, отсортированные по количеству дней с последнего коммита |
Что он трогает
Будем честными, потому что сервер читает каталог, который вам дорог:
Только чтение. Ни один инструмент не пишет, не перемещает, не переименовывает и не удаляет файлы.
Ограничение пути. Имя проекта — это одна запись каталога. Разделители,
.., абсолютные пути, буквы дисков, нулевые байты и имена устройств Windows отклоняются, а затем разрешённый путь проверяется на то, что он находится внутри настроенного корня. Невозможно заставить его читать соседний каталог.Без оболочки. Каждый подпроцесс запускается через
execFileSyncс массивом аргументов. Имена каталогов никогда не склеиваются в строку команды.Подпроцессы.
gitдля состояния репозитория, аnpm/pip— только внутриoutdated_deps.Сеть. Только
outdated_depsобращается к реестрам npm и PyPI, потому что именно это делаютnpm outdated,npm auditиpip list --outdated. УстановитеPORTFOLIO_OFFLINE=1, и он откажется это делать. Все остальные инструменты работают локально.Никаких учётных данных. Сервер не читает токены и ничего никуда не отправляет.
Оценка
revenue_scan и find_opportunities выдают оценку от 1 до 10 на основе сигналов, которые легко обнаружить: конфигурация развёртывания, библиотека авторизации, библиотека платежей, точка входа лендинга, README, удалённый git-репозиторий, API-фреймворк, а затем множитель категории. Это эвристика для сортировки большого каталога, а не оценка стоимости. Относитесь к рейтингу как к «смотрите на это в первую очередь», а не как к числу, которое само по себе что-то значит.
Разработка
npm ci
npm run build
npm test # builds, then runs node --test
npm pack --dry-runЛицензия
MIT. См. LICENSE.
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
- FlicenseNot gradedqualityDmaintenanceProvides unified project context and monitoring capabilities including project health metrics, build diagnostics, Git integration, and infrastructure validation to initialize development sessions with comprehensive project information.
- AlicenseNot gradedqualityDmaintenanceScans codebases for TODOs, FIXMEs, code complexity, file stats, and dependencies, generating a health report with a letter grade. Zero configuration required.18MIT
- AlicenseAqualityAmaintenanceScans a repository for maintenance toil (flaky tests, expiring certificates, TODO rot, dead flags, etc.) and returns a prioritized queue with a credit ledger to track who cleared what.71MIT
- AlicenseAqualityAmaintenanceVisual tech-stack inventory of any codebase: languages, frameworks, databases, AI SDKs, infra.2MIT
Related MCP Connectors
Generate SBOMs, scan vulnerabilities, and analyze dependencies from local projects or Git repos.
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Generate AGENTS.md, AP2 compliance docs, checkout rules, debug playbook & MCP configs from any repo.
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/NawafSheikh/portfolio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server