This guide will help you set up and run the OpenDental MCP Server on your Windows computer with minimal technical knowledge required.
- Node.js: A software platform that runs JavaScript
- Python: A programming language that some of our scripts use
- Qdrant: A vector database for storing and searching documentation
- OpenAI API Key: A special key that allows our software to create text embeddings (not for storage)
- Go to https://nodejs.org/
- Click the button that says "LTS" (Long Term Support) to download the installer
- Run the installer file you downloaded
- Click "Next" through the installation steps, accepting the default options
- Click "Finish" when installation is complete
- Go to https://www.python.org/downloads/windows/
- Click on the latest Python 3 release (e.g., "Python 3.10.X")
- Scroll down and click on "Windows installer (64-bit)"
- Run the installer file you downloaded
- IMPORTANT: Check the box that says "Add Python to PATH" at the bottom of the first screen
- Click "Install Now"
- Click "Close" when installation is complete
There are two ways to install Qdrant:
- Download and install Docker Desktop from https://www.docker.com/products/docker-desktop/
- Start Docker Desktop
- Open Command Prompt (Win + R, type
cmd, press Enter) - Run these commands:
docker pull qdrant/qdrant
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
- Keep this Command Prompt window open while using the MCP server
- Go to https://github.com/qdrant/qdrant/releases
- Download the latest Windows release (e.g.,
qdrant-x.x.x-windows-x86_64.zip) - Extract the ZIP file to a location on your computer (e.g.,
C:\Qdrant) - Open Command Prompt (Win + R, type
cmd, press Enter) - Navigate to the extracted folder:
cd C:\path\to\extracted\qdrant\folder
- Start Qdrant:
qdrant.exe
- Keep this Command Prompt window open while using the MCP server
- Download the OpenDental MCP Server files as a ZIP file
- Right-click on the ZIP file and select "Extract All..."
- Choose a location where you want to extract the files (e.g.,
C:\OpenDental-MCP) - Click "Extract"
- Go to https://platform.openai.com/account/api-keys
- Sign in to your OpenAI account (or create one if you don't have it)
- Click "Create new secret key"
- Give your key a name (e.g., "OpenDental MCP")
- Copy the key (it will look like a long string of letters and numbers)
- Open the folder where you extracted the files
- Navigate to the
mcp-openai-filesearchfolder - Right-click in the empty space and select "New" > "Text Document"
- Name the file
.env(including the dot at the beginning)- If Windows warns you about changing the file extension, click "Yes"
- Right-click on the
.envfile and select "Edit" or "Open with" > "Notepad" - Paste the following into the file:
OPENAI_API_KEY=your_openai_api_key
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_COLLECTION=open_dental_docs
- Replace
your_openai_api_keywith the API key you copied earlier - Save and close the file
- Press
Win + Ron your keyboard to open the Run dialog - Type
cmdand press Enter to open Command Prompt - Navigate to your extracted folder by typing:
cd C:\path\to\your\extracted\folder\mcp-openai-filesearch
- Replace
C:\path\to\your\extracted\folderwith the actual path where you extracted the files
- Install the required dependencies by typing:
npm install
- Wait for the installation to complete (this may take a few minutes)
- Build the server by typing:
npm run build
- Wait for the build to complete
- Set up the Qdrant collection by typing:
npm run setup:qdrant
- Wait for the setup to complete
If you want to use this server with Cursor or another MCP client:
- Create a file named
mcp.jsonin the.cursorfolder of your project- If the
.cursorfolder doesn't exist, create it
- If the
- Open the
mcp.jsonfile in Notepad or any text editor - Add the following content to the file:
{
"mcpServers": {
"OpenDental-MCP": {
"command": "node",
"args": [
"C:\\path\\to\\your\\extracted\\folder\\mcp-openai-filesearch\\dist\\server-qdrant.js"
],
"transport": "stdio",
"description": "Qdrant-based MCP server for OpenDental docs."
}
}
}- Replace
C:\\path\\to\\your\\extracted\\folderwith the actual path where you extracted the files- Make sure to use double backslashes (
\\) in the path
- Make sure to use double backslashes (
- Save and close the file
- Restart your MCP client (like Cursor) to detect the new server configuration
- In the same Command Prompt window, type:
npm run start:qdrant
- You should see some messages indicating that the server has started
- Keep this window open as long as you want the server to run
- Open a new Command Prompt window (Win + R, type
cmd, press Enter) - Navigate to your extracted folder by typing:
cd C:\path\to\your\extracted\folder\mcp-openai-filesearch
- Run a test query by typing:
npm run test:qdrant
- You should see a response from the server with information from the OpenDental documentation
- Make sure you installed Node.js correctly
- Try restarting your computer and then try again
- Make sure you checked "Add Python to PATH" during Python installation
- Try using
pyinstead ofpythonin the commands - Try restarting your computer and then try again
- In the Command Prompt, type:
netstat -ano | findstr :3000
- Note the number in the last column (this is the process ID)
- Type:
taskkill /PID [the process ID] /F
- Try starting the server again
- Make sure Qdrant is running in another Command Prompt window
- Check if the Qdrant port is available:
netstat -ano | findstr :6333
- If you're using Docker, make sure Docker Desktop is running
- Try restarting Qdrant
- Check that your
mcp.jsonfile has the correct path to the server - Verify that you're using double backslashes (
\\) in the path - Make sure the server is actually built and the file exists at the path you specified
- Try restarting your MCP client to reload the configuration
- Double-check that you've correctly copied your OpenAI API key into the
.envfile - Make sure there are no extra spaces or characters in the
.envfile
If you encounter issues that aren't covered in this guide, please contact your system administrator or the development team for assistance.