We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dominik1001/caldav-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
#!/usr/bin/env node
import "dotenv/config"
import { CalDAVClient } from "ts-caldav"
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
import { registerCreateEvent } from "./tools/create-event.js"
import { registerDeleteEvent } from "./tools/delete-event.js"
import { registerListCalendars } from "./tools/list-calendars.js"
import { registerListEvents } from "./tools/list-events.js"
const server = new McpServer({
name: "caldav-mcp",
version: "0.1.0",
})
async function main() {
const client = await CalDAVClient.create({
baseUrl: process.env.CALDAV_BASE_URL || "",
auth: {
type: "basic",
username: process.env.CALDAV_USERNAME || "",
password: process.env.CALDAV_PASSWORD || "",
},
})
registerCreateEvent(client, server)
registerListEvents(client, server)
registerDeleteEvent(client, server)
await registerListCalendars(client, server)
// Start receiving messages on stdin and sending messages on stdout
const transport = new StdioServerTransport()
await server.connect(transport)
}
main()