Skip to main content
Glama
NawafSheikh

portfolio-mcp

by NawafSheikh

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

Конфигурация

Ничего не захардкожено. Корень сканирования определяется в таком порядке:

  1. --root <путь> (или --root=<путь>) в командной строке

  2. переменная окружения PORTFOLIO_ROOT

  3. рабочая директория процесса

Переменная

Значение по умолчанию

Назначение

PORTFOLIO_ROOT

рабочая директория

Каталог с проектами для сканирования

PORTFOLIO_VPS_HOST

не задано

Имя хоста или адрес, который помечает самостоятельное развёртывание. Пока не задано, платформа vps не сообщается никогда

PORTFOLIO_OFFLINE

не задано

Установите в 1, чтобы запретить единственный инструмент, который обращается к реестрам пакетов

_archive, _backups, node_modules, .git и каталоги с точкой в начале пропускаются.

Инструменты

Инвентаризация

Инструмент

Что делает

list_projects

Каждый проект, с фильтрами по стеку, статусу развёртывания, платформе или наличию GitHub

get_project

Один проект подробно: стек, зависимости, git, развёртывание, готовность, количество строк

search_projects

Поиск по имени, описанию, фреймворку, зависимости или категории

Развёртывание

Инструмент

Что делает

deployment_map

Всё, сгруппированное по платформе: Vercel, Netlify, Railway, Docker, самостоятельное, только локально

check_health

Какую конфигурацию развёртывания несёт один проект, плюс его состояние в git

git_overview

Незакоммиченная работа, отсутствующие удалённые репозитории, репозитории, устаревшие более 90 дней, каталоги вообще без git

Доход

Инструмент

Что делает

revenue_scan

Оценивает один проект от 1 до 10 по авторизации, платежам, лендингу, развёртыванию, API, README

find_opportunities

Ранжирует каждый проект и отделяет быстрые победы

suggest_actions

Конкретные следующие шаги для одного проекта в порядке приоритета

learn_patterns

Обобщённый взгляд: предпочитаемые фреймворки, повторяющиеся стеки, сильные стороны

Обслуживание

Инструмент

Что делает

outdated_deps

npm outdated, npm audit и pip list --outdated для одного проекта

stale_projects

Проекты, отсортированные по количеству дней с последнего коммита

Что он трогает

Будем честными, потому что сервер читает каталог, который вам дорог:

  • Только чтение. Ни один инструмент не пишет, не перемещает, не переименовывает и не удаляет файлы.

  • Ограничение пути. Имя проекта — это одна запись каталога. Разделители, .., абсолютные пути, буквы дисков, нулевые байты и имена устройств 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.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/NawafSheikh/portfolio-mcp'

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