srijonchakraborty/mcp-node-server
If you are the rightful owner of mcp-node-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Hello World MCP Server is a demonstration project for setting up a server using the Model Context Protocol (MCP) SDK, showcasing integration with existing services.
Hello World MCP Server
Welcome to the Hello World MCP Server! This project demonstrates how to set up a server using the Model Context Protocol (MCP) SDK. It includes tools, prompts, and endpoints for handling server-sent events (SSE) and messages.
This project is part of the blog post: Building a TypeScript MCP Server: A Guide for Integrating Existing Services. Visit the blog to learn more about the concepts and implementation details behind this project.
Features
- MCP Integration: Uses the MCP SDK to create a server with tools and prompts.
- Express Framework: Handles HTTP endpoints for SSE and message communication.
- Environment Configuration: Uses
.env
files for easy configuration. - TypeScript Support: Fully typed codebase for better developer experience.
Prerequisites
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher) - Download here
- npm (comes with Node.js) or yarn
Getting Started
Follow these steps to set up and run the project:
1. Clone the Repository
If you haven't already, clone the repository to your local machine:
git clone https://github.com/your-username/hello-world-mcp-server.git
cd hello-world-mcp-server
2. Install Dependencies
Install the required dependencies using npm or yarn:
npm install
or
yarn install
3. Configure Environment Variables
The project uses a .env
file to configure the server's port. A sample .env.example
file is provided.
-
Copy the
.env.example
file to.env
:cp .env.example .env
-
Open the
.env
file and update thePORT
variable if needed. The default is4000
.PORT=4000
4. Build the Project
Compile the TypeScript code into JavaScript:
npm run build
This will generate the compiled files in the dist
directory.
5. Run the Server
Start the server in production mode:
npm start
Alternatively, for development mode with live reloading, use:
npm run dev
Testing the Server
1. Using the MCP Inspector
The MCP Inspector is a tool to test and inspect your MCP server. You can use it to verify that your tools and prompts are registered correctly.
Run the following command to inspect your server:
npx @modelcontextprotocol/inspector ./dist/server.js
This will open an interactive interface where you can test the tools and prompts registered in your server like below.
Project Structure
Hereβs an overview of the project structure:
hello-world-mcp-server/
βββ src/
β βββ server.ts # Main server entry point
β βββ modules/
β β βββ tools.ts # Registers MCP tools
β β βββ prompts.ts # Registers MCP prompts
β β βββ transports.ts # Handles SSE and message endpoints
βββ .env # Environment variables
βββ .env.example # Example environment variables
βββ package.json # Project metadata and scripts
βββ tsconfig.json # TypeScript configuration
βββ README.md # Project documentation
Troubleshooting
Common Issues
- Port Already in Use: If you see an error about the port being in use, update the
PORT
variable in the.env
file. - TypeScript Errors: Ensure youβve installed all dependencies and are using the correct Node.js version.
Debugging
Use the following command to debug the server:
npm run dev
This will start the server with live reloading and detailed logs.
Related Projects
- Ollama Pydantic Project: A counter project implementing an LLM agent that utilizes the tools developed in this project. Learn more about it in the blog post: Integrating MCP Server with a Local LLM Chatbot.
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
License
This project is licensed under the MIT License. See the file for details.