mcp-nodejs
A Node.js MCP server example for the OpenWeather API, requiring an API key.
Bring the model context protocol (MCP) in action:
- Generate an MCP server (Node.js) from Postman
- Deploy the server locally
- Test the server from a local MCP client (Cursor)
The MCP server in this example connects to the OpenWeather API.
Actions:
Develop
Generate an MCP server, using Postman.
See the sections below for a description of the actions taken.
Install Postman
sudo snap install postman
Start Postman
postman
Login with an account > free plan.
Generate
In Postman:
- API network > MCP Generator
- Search > Openweathermap (by API Evangelist)
- Select APIs > Add Requests
- Generate
- Download ZIP
- Unzip
The API requests in this example serve as the "tools" that an LLM can use.
Build
In the ./src directory:
npm install
Deploy (MCP server)
Start the MCP server and configure it with an API key to access the underlying API.
See the sections below for a description of the actions taken.
Start
In the ./src directory:
node mcpServer.js
Configure
In this example, we use the OpenWeather API.
In OpenWeather:
- Create an account or sign-in
- Save the API key
- https://openweathermap.org/api
Copy the API key into src/.env (not checked in in this repo):
- OPENWEATHERMAP_API_KEY=your_copied_key
Restart
In the ./src directory:
node mcpServer.js
Deploy (MCP client)
Install and configure Cursor as an MCP client that embeds the above deployed MCP server into its models.
In this example, no specific model binding is selected (we just use the Cursor defaults).
See the sections below for a description of the actions taken.
Install Cursor
Install:
Observe preconfigured models:
- Cursor settings > Models
Configure Cursor
Add the running MCP server to Cursor.
- In Cursor, select Cursor Settings > Tools & Integrations > MCP tools > New MCP Server
- Add args: "your-parent-dirs/mcpServer.js"
{ "mcpServers": { "weather-mcp-agent": { "command": "node", "args": ["your-parent-dirs/mcp-nodejs/src/mcpServer.js"] } } }
Observe a green dot, indicating that the MCP-server is ready to use.

Sometimes it seems additionally selecting the disable/enable switch is required.
Test
Ask a question to the models:
- Ctrl-I > "What's the weather in Amsterdam" > Accept
Based on the question, the LLM internally reasons and decides which tool to use in order to produce an answer.

Credits
This example is based on:
เซิร์ฟเวอร์ที่เกี่ยวข้อง
Scout Monitoring MCP
ผู้สนับสนุนPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
ผู้สนับสนุนAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Creatify
MCP Server that exposes Creatify AI API capabilities for AI video generation, including avatar videos, URL-to-video conversion, text-to-speech, and AI-powered editing tools.
Talk to Figma MCP
A server for integrating with Figma, allowing you to interact with your design files.
Vibe-Coder
A server for a structured, LLM-based coding workflow, from feature clarification and planning to phased development and progress tracking.
Read Docs MCP
Enables AI agents to access and understand package documentation from local or remote repositories.
Swift MCP Server - JavaScript Version
Answers Swift and SwiftUI questions based on the '100 Days of SwiftUI' course using a local SQLite database.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, without authentication.
Brainfaq
MCP server for the Brainfuck programming language that allows your favourite LLM to debug Brainfuck programs.
AI Agent Timeline MCP Server
A timeline tool for AI agents to post their thoughts and progress while working.
MCP Chain of Draft (CoD) Prompt Tool
Enhances LLM reasoning by transforming prompts into Chain of Draft or Chain of Thought formats, improving quality and reducing token usage. Requires API keys for external LLM services.
MCP Server Template
A starter template for building a Model Context Protocol (MCP) server using TypeScript and Node.js.