A minimal Model Context Protocol (MCP) server written in TypeScript. This project demonstrates how to create MCP-compliant resources and tools for use with LLMs and MCP-enabled clients like Claude Desktop.

-
MCP Resources:
Provides simple resources athello://greeting
,hello://info
, and a resource list athello://list
. -
MCP Tool:
AhelloTool
that echoes messages or returns a default greeting. -
Stdio Transport:
Communicates via standard input/output, making it easy to integrate with MCP clients.
npm install
Compile TypeScript source files to JavaScript in the dist/
directory:
npm run build
npm start
This will start the MCP server via Node.js using the built output.
Integration tests are provided to verify the MCP server works end-to-end:
npm test
This runs the tests in src/integration.test.ts
using Jest.
You can configure Claude Desktop or any MCP client to use this server as a plugin/tool by specifying the command to launch the MCP server.
Add the following to your Claude Desktop settings (replace the path with your actual project path):
"hello-world-mcp": {
"command": "node",
"args": [
"/path/to/mcp-hello-world-ts/dist/index.js"
]
}
- Replace
/path/to/mcp-hello-world-ts/
with the full path to where you cloned this repo. - Make sure you have built the project (
npm run build
) before starting Claude Desktop.
.
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── resources/helloResource.ts # MCP resource definitions
│ └── tools/helloTool.ts # MCP tool definition
├── dist/ # Compiled JS output
├── package.json
├── tsconfig.json
├── README.md
└── ...
- To add new tools or resources, create new files in
src/resources/
orsrc/tools/
and register them insrc/index.ts
. - Modify
helloResource.ts
orhelloTool.ts
to change the greeting or add additional functionality.
MIT License