analyze-codebase-for-mcp
О программе
Этот навык анализирует существующие кодовые базы для выявления функциональности, которую можно предоставить в качестве инструментов MCP для Claude. Он оценивает API, функции и сервисы, чтобы определить кандидатов для интеграции, и помогает проектировать схемы и модели доступа. Используйте его при планировании подключения существующей кодовой базы к Claude через MCP или при принятии решения о том, какую функциональность предоставить.
Быстрая установка
Claude Code
Рекомендуется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-mcpСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
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
GitHub репозиторий
Похожие навыки
executing-plans
ДизайнИспользуйте навык executing-plans, когда у вас есть полный план реализации для выполнения контролируемыми партиями с контрольными точками проверки. Он загружает и критически анализирует план, затем выполняет задачи небольшими партиями (по умолчанию 3 задачи), сообщая о прогрессе между каждой партией для проверки архитектором. Это обеспечивает систематическую реализацию со встроенными контрольными точками проверки качества.
requesting-code-review
ДизайнЭтот навык запускает суб-агента для ревью кода, который анализирует изменения в коде на соответствие требованиям перед дальнейшими действиями. Его следует использовать после завершения задач, реализации крупных функций или перед слиянием с основной веткой. Ревью помогает выявить проблемы на ранней стадии, сравнивая текущую реализацию с исходным планом.
connect-mcp-server
ДизайнЭтот навык предоставляет разработчикам подробное руководство по подключению серверов MCP к Claude Code с использованием транспортов HTTP, stdio или SSE. Он охватывает установку, конфигурацию, аутентификацию и безопасность для интеграции внешних сервисов, таких как GitHub, Notion и пользовательские API. Используйте его при настройке интеграций MCP, конфигурации внешних инструментов или работе с Model Context Protocol от Claude.
web-cli-teleport
ДизайнЭтот навык помогает разработчикам выбирать между веб-интерфейсом Claude Code и CLI на основе анализа задачи, а также обеспечивает бесшовное перемещение сессий между этими средами. Он оптимизирует рабочий процесс, управляя состоянием и контекстом сессии при переключении между веб-интерфейсом, CLI или мобильным приложением. Используйте его для сложных проектов, требующих различных инструментов на разных этапах работы.
