analyze-codebase-for-mcp
À propos
Cette compétence analyse les bases de code existantes pour identifier les fonctionnalités pouvant être exposées en tant qu'outils MCP pour Claude. Elle évalue les API, fonctions et services afin de déterminer les candidats à l'intégration et aide à concevoir les schémas et les modèles d'accès. Utilisez-la lors de la planification de la connexion d'une base de code existante avec Claude via MCP, ou pour décider quelles fonctionnalités exposer.
Installation rapide
Claude Code
Recommandénpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/analyze-codebase-for-mcpCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
name: analyze-codebase-for-mcp locale: es source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16 description: > Analizar un repositorio de código existente para identificar funcionalidad que puede exponerse como herramientas MCP. Evaluar APIs, funciones, y servicios para determinar candidatos de integración MCP, incluyendo diseño de esquemas y patrones de acceso. Usar cuando se quiera conectar una base de código existente con Claude vía MCP, cuando se necesite identificar qué funcionalidad exponer, o cuando se planifique una estrategia de integración MCP. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: mcp-integration complexity: intermediate language: multi tags: mcp, analysis, codebase, tools, integration
Analizar Base de Código para MCP
Analizar un repositorio existente para identificar funcionalidad exponer como herramientas MCP.
Cuándo Usar
- Planificando integración MCP para una base de código existente
- Identificando qué funciones o APIs exponer como herramientas MCP
- Evaluando la viabilidad de integración MCP
- Diseñando la estrategia de herramientas MCP para un proyecto
- Priorizando funcionalidad para exposición vía MCP
Entradas
- Requerido: Repositorio de código a analizar
- Requerido: Lenguaje(s) de programación del proyecto
- Opcional: Documentación existente de la API
- Opcional: Casos de uso previstos para la integración MCP
- Opcional: Restricciones de seguridad o acceso
Procedimiento
Paso 1: Catalogar la Funcionalidad del Proyecto
Escanear el repositorio para identificar funciones, APIs, y servicios exportados.
# Encontrar funciones exportadas (JavaScript/TypeScript)
grep -rn "export function\|export const\|export class" src/ --include="*.ts" --include="*.js"
# Encontrar funciones públicas (Python)
grep -rn "^def \|^class " src/ --include="*.py" | grep -v "^.*:.*_"
# Encontrar funciones exportadas (R)
grep -rn "#' @export" R/ --include="*.R"
# Encontrar endpoints de API
grep -rn "app\.get\|app\.post\|app\.put\|app\.delete\|@app\.route" --include="*.py" --include="*.ts" --include="*.js"
Esperado: Lista de funciones, clases, y endpoints candidatos para exposición MCP.
En caso de fallo: Revisar la documentación del proyecto, examinar los archivos de entrada principales (main, index, app).
Paso 2: Clasificar Candidatos por Tipo MCP
Categorizar la funcionalidad identificada:
| Tipo MCP | Candidatos |
|---|---|
| Herramientas | Funciones que realizan acciones (CRUD, cálculos, transformaciones) |
| Recursos | Datos que se pueden leer (configuración, estado, catálogos) |
| Prompts | Plantillas de interacción reutilizables |
Criterios de selección:
- Incluir: Funciones bien definidas con entradas/salidas claras
- Incluir: Operaciones que se benefician del contexto de lenguaje natural
- Excluir: Funciones internas de infraestructura
- Excluir: Operaciones que requieren interacción visual
- Excluir: Funciones con efectos secundarios peligrosos sin confirmación
Esperado: Funcionalidad clasificada en herramientas, recursos, y prompts con justificación.
En caso de fallo: Comenzar con las funciones más simples y de menor riesgo, agregar más iterativamente.
Paso 3: Diseñar Esquemas de Herramientas
Para cada herramienta candidata, diseñar el esquema de entrada/salida:
// Ejemplo: convertir una función existente
// Original: function buscarProductos(query: string, categoria?: string, limite?: number)
// Esquema MCP:
{
name: "buscar-productos",
description: "Buscar productos en el catálogo por nombre o categoría",
inputSchema: {
query: z.string().describe("Término de búsqueda"),
categoria: z.string().optional().describe("Filtrar por categoría"),
limite: z.number().optional().default(10).describe("Resultados máximos"),
}
}
Esperado: Esquemas diseñados con descripciones claras, validación de tipos, y valores predeterminados.
En caso de fallo: Simplificar esquemas complejos, dividir herramientas grandes en operaciones más pequeñas.
Paso 4: Evaluar Consideraciones de Seguridad
Revisar cada herramienta candidata por riesgos de seguridad:
- ¿La herramienta modifica datos? -> Requiere confirmación
- ¿Accede a datos sensibles? -> Requiere autorización
- ¿Ejecuta código arbitrario? -> Requiere sandboxing
- ¿Tiene efectos secundarios irreversibles? -> Requiere protección
Esperado: Cada herramienta evaluada con controles de seguridad apropiados identificados.
En caso de fallo: Errar del lado de la precaución. Comenzar con herramientas de solo lectura.
Validación
- Todas las funciones principales del proyecto identificadas y catalogadas
- Candidatos clasificados como herramientas, recursos, o prompts
- Esquemas de entrada/salida diseñados con descripciones claras
- Consideraciones de seguridad evaluadas para cada candidato
- Priorización basada en valor y riesgo documentada
- Plan de implementación con fases definido
Errores Comunes
- Exponer demasiada funcionalidad: Comenzar con un conjunto pequeño de herramientas de alto valor.
- Descripciones vagas: Los clientes MCP dependen de las descripciones para decidir cuándo usar herramientas.
- Ignorar seguridad: Las herramientas MCP son accesibles por el modelo. Evaluar riesgos cuidadosamente.
- Esquemas demasiado complejos: Simplificar entradas. El modelo trabaja mejor con parámetros simples.
- No considerar idempotencia: Las herramientas pueden ser invocadas múltiples veces. Diseñar para idempotencia cuando sea posible.
Habilidades Relacionadas
build-custom-mcp-server- Implementar el servidor MCP después del análisisscaffold-mcp-server- Generar estructura del proyecto MCPconfigure-mcp-server- Configurar el servidor resultantereview-software-architecture- Revisión de arquitectura complementaria
Dépôt GitHub
Compétences associées
executing-plans
DesignUtilisez la compétence executing-plans lorsque vous disposez d'un plan de mise en œuvre complet à exécuter par lots contrôlés avec des points de contrôle de revue. Elle charge et examine le plan de manière critique, puis exécute les tâches par petits lots (3 tâches par défaut) tout en rapportant la progression entre chaque lot pour une revue par l'architecte. Cela garantit une mise en œuvre systématique avec des points de contrôle de qualité intégrés.
requesting-code-review
DesignCette compétence délègue un sous-agent réviseur de code pour analyser les modifications apportées au code par rapport aux exigences avant de poursuivre. Elle doit être utilisée après avoir terminé des tâches, implémenté des fonctionnalités majeures, ou avant une fusion vers la branche principale. La revue aide à détecter précocement les problèmes en comparant l'implémentation actuelle avec le plan initial.
connect-mcp-server
DesignCette compétence fournit un guide complet permettant aux développeurs de connecter des serveurs MCP à Claude Code via les transports HTTP, stdio ou SSE. Elle couvre l'installation, la configuration, l'authentification et la sécurité pour intégrer des services externes tels que GitHub, Notion et des API personnalisées. Utilisez-la lors de la configuration d'intégrations MCP, de la configuration d'outils externes ou du travail avec le Protocole de Contexte de Modèle de Claude.
web-cli-teleport
DesignCette compétence aide les développeurs à choisir entre les interfaces Web et CLI de Claude Code en fonction de l'analyse des tâches, puis permet une téléportation transparente des sessions entre ces environnements. Elle optimise le flux de travail en gérant l'état et le contexte de la session lors du passage entre le web, la CLI ou le mobile. Utilisez-la pour des projets complexes nécessitant différents outils à diverses étapes.
