We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/get-convex/convex-backend'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
import Link from "next/link";
import { Modal } from "@ui/Modal";
import { ReadonlyCode } from "@common/elements/ReadonlyCode";
import { SourceMissingPanel } from "@common/elements/SourceMissingPanel";
type Props = {
onClose: () => void;
contents: string;
displayName: string;
};
export function FileModal({ contents, onClose, displayName }: Props) {
return (
<Modal
title={
<div className="flex items-center gap-3">
Cron Jobs
<pre className="inline rounded-sm border bg-background-tertiary p-1 text-xs text-content-primary">
{displayName}
</pre>
</div>
}
description={
<div className="max-w-[32rem]">
Cron jobs are defined in this file.{" "}
<Link
href="https://docs.convex.dev/scheduling/cron-jobs"
passHref
className="text-content-link"
target="_blank"
>
Learn more
</Link>
.
</div>
}
onClose={onClose}
>
<div className="rounded-sm border p-4" style={{ height: "80vh" }}>
{contents ? (
<ReadonlyCode
path={displayName}
code={contents.trimEnd()}
language="javascript"
/>
) : (
<SourceMissingPanel />
)}
</div>
</Modal>
);
}