portfolio-mcp
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/projectsRegístralo con Claude Code:
claude mcp add --scope user portfolio \
-e PORTFOLIO_ROOT=/path/to/your/projects \
-- npx -y portfolio-mcpO 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:
--root <path>(o--root=<path>) en la línea de comandosla variable de entorno
PORTFOLIO_ROOTel directorio de trabajo del proceso
Variable | Valor por defecto | Finalidad |
| directorio de trabajo | Directorio que contiene los proyectos a escanear |
| sin definir | Nombre de host o dirección que marca un despliegue autoalojado. Mientras no esté definido, nunca se informa de una plataforma |
| sin definir | Defínela a |
Se omiten _archive, _backups, node_modules, .git y los directorios que empiezan por punto.
Herramientas
Inventario
Tool | Qué hace |
| Todos los proyectos, filtrables por stack, estado de despliegue, plataforma o presencia en GitHub |
| Un proyecto en profundidad: stack, dependencias, git, despliegue, preparación y recuento de líneas |
| Coincidencias por nombre, descripción, framework, dependencia o categoría |
Despliegue
Tool | Qué hace |
| Todo agrupado por plataforma: Vercel, Netlify, Railway, Docker, autoalojado, solo local |
| Qué configuración de despliegue lleva un proyecto y su estado de git |
| Trabajo sin confirmar, remotemplates ausentes, repositorios obsoletos desde hace más de 90 días, directorios sin git |
Ingresos
Tool | Qué hace |
| Puntúa un proyecto del 1 al 10 en autenticación, pagos, landing page, despliegue, API y README |
| Clasifica todos los proyectos y separa las victorias rápidas |
| Próximos pasos concretos para un proyecto, en orden de prioridad |
| Vista agregada: frameworks preferidos, stacks recurrentes y fortalezas |
Mantenimiento
Tool | Qué hace |
|
|
| 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
execFileSyncy un array de argumentos. Los nombres de directorio nunca se concatenan como cadena de comandos.Subprocesos.
gitpara el estado del repositorio, ynpm/pipsolo dentro deoutdated_deps.Red. Únicamente
outdated_depsalcanza los registros npm y PyPI, porque eso es lo que hacennpm outdated,npm auditypip list --outdated. Si ponesPORTFOLIO_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-runLicencia
MIT. Consulta 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