Skip to main content
Glama

Karakeep MCP server

by karakeep-app
UpdatingBookmarkList.tsx1.57 kB
import { api } from "@/lib/trpc"; import type { ZGetBookmarksRequest } from "@karakeep/shared/types/bookmarks"; import { BookmarkTypes } from "@karakeep/shared/types/bookmarks"; import FullPageError from "../FullPageError"; import FullPageSpinner from "../ui/FullPageSpinner"; import BookmarkList from "./BookmarkList"; export default function UpdatingBookmarkList({ query, header, }: { query: Omit<ZGetBookmarksRequest, "sortOrder" | "includeContent">; // Sort order is not supported in mobile yet header?: React.ReactElement; }) { const apiUtils = api.useUtils(); const { data, isPending, isPlaceholderData, error, fetchNextPage, isFetchingNextPage, refetch, } = api.bookmarks.getBookmarks.useInfiniteQuery( { ...query, useCursorV2: true, includeContent: false }, { initialCursor: null, getNextPageParam: (lastPage) => lastPage.nextCursor, }, ); if (error) { return <FullPageError error={error.message} onRetry={() => refetch()} />; } if (isPending || !data) { return <FullPageSpinner />; } const onRefresh = () => { apiUtils.bookmarks.getBookmarks.invalidate(); apiUtils.bookmarks.getBookmark.invalidate(); }; return ( <BookmarkList bookmarks={data.pages .flatMap((p) => p.bookmarks) .filter((b) => b.content.type != BookmarkTypes.UNKNOWN)} header={header} onRefresh={onRefresh} fetchNextPage={fetchNextPage} isFetchingNextPage={isFetchingNextPage} isRefreshing={isPending || isPlaceholderData} /> ); }

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