Skip to main content
Glama
NawafSheikh

portfolio-mcp

by NawafSheikh

portfolio-mcp

Ein MCP-Server, der ein Verzeichnis voller Projekte liest und dir sagt, was darin ist: Womit jedes einzelne gebaut wurde, ob es in Git liegt, wo es bereitgestellt ist, was veraltet ist und welche am nächsten daran sind, Geld zu verdienen.

Er ist schreibgeschützt. Er schreibt, verschiebt oder löscht nie etwas, das er scannt.

Installation

npx portfolio-mcp --root /path/to/your/projects

Registriere ihn mit Claude Code:

claude mcp add --scope user portfolio \
  -e PORTFOLIO_ROOT=/path/to/your/projects \
  -- npx -y portfolio-mcp

Oder in einem beliebigen Client, der mcpServers liest:

{
  "mcpServers": {
    "portfolio": {
      "command": "npx",
      "args": ["-y", "portfolio-mcp"],
      "env": { "PORTFOLIO_ROOT": "/path/to/your/projects" }
    }
  }
}

Related MCP server: codescan-mcp

Konfiguration

Nichts ist fest verdrahtet. Das Scan-Stammverzeichnis wird in dieser Reihenfolge aufgelöst:

  1. --root <pfad> (oder --root=<pfad>) in der Befehlszeile

  2. die Umgebungsvariable PORTFOLIO_ROOT

  3. das Arbeitsverzeichnis des Prozesses

Variable

Standard

Zweck

PORTFOLIO_ROOT

Arbeitsverzeichnis

Verzeichnis, das die zu scannenden Projekte enthält

PORTFOLIO_VPS_HOST

nicht gesetzt

Hostname oder Adresse, die ein selbst gehostetes Deployment kennzeichnet. Solange nicht gesetzt, wird niemals eine vps-Plattform gemeldet

PORTFOLIO_OFFLINE

nicht gesetzt

Auf 1 setzen, um das eine Werkzeug zu verweigern, das Paketregister erreicht

_archive, _backups, node_modules, .git und Verzeichnisse mit führendem Punkt werden übersprungen.

Werkzeuge

Inventar

Tool

Was es tut

list_projects

Jedes Projekt, filterbar nach Stack, Bereitstellungsstatus, Plattform oder GitHub-Präsenz

get_project

Ein Projekt im Detail: Stack, Abhängigkeiten, Git, Bereitstellung, Bereitschaft, Zeilenzahl

search_projects

Übereinstimmung bei Name, Beschreibung, Framework, Abhängigkeit oder Kategorie

Bereitstellung

Tool

Was es tut

deployment_map

Alles gruppiert nach Plattform: Vercel, Netlify, Railway, Docker, selbst gehostet, nur lokal

check_health

Welche Bereitstellungskonfiguration ein Projekt mit sich bringt, plus seinen Git-Status

git_overview

Nicht übertragene Änderungen, fehlende Remotes, Repos, die älter als 90 Tage sind, Verzeichnisse ohne Git

Einnahmen

Tool

Was es tut

revenue_scan

Bewertet ein Projekt von 1 bis 10 nach Authentifizierung, Zahlungen, Landingpage, Bereitstellung, API, README

find_opportunities

Reiht jedes Projekt ein und trennt die schnellen Erfolge ab

suggest_actions

Konkrete nächste Schritte für ein Projekt, in Prioritätsreihenfolge

learn_patterns

Aggregierte Sicht: bevorzugte Frameworks, wiederkehrende Stacks, Stärken

Wartung

Tool

Was es tut

outdated_deps

npm outdated, npm audit und pip list --outdated für ein Projekt

stale_projects

Projekte sortiert nach Tagen seit dem letzten Commit

Was es berührt

Um das klarzustellen, weil der Server ein Verzeichnis liert, das dir wichtig ist:

  • Nur lesen. Kein Werkzeug schreibt, verschiebt, benennt um oder löscht eine Datei.

  • Pfadeingrenzung. Ein Projektname ist ein Verzeichniseintrag. Trennzeichen, .., absolute Pfade, Laufwerksbuchstaben, Nullbytes und Windows-Gerätenamen werden abgelehnt, und der aufgelöste Pfad wird anschließend daraufhin überprüft, dass er sich innerhalb des konfigurierten Stammverzeichnisses befindet. Es gibt keine Möglichkeit, ein Nachbarverzeichnis lesen zu lassen.

  • Keine Shell. Jeder Unterprozess läuft über execFileSync mit einem Argumentarray. Verzeichnisnamen werden niemals in eine Befehlszeichenfolge eingefügt.

  • Unterprozesse. git für den Repository-Status und npm / pip nur innerhalb von outdated_deps.

  • Netzwerk. Nur outdated_deps erreicht die npm- und PyPI-Registrieren, denn das tun npm outdated, npm audit und pip list --outdated. Setze PORTFOLIO_OFFLINE=1 und es verweigert stattdessen. Jedes andere Werkzeug ist lokal.

  • Keine Anmeldeinformationen. Der Server liest keine Tokens und sendet nichts irgendwohin.

Bewertung

revenue_scan und find_opportunities erzeugen eine Bewertung von 1 bis 10 aus Signalen, die leicht zu erkennen sind: Bereitstellungskonfiguration, eine Authentifizierungsbibliothek, eine Zahlungsbibliothek, ein Einstiegspunkt für eine Landingpage, eine README, ein Git-Remote, ein API-Framework und dann ein Kategoriemultiplikator. Es ist eine Triage-Heuristik zum Sortieren eines großen Verzeichnisses, keine Bewertung. Behandle die Einstufung als „Schau dir diese zuerst an“, nicht als eine Zahl, die für sich genommen etwas bedeutet.

Entwicklung

npm ci
npm run build
npm test          # builds, then runs node --test
npm pack --dry-run

Lizenz

MIT. Siehe 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