2.0 KiB
2.0 KiB
Qwen Code Context: Node.js MCP Server
Project Overview
This is a Node.js-based Model Context Protocol (MCP) server implementation that provides tools for external clients to interact with. The server uses the @modelcontextprotocol/sdk to implement the MCP specification and offers tools like greeting and weather information retrieval.
Project Structure
index.js: Main server implementation containing tool registrations and server startup logicpackage.json: Project metadata and dependenciespackage-lock.json: Dependency lock filenode_modules/: Project dependencies
Key Dependencies
@modelcontextprotocol/sdk: Core SDK for MCP implementationzod: For runtime type checking and validation of tool parameters
Architecture
The server implements the Model Context Protocol and registers two tools:
say_hello: A simple greeting tool that takes a name and returns a personalized greetingget_weather: A weather information tool that fetches current weather data for a given city using WeatherAPI
Building and Running
- To run the server:
node index.js - The server uses stdio transport for communication with clients
- For the weather tool to work, a
WEATHER_API_KEYenvironment variable must be set
Development Conventions
- Uses ES modules (indicated by "type": "module" in package.json)
- Implements async/await for handling asynchronous operations
- Uses Zod for parameter validation
- Includes proper error handling for robust operation
- Logs important messages to stderr to separate them from data output
- Follows MCP specification for return value formatting
Configuration
The weather tool requires a WEATHER_API_KEY environment variable to be set to access the weather API service.
Purpose
This project serves as an example MCP server implementation that demonstrates how to register and implement tools that can be called by MCP-compatible clients. It's designed to be extensible for adding more tools as needed.
Always respond in 中文