Skip to main content
Glama
NawafSheikh

portfolio-mcp

by NawafSheikh

portfolio-mcp

Un servidor MCP que lee un directorio lleno de proyectos y te dice qué hay en él: con qué está construido cada uno, si está en git, dónde está desplegado, qué se ha quedado obsoleto y cuáles están más cerca de generar dinero.

Es de solo lectura. Nunca escribe, mueve ni elimina nada de lo que escanea.

Instalación

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

Regístralo con Claude Code:

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

O en cualquier cliente que lea mcpServers:

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

Related MCP server: codescan-mcp

Configuración

Nada está fijo en el código. La raíz de escaneo se resuelve en este orden:

  1. --root <path> (o --root=<path>) en la línea de comandos

  2. la variable de entorno PORTFOLIO_ROOT

  3. el directorio de trabajo del proceso

Variable

Valor por defecto

Finalidad

PORTFOLIO_ROOT

directorio de trabajo

Directorio que contiene los proyectos a escanear

PORTFOLIO_VPS_HOST

sin definir

Nombre de host o dirección que marca un despliegue autoalojado. Mientras no esté definido, nunca se informa de una plataforma vps

PORTFOLIO_OFFLINE

sin definir

Defínela a 1 para rechazar la única herramienta que alcanza los registros de paquetes

Se omiten _archive, _backups, node_modules, .git y los directorios que empiezan por punto.

Herramientas

Inventario

Tool

Qué hace

list_projects

Todos los proyectos, filtrables por stack, estado de despliegue, plataforma o presencia en GitHub

get_project

Un proyecto en profundidad: stack, dependencias, git, despliegue, preparación y recuento de líneas

search_projects

Coincidencias por nombre, descripción, framework, dependencia o categoría

Despliegue

Tool

Qué hace

deployment_map

Todo agrupado por plataforma: Vercel, Netlify, Railway, Docker, autoalojado, solo local

check_health

Qué configuración de despliegue lleva un proyecto y su estado de git

git_overview

Trabajo sin confirmar, remotemplates ausentes, repositorios obsoletos desde hace más de 90 días, directorios sin git

Ingresos

Tool

Qué hace

revenue_scan

Puntúa un proyecto del 1 al 10 en autenticación, pagos, landing page, despliegue, API y README

find_opportunities

Clasifica todos los proyectos y separa las victorias rápidas

suggest_actions

Próximos pasos concretos para un proyecto, en orden de prioridad

learn_patterns

Vista agregada: frameworks preferidos, stacks recurrentes y fortalezas

Mantenimiento

Tool

Qué hace

outdated_deps

npm outdated, npm audit y pip list --outdated para un proyecto

stale_projects

Proyectos ordenados por los días transcurridos desde el último commit

Qué toca

Siendo transparentes, porque el servidor lee un directorio que te importa:

  • Solo lectura. Ninguna herramienta escribe, mueve, renombra ni elimina un archivo.

  • Contención de rutas. El nombre de un proyecto es una entrada de directorio. Se rechazan separadores, .., rutas absolutas, letras de unidad, bytes nulos y nombres de dispositivo de Windows; además, se comprueba que la ruta resuelta esté dentro de la raíz configurada. No hay manera de conseguir que lea un directorio hermano.

  • Sin shell. Todos los subprocesos funcionan con execFileSync y un array de argumentos. Los nombres de directorio nunca se concatenan como cadena de comandos.

  • Subprocesos. git para el estado del repositorio, y npm / pip solo dentro de outdated_deps.

  • Red. Únicamente outdated_deps alcanza los registros npm y PyPI, porque eso es lo que hacen npm outdated, npm audit y pip list --outdated. Si pones PORTFOLIO_OFFLINE=1, se rechaza; todo lo demás es local.

  • Sin credenciales. El servidor no lee tokens y no envía nada a ningún sitio.

Puntuación

revenue_scan y find_opportunities producen una puntuación del 1 al 10 a partir de señales fáciles de detectar: configuración de despliegue, una librería de autenticación, una librería de pagos, una landing page, un README, un control remoto git, un framework de API y un multiplicador de categoría. Es una heurística de triaje para ordenar un directorio grande, no una valoración. Trata la clasificación como «mira estos primero», no como un número que signifique algo por lo mismo.

Desarrollo

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

Licencia

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