Example MCP Server
A minimal Node.js Model Context Protocol server that exposes two simple tools ('add' and 'getTime') that can be called from AI assistants like Claude Desktop or Cursor.
README Documentation
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 |
---|---|---|---|
add | Adds two numbers together | a (number), b (number) | Text containing the sum |
getTime | 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.
Installation
-
Install Node.js (version 20 or later is recommended).
-
Clone this repository and install dependencies:
npm install
The
@modelcontextprotocol/sdk
package is published on npm. This example uses version1.17.0
as 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:
npm start
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:
{
"mcpServers": {
"example-server": {
"command": "/absolute/path/to/node",
"args": [
"/absolute/path/to/index.js"
]
}
}
}
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-node
project【966057210205090†L0-L18】.
License
This example is provided for educational purposes. Modify and adapt it to suit your own MCP workflows.