Custom Plugins Setup
Learn how to setup a custom plugin with Highlight
When you install a plugin from Highlight’s registry, we take care of plugin setup for you. However, if you are developing a custom plugin, your custom MCP server is not in our registry or a plugin not coded in JavaScript, you can use ‘Custom Plugins’ to setup your plugin in Highlight.
Prerequisites
- A basic understanding of your development environment and the command line.
- Environment variables and arguments to pass to the plugin.
Setup
Step 1: Preflight Checks
Before we get started, Highlight can check if your environment is ready for plugin development. Go to Plugins page in Highlight app, and click ‘Installed Plugins’ tab. You will see a list of plugins installed on your machine and a button to ‘Check Compatibility’.
Click ‘Check Compatibility’ and Highlight will check if your environment is ready for plugin development.
If you see a green checkmark, your environment is ready for plugin development. If you see a red X, your environment is not ready for plugin development. Here are some missing dependencies you need to install:
- Node.js
- Python
- npm
- uv
Node.js
Node.js is a JavaScript runtime that allows you to run JavaScript code outside of the browser. You can download it from Node.js website.
Python
Python is a programming language that allows you to work quickly and integrate systems more effectively. You can download it from Python website.
npm
npm is a package manager for JavaScript and the world’s largest software registry. You can download it from npm website.
uv
uv is a faster package manager for JavaScript and the world’s largest software registry. You can download it from uv website.
If you don’t see a green checkmark, but you have all the prerequisites installed, you can click ‘Retry’ to check again. If you are still having issues, contact us on Discord.
Step 2: Add a custom plugin
Now with your environment ready, you can add a custom plugin to Highlight. Go to Plugins page in Highlight app, and click ‘Custom Plugin’ button.
After clicking ‘Custom Plugin’ button, you will be asked to choose a plugin type.
You can choose between ‘SSE’ or ‘stdio’ plugin types. SSE means Server-Sent Events and stdio means Standard Input Output. For more information on the difference between the two, please refer to the Understanding Plugins page.
After choosing a plugin type, based on your plugin type, you will be asked to provide a command to run your plugin.
SSE Plugin Setup
For SSE plugins, you will be asked to provide a URL to run your plugin. This URL will be run when you connect your plugin to Highlight.
After providing the URL and Pluging name you can start using your plugin in Highlight.
stdio
Plugin Setup
For stdio plugins, you will be asked to provide a command to run your plugin.
Provide a Plugin Name and let’s follow an MCP server example to setup your plugin. In this example, we will use example filesystem server from MCP Server Examples as our MCP server. Scroll down on the page till you find the NPX setup section. Here is the command in JSON format like Claude Desktop uses;
So let’s start by filling in the command and args in our plugin setup modal, like this;
After filling in the command and args, you can start using your plugin in Highlight.
You can now start using your plugin in Highlight by mentioning it in your messages.
Congratulations! You have successfully setup a custom plugin in Highlight. Now let’s anwser some frequently asked questions.
Frequently Asked Questions
How do I update my plugin?
If you are using custom plugin setup, you can update your plugin by turning off the plugin and then turning it on again. This will trigger a new plugin setup process and you will be able to update the plugin command and args.
How do I delete my plugin?
If you are using custom plugin setup, you can delete your plugin from the Installed Plugins page. Click on the plugin you want to delete you will see a ‘Delete Plugin’ button on the bottom right corner of the plugin card.
Click on the ‘Delete Plugin’ button and you will be asked to confirm the deletion.
MCP Error -32000: Connection Closed
Error
If you see an error like this from your custom plugin;
It means your plugin didn’t start correctly. Please check your plugin command, args and Environment Variables to make sure they are correct. If you are still having issues please contact us on Discord. We will be happy to help you.
Understanding the Plugin Path
Field
The Plugin Path field specifies the location of your plugin’s executable or entry point file. This field works in conjunction with the command to properly launch your plugin. For example:
- For a JavaScript plugin: Use
node
as the command and/path/to/my_plugin.js
as the Plugin Path - For a Python script: Use
python3
as the command and/path/to/plugin.py
as the Plugin Path
While this field appears in the setup form, it’s actually optional in many cases. If your plugin is accessible through a package manager or if you’ve specified the full path in your command or arguments, you can leave this field empty. It’s provided as a convenience to simplify plugin configuration, especially for local development.