Skip to main content
Glama

Karakeep MCP server

by karakeep-app
PublicListLink.tsx2.1 kB
"use client"; import { CopyBtnV2 } from "@/components/ui/copy-button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; import { useClientConfig } from "@/lib/clientConfig"; import { useTranslation } from "react-i18next"; import { useEditBookmarkList } from "@karakeep/shared-react/hooks/lists"; import { ZBookmarkList } from "@karakeep/shared/types/lists"; export default function PublicListLink({ list }: { list: ZBookmarkList }) { const { t } = useTranslation(); const clientConfig = useClientConfig(); const { mutate: editList, isPending: isLoading } = useEditBookmarkList(); const publicListUrl = `${clientConfig.publicUrl}/public/lists/${list.id}`; const isPublic = list.public; return ( <> {/* Public List Toggle */} <div className="flex items-center justify-between"> <div className="space-y-1"> <Label htmlFor="public-toggle" className="text-sm font-medium"> {t("lists.public_list.title")} </Label> <p className="text-xs text-muted-foreground"> {t("lists.public_list.description")} </p> </div> <Switch id="public-toggle" checked={isPublic} disabled={isLoading || !!clientConfig.demoMode} onCheckedChange={(checked) => { editList({ listId: list.id, public: checked, }); }} /> </div> {/* Share URL - only show when public */} {isPublic && ( <> <div className="space-y-3"> <Label className="text-sm font-medium"> {t("lists.public_list.share_link")} </Label> <div className="flex items-center space-x-2"> <Input value={publicListUrl} readOnly className="flex-1 text-sm" /> <CopyBtnV2 getStringToCopy={() => publicListUrl} /> </div> </div> </> )} </> ); }

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