home / mcp / hussainkazemian mcp server

Hussainkazemian MCP Server

Exposes an MCP calendar server backed by CalDAV and a client that orchestrates calendar tools via an OpenAI-compatible API.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "hussainkazemian-mcp": {
      "url": "http://localhost:3000/api/v1/mcp",
      "headers": {
        "PORT": "3000",
        "NODE_ENV": "development",
        "OPENAI_MODEL": "gpt-4o",
        "MCP_SERVER_URL": "http://localhost:3000/api/v1/mcp",
        "OPENAI_PROXY_URL": "http://localhost:1234",
        "CALDAV_SERVER_URL": "http://localhost:5232/",
        "OPENAI_TRANSCRIPTION_MODEL": "whisper-1"
      }
    }
  }
}

You can run and use a compact MCP server that exposes calendar tools backed by CalDAV and provides a client side that leverages an OpenAI-compatible API to invoke those tools. This setup includes a simple browser interface to record audio, transcribe it, and send prompts to the MCP client for calendar-related actions.

How to use

Interact with the MCP server by starting the dev server and opening the web UI in your browser. Use the calendar tools to list events, check availability for a time slot, or create events in your CalDAV calendar. Speak a command into the browser microphone, then send the transcription to the MCP client. The model can call the calendar tools to perform actions such as listing events, checking availability, and creating events, while enforcing basic workflows like checking availability before creating events when you ask to schedule something.

How to install

Prerequisites you need before starting: - Node.js 18+ (Node 20+ recommended) - A CalDAV server with credentials (or use the defaults provided by the environment when available) - An OpenAI-compatible API endpoint for chat completions and audio transcriptions via a proxy URL as described in the environment configuration.

# 1. Install dependencies
npm install

# 2. Create and configure environment
cp .env-sample .env
# Edit .env to set OPENAI_PROXY_URL and other CALDAV/MCP settings

3. Run the development server and then access the UI in your browser at the root path. The server will expose API endpoints to handle the MCP server, the MCP client, and the web UI.

npm run dev

4. Open the demo UI in your browser: - Visit http://localhost:3000/ - Click “Start Recording”, speak a command, then click “Stop Recording” - Click “Send” to process the command through the MCP client.

Additional sections

Configuration and security notes: - The MCP server operates over a streamable HTTP transport and uses your CalDAV credentials to access calendar data. Ensure CALDAV_SERVER_URL, CALDAV_USERNAME, and CALDAV_PASSWORD are correctly set for your calendar server. - The MCP client relies on an OpenAI-compatible proxy for chat completions and audio transcriptions. Set OPENAI_PROXY_URL to the base URL of your proxy. The app will call /v1/chat/completions and /v1/audio/transcriptions under that base URL. - Audio uploads from the browser are transcribed and then deleted best-effort after transcription to protect your data. Verify filesystem permissions if uploads accumulate unexpectedly. - The server exposes a health endpoint at the root of the API to verify it is running.

If you run into issues, verify microphone permissions in the browser, confirm CalDAV access works with your credentials, and ensure OPENAI_PROXY_URL points to a functioning proxy that forwards the expected API routes.

Available tools

listEvents

List events from the primary CalDAV calendar to present a current schedule.

getEventsInTimeSlot

Check availability for a specific time slot to help avoid conflicts.

createEvent

Create a new calendar event with a given date/time, title, and optional description or location.