Skip to main content
Glama

Karakeep MCP server

by karakeep-app
index.ts1.98 kB
import { Hono } from "hono"; import { cors } from "hono/cors"; import { logger as loggerMiddleware } from "hono/logger"; import { poweredBy } from "hono/powered-by"; import { loadAllPlugins } from "@karakeep/shared-server"; import logger from "@karakeep/shared/logger"; import { Context } from "@karakeep/trpc"; import trpcAdapter from "./middlewares/trpcAdapter"; import admin from "./routes/admin"; import assets from "./routes/assets"; import bookmarks from "./routes/bookmarks"; import health from "./routes/health"; import highlights from "./routes/highlights"; import lists from "./routes/lists"; import metrics, { registerMetrics } from "./routes/metrics"; import publicRoute from "./routes/public"; import rss from "./routes/rss"; import tags from "./routes/tags"; import trpc from "./routes/trpc"; import users from "./routes/users"; import webhooks from "./routes/webhooks"; await loadAllPlugins(); const v1 = new Hono<{ Variables: { ctx: Context; }; }>() .route("/highlights", highlights) .route("/bookmarks", bookmarks) .route("/lists", lists) .route("/tags", tags) .route("/users", users) .route("/assets", assets) .route("/admin", admin) .route("/rss", rss); const app = new Hono<{ Variables: { // This is going to be coming from the web app ctx: Context; }; }>() .use( loggerMiddleware((str: string) => { logger.info(str); }), ) .use(poweredBy()) .use( cors({ origin: "*", allowHeaders: ["Authorization", "Content-Type"], credentials: true, }), ) .use("*", registerMetrics) .use(async (c, next) => { // Ensure that the ctx is set if (!c.var.ctx) { throw new Error("Context is not set"); } await next(); }) .use(trpcAdapter) .route("/health", health) .route("/trpc", trpc) .route("/v1", v1) .route("/assets", assets) .route("/public", publicRoute) .route("/metrics", metrics) .route("/webhooks", webhooks); export default app;

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