AgentSkillsCN

developer-mcp-server

在Code Compass中执行特定变更的测试,包括前后Bug复现、单元/集成/E2E回归测试、冒烟测试套件,以及在Bug修复、API契约变更、索引/搜索、Qdrant Schema/载荷、关键UX或摄取管道时,进行客观的验证性证据采集;不应用于质量/CI/门禁的跨领域治理与全局覆盖率政策(应使用`developer-quality`),也不应用于仅进行文档/Markdown修改、无实际效果的重命名、视觉美化、架构调整,或无Bug/功能的重构。

SKILL.md
--- frontmatter
name: developer-mcp-server
description: Planejar e implementar mudanças no servidor MCP em Node/NestJS (tools, handlers, validação, allowlist, contratos de retorno com evidência e performance P95); usar quando o pedido tocar `apps/mcp-server` ou integração MCP e não usar para indexação Python, schema Qdrant, infra ou documentação.

Developer MCP Server

1) Objetivo e Escopo

Implementar e evoluir o servidor MCP com foco em contratos estáveis de tools, segurança de acesso a arquivos e respostas com evidência verificável.

Trigger policy

  • Disparar quando o pedido mencionar apps/mcp-server, tools MCP, handlers NestJS, transport MCP, validação de entrada/saída ou performance de busca/retorno.
  • Disparar quando houver mudança em contrato de tool (search_code, open_file, list_tree) ou em governança (allowlist, audit trail, read-only).
  • Não disparar para chunking/embeddings/indexação (delegar para developer-indexer), schema Qdrant (delegar para developer-vector-db), infra local (delegar para developer-infra) ou documentação editorial (delegar para developer-docs).

2) Entradas esperadas

  • Caminho ou módulo alvo (ex.: apps/mcp-server/src/mcp, apps/mcp-server/src/services).
  • Requisito funcional e contrato esperado de entrada/saída.
  • Restrições de compatibilidade (ex.: manter nome de tool e campos existentes).
  • Limites operacionais (latência P95, volume de resultados, filtros obrigatórios).

3) Workflow (Discovery -> Plan -> Implement -> Validate -> Deliver)

  1. Discovery
    • Mapear handlers, schemas, adapters e pontos de auditoria.
    • Identificar contratos atuais e consumidores impactados.
    • Consultar references/checklist.md antes de alterar tool pública.
  2. Plan
    • Definir plano curto, risco de quebra e estratégia de rollback.
    • Explicitar mudanças de contrato e impacto backward-compatible.
  3. Implement
    • Aplicar mudança mínima no NestJS preservando interfaces públicas.
    • Manter validação forte de input/output e política de allowlist.
    • Garantir payload com path, startLine, endLine e score quando aplicável.
  4. Validate
    • Executar validações específicas do módulo (lint, test, typecheck, testes de contrato).
    • Medir impacto de latência quando alterar fluxo de busca; evitar regressão de P95 sem justificativa.
  5. Deliver
    • Entregar plano executado, arquivos alterados, comandos de verificação e riscos residuais.

4) DoD

  • Tool alterada mantém contrato backward-compatible ou inclui plano explícito de migração.
  • Validação de input/output cobre casos inválidos, limites e erros esperados.
  • Segurança de filesystem mantém allowlist e proteção de path traversal.
  • Resposta de busca inclui evidências consumíveis (path e linhas) sem ambiguidade.
  • Logs/auditoria não expõem segredos e permitem rastreabilidade por requisição.

5) Guardrails

  • Preservar READ_ONLY=true por padrão; não introduzir escrita sem requisito explícito.
  • Não enfraquecer validação de caminho, filtros de acesso ou política de segurança.
  • Não quebrar consumidores MCP alterando campos obrigatórios sem estratégia de migração.
  • Evitar I/O desnecessário em hot paths; priorizar neutralidade ou ganho de P95.
  • Não criar scripts/ nesta skill sem necessidade determinística comprovada.

6) Convenções de saída

  • Sempre devolver: (1) plano curto, (2) mudanças por arquivo, (3) comandos de validação, (4) riscos/pendências.
  • Sempre explicitar decisões de compatibilidade e segurança.

7) Exemplos de uso (prompts)

  • "No apps/mcp-server, adicione paginação em search_code sem quebrar o contrato atual."
  • "Refatore o handler de open_file para endurecer allowlist e bloquear path traversal."
  • "Padronize o retorno de evidências das tools MCP para incluir linhas e score de forma consistente."
  • "Investigue e reduza latência P95 da tool search_code mantendo a mesma assinatura."

8) Anti-exemplos (quando não usar)

  • "Ajuste chunking e overlap de embeddings" -> usar developer-indexer.
  • "Mude vector size e distance metric da coleção" -> usar developer-vector-db.
  • "Suba ambiente local com docker-compose e observabilidade" -> usar developer-infra.
  • "Atualize README e ADR da feature" -> usar developer-docs.