node-mcp-poc
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@node-mcp-pocadd 3 and 4"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
node-mcp-poc
A minimal Model Context Protocol server in Node.js/TypeScript. It runs over HTTP (Express + Streamable HTTP) by default, with stdio available as a fallback, and is attachable to Claude Code.
It exposes four demo tools:
Tool | Input | Returns |
|
| the sum, e.g. |
|
| the same text |
|
| current time (ISO + localized) |
|
| HTTP GET body (JSON pretty-printed) |
Build
Requires Node.js 24 (see .nvmrc) and pnpm. Builds and tests run on
Vite / Vitest.
pnpm install
pnpm build # vite build -> build/index.js (server) + build/lambda.js (Lambda)Related MCP server: mcpscope
Run
The server reads its config from the environment (a .env file is loaded
automatically — see .env.example):
Variable | Default | Purpose |
|
|
|
|
| HTTP port; endpoint is |
|
| pino log level |
| — |
|
pnpm start # HTTP server on http://localhost:3219/mcp
pnpm start:stdio # stdio transport insteadAttach to Claude Code
This repo ships a project-level .mcp.json pointing at the HTTP endpoint, so
within this directory the server is picked up automatically once it's running:
{
"mcpServers": {
"node-poc": { "type": "http", "url": "http://localhost:3219/mcp" },
},
}Start the server (pnpm start), then start (or restart) a Claude Code session
and try:
"add 2 and 3"
"echo hello"
"what time is it in America/New_York"
"fetch https://api.github.com/zen via node-poc"
Check it's connected with claude mcp list.
To register it from anywhere instead of relying on .mcp.json:
# HTTP (server must already be running)
claude mcp add --transport http node-poc http://localhost:3219/mcp
# or stdio (Claude Code launches the process for you)
claude mcp add node-poc -- node /ABSOLUTE/PATH/TO/node-mcp-poc/build/index.jsRemove it with:
claude mcp remove node-pocDevelop / debug
pnpm dev # rebuild + node --watch
pnpm test # vitest run
pnpm test:watch # vitest (watch mode)
pnpm typecheck # tsc --noEmit
pnpm smoke # build + stdio client smoke test (scripts/smoke.mjs)
pnpm smoke:http # HTTP client smoke test (scripts/smoke-http.mjs)
pnpm logs # tail logs/server.log through pino-pretty
pnpm inspect # open the MCP Inspector against the serverDeploy
Deploying to AWS? See docs/README.md.
Lambda (SAM CLI) —
src/lambda.tsis a stateless variant of the server;template.yamldeploys it onnodejs24.xbehind a Function URL.pnpm sam:build && sam deploy --guided.Container (App Runner / ECS Fargate) — the prime target for the stateful
src/index.tsserver (in-memory sessions + SSE), which Lambda can't host.
Notes
The tools are defined once in
src/mcp.ts(createMcpServer) and shared by both entry points:src/index.ts(long-running, stateful HTTP/stdio) andsrc/lambda.ts(stateless, for Lambda).In HTTP mode each MCP session gets its own server instance, keyed by the
Mcp-Session-Idheader; logs go to stdout (pretty-printed whenNODE_ENV=development).In stdio mode stdout is reserved for the JSON-RPC wire, so logs go to stderr and
logs/server.log(view withpnpm logs).Add new tools in
src/mcp.tsviaserver.registerTool(...).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gurunate/node-mcp-poc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server