LABSCO SUMMARY
One job, one calendar, three environment variables.
This does not try to be a Dooray client — it adds schedule entries, and the calendar it writes to is decided by configuration rather than by the model. That is a reasonable safety property for a write-only calendar tool, and it also means covering a second calendar means a second server entry.
What it is
A small Python MCP server that manages schedules through the Dooray API. It runs locally over stdio and is scoped to a single Dooray calendar, named by the credentials you give it.
What you get
Calendar events created in Dooray from a conversation: the server calls the Dooray API to add the schedule, sets the start and end times for you rather than requiring both explicitly, and carries location and description alongside the event.
Requirements
A Dooray account with an API key. Three environment variables in a .env file: DOORAY_API_KEY, DOORAY_MEMBER_ID and DOORAY_CALENDAR_ID — the calendar ID is fixed per install, so one server covers one calendar. Python with a virtual environment, then pip install -e .; your client config names the interpreter in that virtual environment and the server script path. MIT licensed.
Setup effort
Build from source — git clone https://github.com/mskim8717/dooray-mcp.git
USE CASES
01
Booking something without leaving the conversation
Describe the event and let the server create it in Dooray with the times, location and description filled in.
02
Keeping an assistant scoped to one calendar
The calendar ID lives in the environment, so the model cannot write to a calendar you did not configure.
BEFORE YOU INSTALL
What to know first
Requires
- Python with venv and pip
- A Dooray API key, member ID and calendar ID in a .env file in the clone
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
TERMINAL
git clone https://github.com/mskim8717/dooray-mcp.git
cd dooray-mcp
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
pip install -e .Create a .env file in the clone with your Dooray values: DOORAY_API_KEY=<YOUR_DOORAY_API_KEY>, DOORAY_MEMBER_ID=<YOUR_DOORAY_MEMBER_ID>, DOORAY_CALENDAR_ID=<YOUR_DOORAY_CALENDAR_ID> (one per line)
MCP Clients
Claude Desktop — local venv, Cursor — local venv
JSON
{
"mcpServers": {
"dooray-mcp": {
"command": "/Users/<YOUR_USERNAME>/project/.venv/bin/python",
"args": [
"/Users/<YOUR_USERNAME>/project/src/dooray-mcp-server.py"
]
}
}
}/Users/<YOUR_USERNAME>/project is the full path of your dooray-mcp clone, in both lines.
The Dooray credentials live in the .env file from the last step (DOORAY_API_KEY, DOORAY_MEMBER_ID, DOORAY_CALENDAR_ID); the server loads that file when it starts, so the blocks carry no env.