Implements the MCP server in Node.js, allowing developers to create and expose custom tools for AI assistants
Example MCP Server
This repository contains a minimal Model Context Protocol (MCP) server written in Node.js. The server exposes two simple tools that can be called from AI assistants (such as Claude Desktop or Cursor) via the MCP standard.
Tools provided
Tool name | Description | Parameters | Return value |
| Adds two numbers together |
(number),
(number) | Text containing the sum |
| Returns the current server time in ISO format | none | Text with an ISO timestamp |
These tools are defined in the index.js file using the McpServer class from the official SDK. You can extend this server by registering your own tools with custom parameters and logic.
Related MCP server: MCP Server
Installation
Install Node.js (version 20 or later is recommended).
Clone this repository and install dependencies:
npm installThe
@modelcontextprotocol/sdkpackage is published on npm. This example uses version1.17.0as referenced inpackage.json. MCP requires Node.js 18.x or higher to run properly【364465667226308†L72-L78】.
Running the server
Run the server with Node:
By default the server uses the StdioServerTransport to communicate. This means it will read JSON‑RPC 2.0 messages from stdin and write responses to stdout. Tools like Claude Desktop or Cursor will manage this communication for you.
Connecting with Claude Desktop
To connect this server to Claude Desktop, add an entry in your mcp.json configuration file (usually located in your ~/.claude/ or ~/.cursor/ directory depending on the client). An example configuration looks like this:
Replace the command path with the absolute path to your Node binary (e.g. the output of which node) and update the args path to point to this project's index.js file.
After saving the config, restart your Claude Desktop app, grant permission to the tools when prompted, and you can invoke them by writing natural language instructions like:
“Add 3 and 5.” — Claude will call the add tool and return the sum.
“What’s the current time?” — Claude will call the getTime tool and return the timestamp.
References
The concept of MCP servers is described in Anthropic’s announcement【714031847317279†L20-L36】 and documented in several tutorials【67709559959600†L144-L178】.
For an example of defining tools with the official SDK, see the minimal server from the
mcp-server-nodeproject【966057210205090†L0-L18】.
License
This example is provided for educational purposes. Modify and adapt it to suit your own MCP workflows.