- Explore MCP Servers
- mcp-node-server
Mcp Node Server
What is Mcp Node Server
mcp-node-server is a TypeScript server that implements the Model Context Protocol (MCP). It serves as a simple example to demonstrate how an MCP server operates, providing basic functionalities such as handling JSON-RPC requests and real-time communication through Server-Sent Events (SSE).
Use cases
Use cases for mcp-node-server include creating simple applications that require real-time data updates, testing JSON-RPC interactions, and serving as a learning tool for developers who want to understand the basics of MCP and server-client communication.
How to use
To use mcp-node-server, clone the repository from GitHub, install the necessary dependencies using npm, and run the server in development mode or build it for production. Configuration is required in the Cursor IDE to integrate the MCP server.
Key features
Key features of mcp-node-server include JSON-RPC request handling, example tools like ‘add-number’ and ‘greet’, support for Server-Sent Events (SSE) for real-time communication, and a straightforward client-server code structure for easy testing and learning.
Where to use
mcp-node-server can be used in various fields such as web development, real-time applications, and educational purposes for learning about server-client interactions and the Model Context Protocol.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Mcp Node Server
mcp-node-server is a TypeScript server that implements the Model Context Protocol (MCP). It serves as a simple example to demonstrate how an MCP server operates, providing basic functionalities such as handling JSON-RPC requests and real-time communication through Server-Sent Events (SSE).
Use cases
Use cases for mcp-node-server include creating simple applications that require real-time data updates, testing JSON-RPC interactions, and serving as a learning tool for developers who want to understand the basics of MCP and server-client communication.
How to use
To use mcp-node-server, clone the repository from GitHub, install the necessary dependencies using npm, and run the server in development mode or build it for production. Configuration is required in the Cursor IDE to integrate the MCP server.
Key features
Key features of mcp-node-server include JSON-RPC request handling, example tools like ‘add-number’ and ‘greet’, support for Server-Sent Events (SSE) for real-time communication, and a straightforward client-server code structure for easy testing and learning.
Where to use
mcp-node-server can be used in various fields such as web development, real-time applications, and educational purposes for learning about server-client interactions and the Model Context Protocol.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
MCP MateusData Server
A TypeScript server implementing a simple Model Context Protocol (MCP) — a true “Hello World” example to help you understand how an MCP server works. This project includes basic features such as:
- Handling JSON-RPC requests
- Example tools like
add-number
andgreet
- Support for Server-Sent Events (SSE) for real-time communication
- Simple client and server code for easy testing and learning
Prerequisites
- Node.js (v20 or higher)
- npm (comes with Node.js)
- Cursor IDE (recommended)
Installation
- Clone the repository:
git clone [email protected]:mateusdata/mcp-mateusdata-server.git
cd mcp-mateusdata-server
- Install dependencies:
npm install
Running the Project
Development mode:
npm run dev
For build and production run:
npm run build npm start
Adding the MCP Server in Cursor
In the Cursor configuration file, add:
{
"mcpServers": {
"mateusdata-mcp-server": {
"command": "node",
"args": [
"path/to/mcp-mateusdata-server/build/index.js"
]
}
}
}
Project Structure
mcp-mateusdata-server/
├── build/ # Compiled JavaScript files
├── src/ # Source code
└── server.ts # Simple MCP server example
│ └── client.js # Simple MCP client example
├── node_modules/ # Project dependencies
├── package.json # Project configuration and dependencies
└── tsconfig.json # TypeScript configuration
About
This repository demonstrates a minimal implementation of the Model Context Protocol (MCP). The src/client.js
file provides an example of how a client can interact with the server, useful for testing and initial learning.
Usage Examples
You can interact with the MCP server directly from your terminal using Bash, Zsh, or Fish. For example, to list available tools:
To call the tool "add-number"
with values a = 3
and b = 5
:
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"add-number","arguments":{"a":3,"b":5}}}' | node build/index.js
To call the "greet"
tool with the parameter nome = "Mateus"
:
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"greet","arguments":{"name":"Mateus"}}}' | node build/index.js
Using SSE (Server-Sent Events) with the MCP Server
You can interact with the MCP server using SSE for real-time communication. Start the server:
node build/index.js sse
You should see:
MCP Server running with SSE on http://localhost:8765/sse
Connecting to the SSE endpoint
In a new terminal, connect using curl
:
curl http://localhost:8765/sse
Example output:
event: endpoint data: /messages?sessionId=d9bfe7df-937c-475e-8d80-904a99f9ef4d
Sending a message to the server
Copy the sessionId
from the previous output and use it to send a request:
curl -X POST http://localhost:8765/messages \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"greet","arguments":{"name":"Mateus"}}}'
The server will respond via the SSE connection with the result of your request.
This project is licensed under the MIT License.
DevTools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.