{
  "$schema": "https://modelcontextprotocol.io/schema/server-card.json",
  "name": "Brief App — Startup as a Service MCP Server",
  "description": "Servidor oficial Model Context Protocol (MCP) da Brief App. Fornece ferramentas autônomas para agentes de IA provisionarem e consultarem módulos de backend prontos para startups: autenticação 2FA, pagamentos com split PIX, cobrança recorrente, agendamento de horários, mobilidade urbana, storage S3 e governança via Vault.",
  "version": "1.0.0",
  "protocolVersion": "2024-11-05",
  "homepage": "https://fm.brief.app.br/startup-as-a-service/",
  "documentation": "https://fm.brief.app.br/startup-as-a-service/docs.php",
  "repository": {
    "type": "git",
    "url": "https://github.com/qweralfredo/briefapp-modules"
  },
  "publisher": {
    "name": "Brief App",
    "email": "dev@brief.app.br",
    "url": "https://fm.brief.app.br/startup-as-a-service/"
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://fm.brief.app.br/startup-as-a-service/api/sandbox.php"
  },
  "testing": {
    "status": "supported",
    "sandboxUrl": "https://fm.brief.app.br/startup-as-a-service/api/sandbox.php",
    "healthUrl": "https://fm.brief.app.br/startup-as-a-service/health.php",
    "mockMode": true,
    "dryRunSupported": true
  },
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "resources": {
      "subscribe": false,
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "health_check",
      "description": "Verifica a integridade operacional e conectividade dos serviços da API Brief App (Gateway REST, PostgreSQL multitenant, Redis cache, HashiCorp Vault e RabbitMQ). O agente de IA deve chamar esta ferramenta para testar a disponibilidade do ambiente antes de executar operações ou diagnósticos de rede.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "component": {
            "type": "string",
            "enum": ["all", "gateway", "database", "vault", "cache"],
            "default": "all",
            "description": "Componente específico a ser verificado no teste de integridade operacional."
          },
          "test_mode": {
            "type": "boolean",
            "default": true,
            "description": "Execução em modo de teste e verificação segura de conectividade (dry run sem mutações)."
          }
        },
        "required": ["component", "test_mode"],
        "additionalProperties": false
      },
      "parameters": {
        "type": "object",
        "properties": {
          "component": {
            "type": "string",
            "enum": ["all", "gateway", "database", "vault", "cache"],
            "default": "all",
            "description": "Componente específico a ser verificado no teste de conectividade."
          },
          "test_mode": {
            "type": "boolean",
            "default": true,
            "description": "Execução em modo de teste e verificação segura de conectividade."
          }
        },
        "required": ["component", "test_mode"],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": { "type": "string", "description": "Status de integridade operacional ('ok' ou 'error')" },
          "healthy": { "type": "boolean", "description": "Indica se todos os componentes estão saudáveis" },
          "component": { "type": "string", "description": "Componente verificado" },
          "test_passed": { "type": "boolean", "description": "Indica se o teste automatizado passou com sucesso" },
          "version": { "type": "string", "description": "Versão da API" },
          "timestamp": { "type": "string", "format": "date-time", "description": "Data/hora ISO 8601 UTC do teste" }
        },
        "required": ["status", "healthy", "component", "test_passed", "version", "timestamp"],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "riskLevel": "low",
        "confidenceHint": "high",
        "testabilityHint": "sandbox"
      }
    },
    {
      "name": "simulate_pricing",
      "description": "Calcula e simula estimativas de custos de infraestrutura e consumo de API da Brief App para fundadores e desenvolvedores. O agente deve chamar esta ferramenta sempre que o usuário solicitar orçamentos, simulações de preços, comparação entre os planos Builder, Scale e Enterprise, ou estimar despesas mensais por volume de usuários, transações e corridas.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "plan": {
            "type": "string",
            "enum": ["builder", "scale", "enterprise"],
            "description": "Nível do plano comercial da Brief App: 'builder', 'scale' ou 'enterprise'."
          },
          "active_users": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000000,
            "description": "Quantidade estimada de usuários ativos mensais (MAU) na startup."
          },
          "transactions_month": {
            "type": "integer",
            "minimum": 0,
            "description": "Volume mensal estimado de transações de pagamento (PIX, crédito, boleto) processadas na API."
          },
          "rides_month": {
            "type": "integer",
            "minimum": 0,
            "description": "Volume mensal estimado de chamadas do módulo de mobilidade urbana ou entregas sob demanda."
          }
        },
        "required": ["plan", "active_users", "transactions_month", "rides_month"],
        "additionalProperties": false
      },
      "parameters": {
        "type": "object",
        "properties": {
          "plan": {
            "type": "string",
            "enum": ["builder", "scale", "enterprise"],
            "description": "Nível do plano comercial da Brief App."
          },
          "active_users": {
            "type": "integer",
            "minimum": 0,
            "description": "Usuários ativos mensais."
          },
          "transactions_month": {
            "type": "integer",
            "minimum": 0,
            "description": "Volume mensal de transações."
          },
          "rides_month": {
            "type": "integer",
            "minimum": 0,
            "description": "Volume mensal de corridas."
          }
        },
        "required": ["plan", "active_users", "transactions_month", "rides_month"],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": { "type": "string", "description": "Status da simulação ('success')" },
          "plan": { "type": "string", "description": "Plano avaliado" },
          "base_price_brl": { "type": "number", "description": "Valor base fixo mensal em reais" },
          "estimated_extra_fees_brl": { "type": "number", "description": "Custos variáveis estimados de transações excedentes e corridas" },
          "total_estimated_monthly_brl": { "type": "number", "description": "Total mensal consolidado estimado em reais" },
          "breakdown": {
            "type": "object",
            "description": "Detalhamento das métricas computadas no cálculo de preços.",
            "properties": {
              "active_users": { "type": "integer", "description": "Quantidade de usuários ativos considerados" },
              "transactions_count": { "type": "integer", "description": "Volume mensal de transações computadas" },
              "rides_count": { "type": "integer", "description": "Volume mensal de corridas computadas" },
              "currency": { "type": "string", "description": "Código internacional da moeda ('BRL')" }
            },
            "required": ["active_users", "transactions_count", "rides_count", "currency"]
          }
        },
        "required": ["status", "plan", "base_price_brl", "estimated_extra_fees_brl", "total_estimated_monthly_brl", "breakdown"],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "riskLevel": "low",
        "confidenceHint": "high",
        "testabilityHint": "simulation"
      }
    },
    {
      "name": "simulate_payment_split",
      "description": "Simula o cálculo de divisão de recebíveis (split de pagamentos) entre a plataforma do marketplace e prestadores/parceiros. O agente deve chamar esta ferramenta para projetar comissões, taxa fixa da plataforma, taxa de intermediação do gateway e o valor líquido repassado via PIX, operando de forma 100% segura sem criar transações financeiras reais.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "minimum": 1.0,
            "description": "Valor bruto da transação comercial em reais (BRL), por exemplo 150.00."
          },
          "partner_percentage": {
            "type": "number",
            "minimum": 0.0,
            "maximum": 100.0,
            "description": "Percentual líquido destinado ao parceiro ou prestador de serviço (ex.: 80 para 80%)."
          },
          "platform_fixed_fee": {
            "type": "number",
            "minimum": 0.0,
            "default": 0.50,
            "description": "Tarifa fixa da plataforma por transação em reais (padrão Brief App: R$ 0,50)."
          },
          "payment_method": {
            "type": "string",
            "enum": ["pix", "credit_card", "boleto"],
            "default": "pix",
            "description": "Método de pagamento a ser considerado no split para dedução da taxa do gateway adquirente."
          }
        },
        "required": ["amount", "partner_percentage", "platform_fixed_fee", "payment_method"],
        "additionalProperties": false
      },
      "parameters": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "minimum": 1.0,
            "description": "Valor bruto da transação comercial em reais (BRL)."
          },
          "partner_percentage": {
            "type": "number",
            "minimum": 0.0,
            "maximum": 100.0,
            "description": "Percentual destinado ao parceiro."
          },
          "platform_fixed_fee": {
            "type": "number",
            "minimum": 0.0,
            "description": "Tarifa fixa da plataforma por transação."
          },
          "payment_method": {
            "type": "string",
            "enum": ["pix", "credit_card", "boleto"],
            "description": "Método de pagamento."
          }
        },
        "required": ["amount", "partner_percentage", "platform_fixed_fee", "payment_method"],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": { "type": "string", "description": "Status da simulação ('success')" },
          "gross_amount_brl": { "type": "number", "description": "Valor bruto transacionado" },
          "payment_method": { "type": "string", "description": "Método de pagamento utilizado" },
          "gateway_cost_brl": { "type": "number", "description": "Taxa descontada pelo gateway adquirente" },
          "partner_net_share_brl": { "type": "number", "description": "Valor líquido creditado ao parceiro via PIX" },
          "platform_net_share_brl": { "type": "number", "description": "Receita líquida retida pela plataforma" },
          "currency": { "type": "string", "description": "Moeda padrão ('BRL')" },
          "dry_run": { "type": "boolean", "description": "Confirma execução em modo simulação sem cobrança financeira real" }
        },
        "required": ["status", "gross_amount_brl", "payment_method", "gateway_cost_brl", "partner_net_share_brl", "platform_net_share_brl", "currency", "dry_run"],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "riskLevel": "low",
        "confidenceHint": "high",
        "testabilityHint": "simulation"
      }
    },
    {
      "name": "get_platform_services",
      "description": "Consulta técnica e leitura pública de especificações e documentação de componentes da plataforma Brief App. Ferramenta puramente informativa e estritamente restrita a metadados para agentes autônomos.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Termo textual para consulta de especificações técnicas e recursos (ex.: 'identidade', 'split', 'assinaturas', 'agendamento')."
          },
          "category": {
            "type": "string",
            "enum": ["all", "identity", "billing", "payments", "scheduling", "mobility", "filestorage", "kanban", "openfinance"],
            "default": "all",
            "description": "Segmento técnico opcional da plataforma Brief App para consulta direcionada."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "description": "Quantidade máxima de registros retornados na consulta."
          }
        },
        "required": ["query", "category", "limit"],
        "additionalProperties": false
      },
      "parameters": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Termo textual para consulta técnica."
          },
          "category": {
            "type": "string",
            "enum": ["all", "identity", "billing", "payments", "scheduling", "mobility", "filestorage", "kanban", "openfinance"],
            "description": "Segmento técnico da plataforma."
          },
          "limit": {
            "type": "integer",
            "description": "Quantidade máxima de registros."
          }
        },
        "required": ["query", "category", "limit"],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": { "type": "string", "description": "Status da consulta ('success')" },
          "query": { "type": "string", "description": "Termo pesquisado" },
          "total_matches": { "type": "integer", "description": "Total de serviços encontrados" },
          "results": {
            "type": "array",
            "description": "Lista de especificações técnicas encontradas.",
            "items": {
              "type": "object",
              "properties": {
                "id": { "type": "string", "description": "Identificador do serviço" },
                "title": { "type": "string", "description": "Nome do serviço" },
                "category": { "type": "string", "description": "Categoria técnica" },
                "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags técnicas" }
              },
              "required": ["id", "title", "category", "tags"]
            }
          }
        },
        "required": ["status", "query", "total_matches", "results"],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "riskLevel": "low",
        "confidenceHint": "high"
      }
    },
    {
      "name": "get_api_capabilities",
      "description": "Consulta técnica declarativa de especificações de arquitetura, contratos e metadados de integração da Brief App (Identidade 2FA, Split PIX, Cobrança Recorrente, Agendamento, Mobilidade, Storage, Painéis e Open Finance). Ferramenta informativa de leitura segura (read-only) para planejamento de software.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "module": {
            "type": "string",
            "enum": ["all", "identity", "billing", "payments", "scheduling", "mobility", "filestorage", "kanban", "openfinance"],
            "default": "all",
            "description": "Módulo específico da plataforma Brief App para consulta de especificações técnicas e arquitetura."
          },
          "include_schemas": {
            "type": "boolean",
            "default": true,
            "description": "Se verdadeiro, inclui os esquemas de validação de dados no retorno."
          }
        },
        "required": ["module", "include_schemas"],
        "additionalProperties": false
      },
      "parameters": {
        "type": "object",
        "properties": {
          "module": {
            "type": "string",
            "enum": ["all", "identity", "billing", "payments", "scheduling", "mobility", "filestorage", "kanban", "openfinance"],
            "default": "all",
            "description": "Módulo específico da plataforma Brief App."
          },
          "include_schemas": {
            "type": "boolean",
            "default": true,
            "description": "Se verdadeiro, inclui schemas JSON."
          }
        },
        "required": ["module", "include_schemas"],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": { "type": "string", "description": "Status da consulta ('success')" },
          "platform": { "type": "string", "description": "Nome oficial da plataforma" },
          "openapi_spec_url": { "type": "string", "format": "uri", "description": "URL do contrato OpenAPI 3.0" },
          "llms_txt_url": { "type": "string", "format": "uri", "description": "URL do guia LLMs.txt" },
          "mcp_server_card_url": { "type": "string", "format": "uri", "description": "URL do manifesto MCP Server Card" },
          "sandbox_url": { "type": "string", "format": "uri", "description": "URL do ambiente de sandbox" },
          "supported_modules": {
            "type": "array",
            "items": { "type": "string" },
            "description": "Lista de módulos de negócio ativos"
          },
          "sdk_languages": {
            "type": "array",
            "items": { "type": "string" },
            "description": "Linguagens e SDKs suportados"
          }
        },
        "required": ["status", "platform", "openapi_spec_url", "llms_txt_url", "mcp_server_card_url", "sandbox_url", "supported_modules", "sdk_languages"],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "idempotentHint": true,
        "destructiveHint": false,
        "riskLevel": "low",
        "confidenceHint": "high"
      }
    }
  ],
  "resources": [
    {
      "uri": "https://fm.brief.app.br/startup-as-a-service/openapi/v1.json",
      "name": "OpenAPI v1.0.0 Specification",
      "description": "Contrato OpenAPI 3.0 completo com 250 endpoints dos módulos de negócio.",
      "mimeType": "application/json"
    },
    {
      "uri": "https://fm.brief.app.br/startup-as-a-service/llms.txt",
      "name": "LLMs.txt Orientation File",
      "description": "Guia condensado de arquitetura e convenções para Modelos de Linguagem e Agentes autônomos.",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://fm.brief.app.br/startup-as-a-service/llms-full.txt",
      "name": "LLMs-full.txt Complete Index",
      "description": "Índice completo de todos os 250 endpoints e regras operacionais.",
      "mimeType": "text/plain"
    }
  ]
}
