Skip to main content
Glama

Karakeep MCP server

by karakeep-app
multiple-choice-dialog.tsx1.35 kB
import { useState } from "react"; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; export default function MultipleChoiceDialog({ open: userIsOpen, setOpen: userSetOpen, onOpenChange, title, description, actionButtons, children, }: { open?: boolean; setOpen?: (v: boolean) => void; onOpenChange?: (open: boolean) => void; title: React.ReactNode; description: React.ReactNode; actionButtons: (( setDialogOpen: (open: boolean) => void, ) => React.ReactNode)[]; children?: React.ReactNode; }) { const [customIsOpen, setCustomIsOpen] = useState(false); const [isDialogOpen, setDialogOpen] = [ userIsOpen ?? customIsOpen, userSetOpen ?? setCustomIsOpen, ]; return ( <Dialog open={isDialogOpen} onOpenChange={(isOpen) => { onOpenChange?.(isOpen); setDialogOpen(isOpen); }} > {children && <DialogTrigger asChild>{children}</DialogTrigger>} <DialogContent> <DialogHeader> <DialogTitle>{title}</DialogTitle> </DialogHeader> {description} <DialogFooter className="sm:justify-end"> {actionButtons.map((actionButton) => actionButton(setDialogOpen))} </DialogFooter> </DialogContent> </Dialog> ); }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/karakeep-app/karakeep'

If you have feedback or need assistance with the MCP directory API, please join our Discord server