GNM Head — Interactive 3D Face Model

by hugging-appsco.huggingface.hugging-apps/gnm-v3-head-demo

Live 3D demo of Google's GNM parametric head model

  • Remote endpoint
  • 46 tools
  • APACHE-2.0

Uptime

Checked  · every day

100%from 4 days of checks

Up without downtime on 4 of 4 days with data.

  • No downtime
  • Degraded
  • Down over 5 minutes
  • No data
  • Not checked yet

Response time

Median 1415 ms, slowest 5% 1906 ms for the handshake and the tool list, over 30 days.

2000 ms1000 ms0

How far each check got

  • Reached the address 100%
  • Completed the handshake 100%
  • Listed its tools 100%

46 tools at the last answer.

Every day
DayResultChecksMedian
3 Nov (today)No downtime11362 ms
2 NovNo downtime1of 11581 ms
1 NovNo downtime1of 11274 ms
31 OctNo downtime21438 ms

A failure counts as down time only when a second check five minutes later fails too. How we check

Connect to the publisher's own endpoint

Add to cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers):

{
  "mcpServers": {
    "gnm-v3-head-demo": {
      "type": "sse",
      "url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
    }
  }
}
For agents: the install prompt

Every step above as one Markdown text, for an assistant installing it for you.

# Install the MCP server GNM Head — Interactive 3D Face Model (`co.huggingface.hugging-apps/gnm-v3-head-demo`)

Its page: https://plug.directory/servers/co.huggingface.hugging-apps/gnm-v3-head-demo

It runs on the publisher's servers; the client connects to its URL.

Use the section for the person's client.

## Claude Desktop

Paste into Settings › Connectors › Add custom connector:

```text
https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse
```

## Claude Code

Run in a terminal:

```sh
claude mcp add --transport sse gnm-v3-head-demo https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse
```

## Cursor, Devin Desktop, LM Studio, Gemini CLI, oterm, ECA

Merge into the place for the person's client:

- Cursor: ~/.cursor/mcp.json
- Devin Desktop: ~/.config/devin/mcp_config.json
- LM Studio: mcp.json (Program › Install › Edit mcp.json)
- Gemini CLI: ~/.gemini/settings.json
- oterm: config.json in oterm's data folder (~/Library/Application Support/oterm on macOS, ~/.local/share/oterm on Linux, %APPDATA%\oterm on Windows)
- ECA: ~/.config/eca/config.json (global) or .eca/config.json in the project

```json
{
  "mcpServers": {
    "gnm-v3-head-demo": {
      "url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## VS Code

Merge into .vscode/mcp.json:

```json
{
  "servers": {
    "gnm-v3-head-demo": {
      "type": "sse",
      "url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## Zed

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Cline, AnythingLLM, Augment Code

Merge into the place for the person's client:

- Cline: cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers)
- AnythingLLM: anythingllm_mcp_servers.json in the AnythingLLM storage plugins directory
- Augment Code: Augment Settings Panel – MCP section – Import from JSON (VS Code extension)

```json
{
  "mcpServers": {
    "gnm-v3-head-demo": {
      "type": "sse",
      "url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

## Continue

Merge into ~/.continue/config.yaml:

```yaml
mcpServers:
  - name: "gnm-v3-head-demo"
    type: sse
    url: "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
```

## Goose

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Codex

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## mcp-client-cli, TUUI, BoltAI, Bob Shell, Kiro, Kiro CLI

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Agenvoy

This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.

## Amp

Merge into ~/.config/amp/settings.json (user) or .amp/settings.json (workspace):

```json
{
  "amp.mcpServers": {
    "gnm-v3-head-demo": {
      "url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
    }
  }
}
```

Then restart the client, or reload its MCP servers, and ask it to list the server's tools to confirm it started.

Tools 46

  • gnm_v3_head_demo_clear_semantic_expression Clear any sampled expression and recompute the mesh from the sliders. Returns: A tuple of (positions_json, glb_path, *expression_slider_values).
  • gnm_v3_head_demo_export_glb Export the current head as a glTF-Binary (.glb) mesh file. Returns: Path to the exported .glb mesh, for download.
  • gnm_v3_head_demo_neutral Reset every parameter to the neutral template head. Returns: A tuple of (positions_json, glb_path, status, *reset_slider_values).
  • gnm_v3_head_demo_render_mesh Full render used by the discrete actions. Returns: A tuple of (positions_json, glb_path, status).
  • gnm_v3_head_demo_render_view Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).
  • gnm_v3_head_demo_render_view_1 Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).
  • gnm_v3_head_demo_render_view_10 Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).
  • gnm_v3_head_demo_render_view_11 Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).
  • gnm_v3_head_demo_render_view_12 Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).
  • gnm_v3_head_demo_render_view_13 Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).
  • gnm_v3_head_demo_render_view_14 Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).
  • gnm_v3_head_demo_render_view_15 Live-view handler: new vertex positions plus a timing readout. This is the hot path -- it runs on every slider step -- so it deliberately skips the .glb export, which costs far more than the model evaluation itself. Use the export button for a downloadable mesh. Returns: A tuple of (positions_json, status).

From Hugging Face Spaces. Report a problem