MCP Server in Node.js
About
MCP Server implemented in JavaScript using Node.js that demonstrates how to build an MCP server with a custom prompt and custom tools, including one that loads an environment variable from a configuration file, to integrate seamlessly with AI-assisted environments like Cursor IDE
Details
- License
- MIT
Explore
- MCP Integration: Exposes tool functionality to LLM-based IDEs.
- Addition Tool: Accepts two numeric parameters and returns their sum.
- MCP Prompt: Provides a predefined prompt ("add_numbers") that allow AI models to infer tool usage.
- Env Var Retrieval: Demonstrates how to load an example environment variable from the configuration file.
- Input Validation: Uses Zod for schema validation.
- Standard I/O Transport: Connects via StdioServerTransport for integration with development environments.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Server in Node.jsCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
- Node.js: Version 20 or higher is required.
To test the getApiKey tool with different API keys, you can set environment variables before running the inspector:
Linux/macOS (Bash/Zsh):
Below is the configuration you need to add:
Linux/macOS example:
json{
"MCP Server Boilerplate": {
"command": "node",
"args": ["/home/john/mcp-server-node/mcp-server.js"],
"env": {
"API_KEY": "abc-1234567890"
}
}
}
Windows example:
json{
"MCP Server Boilerplate": {
"command": "node",
"args": ["C:\\Users\\john\\mcp-server-node\\mcp-server.js"],
"env": {
"API_KEY": "abc-1234567890"
}
}
}
If you have existing MCP servers configured, your full configuration might look like this:
json{
"mcpServers": {
"existing-server": {
"command": "python",
"args": ["/path/to/existing/server.py"]
},
"MCP Server Boilerplate": {
"command": "node",
"args": ["/home/john/mcp-server-node/mcp-server.js"],
"env": {
"API_KEY": "abc-1234567890"
}
}
}
}
- MCP Server Boilerplate:
This is the key for your server configuration. You can name it as you like.
- command:
The Node.js executable to run your server. You can use either:
- "node" (if Node.js is in your PATH)
- The full path to your Node.js executable (if needed)
Finding your Node.js path:
Linux/macOS:
bashwhich node
Method 1: Natural Language Prompt
Simply use a natural language prompt like:
add 3 and 5
or
what is 7 plus 12?
Method 2: Prompt-Based Tool Invocation
Type the following prompt in the chat:
/add_numbers
When you press Enter after typing this prompt, Cursor will automatically:
1. Recognize that you want to use the add tool from the Node Server
2. Display a GUI prompt asking for the two number parameters
3. The AI model will infer that it needs to use the add tool to calculate the result
Parameters for the Addition Tool:
- Parameter a: First number to add
- Parameter b: Second number to add
- Returns: The sum of the two numbers as text
For the getApiKey tool, you can use:
what is my API key?
or
get my API key
The AI agent will automatically infer the appropriate tool to use based on your request.
With the MCP server integrated into Cursor IDE and with Agent mode enabled, you can use the tools in several ways:
Method 1: Natural Language Prompt
Simply use a natural language prompt like:
add 3 and 5
or
what is 7 plus 12?
Method 2: Prompt-Based Tool Invocation
Type the following prompt in the chat:
/add_numbers
When you press Enter after typing this prompt, Cursor will automatically:
1. Recognize that you want to use the add tool from the Node Server
2. Display a GUI prompt asking for the two number parameters
3. The AI model will infer that it needs to use the add tool to calculate the result
Parameters for the Addition Tool:
- Parameter a: First number to add
- Parameter b: Second number to add
- Returns: The sum of the two numbers as text
For the getApiKey tool, you can use:
what is my API key?
or
get my API key
The AI agent will automatically infer the appropriate tool to use based on your request.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp server in node.js": {
"mcp-server-node": {
"command": "npx",
"args": [
"@modelcontextprotocol/inspector",
"node",
"./mcp-server.js"
]
}
}
}
}
McpServers
{
"mcp-server-node": {
"command": "npx",
"args": [
"@modelcontextprotocol/inspector",
"node",
"./mcp-server.js"
]
}
}
Build and run a custom MCP Server in Node.js in just 2 minutes ⏱️
Overview · Features · Installation · Testing with MCP Inspector · Setting Environment Variables for Testing · Integrating with Cursor AI · Using the MCP Tool in Cursor (Agent Mode) · Code Overview · References & Resources · License
Overview
MCP (Model Context Protocol) is a framework that allows you to integrate custom tools into AI-assisted development environments—such as Cursor AI. MCP servers expose functionality (like data retrieval or code analysis) so that an LLM-based IDE can call these tools on demand. Learn more about MCP in the Model Context Protocol Introduction.
This project demonstrates an MCP server implemented in JavaScript using Node.js. It defines two tools: add, which takes two numeric inputs and returns their sum, and getApiKey, which retrieves the API key from the API_KEY environment variable. It also provides a predefined prompt add_numbers that allows AI models to infer the usage of the addition tool.
Requirements
- Node.js: Version 20 or higher is required.
Features
- MCP Integration: Exposes tool functionality to LLM-based IDEs.
- Addition Tool: Accepts two numeric parameters and returns their sum.
- MCP Prompt: Provides a predefined prompt ("add_numbers") that allow AI models to infer tool usage.
- Env Var Retrieval: Demonstrates how to load an example environment variable from the configuration file.
- Input Validation: Uses Zod for schema validation.
- Standard I/O Transport: Connects via StdioServerTransport for integration with development environments.
Installation
1. Clone the Repository
git clone <repository_url>
cd <repository_directory>
2. Install Dependencies
You can install the project dependencies in one of two ways:
Option 1: Install using the existing package.json
Simply run:
npm install
Option 2: Install dependencies manually
If you prefer, delete the existing package.json and install the required packages manually:
npm install @modelcontextprotocol/sdk zod
Then, update the newly generated package.json file to include the following lines, which enables ES Modules and adds the mcp inspector command:
"type": "module",
"scripts": {
"inspector": "npx @modelcontextprotocol/inspector node ./mcp-server.js"
}
Testing with MCP Inspector
The MCP Inspector is a debugging tool that lets you test your server's tools interactively before integrating with an IDE.
Option 1: Run directly with npx
npx @modelcontextprotocol/inspector node ./mcp-server.js
Option 2: Use the npm script
npm run inspector
This will:
1. Start the MCP inspector server
2. Open your browser to the inspector interface
3. Allow you to test tools, resources, and prompts
Open the MCP Server Inspector on the browser:
http://localhost:6274/
Setting Environment Variables for Testing
To test the getApiKey tool with different API keys, you can set environment variables before running the inspector:
Linux/macOS (Bash/Zsh):
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



