This guide will help you set up and run the OpenDental MCP Server on your Mac with minimal technical knowledge required.
- Node.js: A software platform that runs JavaScript
- Python: A programming language that some of our scripts use (macOS already comes with Python installed)
- 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
- Open the downloaded file (it should be a .pkg file)
- Follow the installation instructions, clicking "Continue" and "Install" as prompted
- You may need to enter your Mac password to authorize the installation
- Click "Close" when the installation is complete
- Open Terminal (you can find it in Applications > Utilities > Terminal)
- Type the following command and press Enter:
python3 --version
- You should see a message showing the Python version (e.g., "Python 3.9.6")
- If you don't see a Python version, you may need to install it from python.org
There are two ways to install Qdrant:
- Download and install Docker Desktop from https://www.docker.com/products/docker-desktop/
- Start Docker Desktop
- Open Terminal (Applications > Utilities > Terminal)
- Run these commands:
docker pull qdrant/qdrant
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
- Keep this Terminal window open while using the MCP server
- If you don't have Homebrew installed, install it by running this command in Terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Install Qdrant using Homebrew:
brew install qdrant/qdrant/qdrant
- Start Qdrant:
qdrant
- Keep this Terminal window open while using the MCP server
- Download the OpenDental MCP Server files as a ZIP file
- Find the ZIP file in your Downloads folder
- Double-click the ZIP file to extract it
- Move the extracted folder to a location where you want to keep it (e.g., your Documents folder)
- 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 (or Control-click) in the empty space and select "New File"
- If you don't see this option, open TextEdit, create a new file, and save it in the
mcp-openai-filesearchfolder
- If you don't see this option, open TextEdit, create a new file, and save it in the
- Name the file
.env(including the dot at the beginning) - Open the
.envfile in a text editor - 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
- Open Terminal (Applications > Utilities > Terminal)
- Navigate to your extracted folder by typing:
cd /path/to/your/extracted/folder/mcp-openai-filesearch
- Replace
/path/to/your/extracted/folderwith the actual path where you extracted the files - Tip: You can drag the folder from Finder into Terminal to automatically insert the path
- 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:
- Find the path to your Node.js binary by typing this in Terminal:
which node
- Make note of the output (e.g.,
/usr/local/bin/nodeor/opt/homebrew/bin/node) - Create a folder named
.cursorin your project directory if it doesn't already exist - Create a file named
mcp.jsonin the.cursorfolder - Open the
mcp.jsonfile in a text editor and add the following content:
{
"mcpServers": {
"OpenDental-MCP": {
"command": "/path/to/node",
"args": [
"/path/to/your/extracted/folder/mcp-openai-filesearch/dist/server-qdrant.js"
],
"transport": "stdio",
"description": "Qdrant-based MCP server for OpenDental docs."
}
}
}- Replace
/path/to/nodewith the path you noted in step 2 - Replace
/path/to/your/extracted/folderwith the actual path where you extracted the files - Save and close the file
- Restart your MCP client (like Cursor) to detect the new server configuration
- In the same Terminal 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 Terminal window (Cmd + N)
- Navigate to your extracted folder by typing:
cd /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
- You may need to reinstall Node.js
- Try using
python3instead ofpythonin all commands - If you still have issues, you may need to install Python manually from python.org
- In Terminal, type:
lsof -i :3000
- Note the number in the PID column
- Type:
kill -9 [the PID number]
- Try starting the server again
- Make sure Qdrant is running in another Terminal window
- Check if the Qdrant port is available:
lsof -i :6333
- If you're using Docker, make sure Docker Desktop is running
- If you installed with Homebrew, try restarting Qdrant
- Check that your
mcp.jsonfile has the correct paths - Verify that both the path to Node.js and the path to the server file are correct
- 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 - Make sure the file is named exactly
.env(with the dot at the beginning)
If you encounter issues that aren't covered in this guide, please contact your system administrator or the development team for assistance.