mcpField
G
GRACE Hello MCP

GRACE Hello MCP

Remote
grace-hello-mcp.onrender.comDeveloper Tools0Updated 18w ago

About GRACE Hello MCP

GRACE Hello MCP is a small remote MCP server for testing or demonstrating a greeting tool. It also advertises a custom PNG icon in its initialization response.

Key features

  1. 01Expose the say_hello tool
  2. 02Advertise a custom server icon
  3. 03Use Streamable HTTP transport
  4. 04Deploy with a Render blueprint

Use cases

  1. 01Test an MCP client's tool connection
  2. 02Demonstrate MCP server icon metadata

MCP support

It exposes the say_hello tool at an MCP endpoint over Streamable HTTP, and includes its custom icon in server metadata.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://grace-hello-mcp.onrender.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

GRACE Hello MCP

A very simple remote MCP server (Streamable HTTP transport) that advertises a custom icon per the MCP spec (rev 2025-11-25, SEP-973), ready to deploy on Render.

It exposes one tool, say_hello, and serves a custom PNG icon that is advertised in the initialize response's serverInfo.icons.

Project layout

FilePurpose
server.jsThe MCP server (Express + @modelcontextprotocol/sdk, Streamable HTTP).
make_icon.pyGenerates static/icon.png (stdlib only, no deps). Edit to change the icon.
static/icon.pngThe icon that gets advertised + served.
render.yamlRender blueprint for one-click deploy.

Run locally

npm install
npm start            # serves on http://localhost:3000

Quick smoke test:

curl -s -X POST http://localhost:3000/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'

You should see serverInfo.icons in the response.

Or use the official MCP Inspector (renders the icon):

npx @modelcontextprotocol/inspector
# then connect to http://localhost:3000/mcp  (Streamable HTTP)

Deploy on Render

  1. Push this folder to a GitHub repo.
  2. In Render: New ➜ Blueprint, point it at the repo. It reads render.yaml and creates a free Node web service. (Or New ➜ Web Service manually: build npm install, start npm start.)
  3. Render injects RENDER_EXTERNAL_URL automatically, so server.js builds the correct absolute https://<your-service>.onrender.com/icon.png icon URL — no manual env vars needed.
  4. Your MCP endpoint is https://<your-service>.onrender.com/mcp.

Note: Render's free plan sleeps on idle, so the first request after a while may take ~30s to wake.

Add it to an MCP client

Claude Code (CLI):

claude mcp add --transport http grace-hello https://<your-service>.onrender.com/mcp

Then in a session: /mcp to see it, and ask Claude to "use say_hello to greet Rajith".

Claude Desktop / other GUI clients: add a remote/HTTP MCP server pointing at https://<your-service>.onrender.com/mcp.

About the icon (read this)

This server advertises its icon correctly per the MCP spec: the icons array appears on serverInfo (and on the tool). It must be an https:// or data: URI — we use the hosted https://.../icon.png.

Whether a client shows it is up to that client. Icon rendering is a newer, inconsistently-supported feature:

  • ✅ MCP Inspector and other spec-aware clients read and display it.
  • ⚠️ Claude Code / Claude Desktop currently still show their default placeholder for arbitrary third-party servers — the branded icons in Claude's marketplace are first-party integrations configured on Anthropic's side. As client icon support matures, this server is already compliant and will "just work" with no changes.

Customize

  • Icon: edit colors/shapes in make_icon.py, then npm run make-icon (regenerates static/icon.png). Or just drop your own 512×512 PNG at static/icon.png.
  • Tools: add more setRequestHandler cases / tool definitions in server.js.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.