import { auth } from '@/auth'
import { redirect } from 'next/navigation'
import { McpSettingsPanel } from '@/components/mcp/mcp-settings-panel'
import { listMcpKeys, getMcpServerStatus } from '@/app/actions/mcp-keys'
import { SettingsHelpBox } from '@/components/settings/settings-help-box'

export default async function McpSettingsPage() {
  const session = await auth()
  if (!session?.user) redirect('/api/auth/signin')

  const [keys, serverStatus] = await Promise.all([
    listMcpKeys(),
    getMcpServerStatus(),
  ])

  return (
    <div className="space-y-8">
      <SettingsHelpBox
        title="Qu'est-ce que MCP (Model Context Protocol) ?"
        defaultOpen={true}
        steps={[
          { text: 'MCP est un protocole qui permet aux agents IA de Memento de se connecter à des outils externes (bases de données, APIs, fichiers, etc.).' },
          { text: 'Memento expose un serveur MCP avec 22 outils — vos agents peuvent lire/créer des notes, chercher dans votre base, gérer les carnets, etc.' },
          { text: 'Créez une clé API ici, puis configurez-la dans votre client MCP (Claude Desktop, Cursor, Continue.dev…) avec l\'URL du serveur.' },
          { text: 'Format de configuration : URL du serveur MCP + votre clé dans le header Authorization.', link: { label: 'Documentation MCP', href: 'https://modelcontextprotocol.io/docs' } },
          { icon: '⚡', text: 'Cas d\'usage : demandez à Claude Desktop d\'écrire une note dans Memento, de chercher dans vos carnets, ou de créer un agent.' },
        ]}
      />
      <McpSettingsPanel initialKeys={keys} serverStatus={serverStatus} />
    </div>
  )
}
