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 3 of 3 days with data.
- No downtime
- Degraded
- Down over 5 minutes
- No data
- Not checked yet
Response time
Median 1362 ms, slowest 5% 1906 ms for the handshake and the tool list, over 30 days.
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
| Day | Result | Checks | Median |
|---|---|---|---|
| 3 Nov (today) | No verdict yet | 0 | – |
| 2 Nov | No downtime | 1of 1 | 1581 ms |
| 1 Nov | No downtime | 1of 1 | 1274 ms |
| 31 Oct | No downtime | 2 | 1438 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
Paste into Settings › Connectors › Add custom connector:
https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse Run in a terminal:
claude mcp add --transport sse gnm-v3-head-demo https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse Add to ~/.cursor/mcp.json:
Add to ~/.config/devin/mcp_config.json:
Add to mcp.json (Program › Install › Edit mcp.json):
Add to ~/.gemini/settings.json:
Add to config.json in oterm's data folder (~/Library/Application Support/oterm on macOS, ~/.local/share/oterm on Linux, %APPDATA%\oterm on Windows):
Add to ~/.config/eca/config.json (global) or .eca/config.json in the project:
{
"mcpServers": {
"gnm-v3-head-demo": {
"url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
}
}
} Add to .vscode/mcp.json:
{
"servers": {
"gnm-v3-head-demo": {
"type": "sse",
"url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
}
}
} Add to ~/.config/zed/settings.json:
{
"context_servers": {
"gnm-v3-head-demo": {
"url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
}
}
} This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to cline_mcp_settings.json (MCP Servers › Configure › Configure MCP Servers):
Add to anythingllm_mcp_servers.json in the AnythingLLM storage plugins directory:
Add to Augment Settings Panel – MCP section – Import from JSON (VS Code extension):
{
"mcpServers": {
"gnm-v3-head-demo": {
"type": "sse",
"url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
}
}
} Add to ~/.continue/config.yaml:
mcpServers:
- name: "gnm-v3-head-demo"
type: sse
url: "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse" Add to ~/.config/goose/config.yaml:
extensions:
"gnm-v3-head-demo":
type: streamable_http
name: "gnm-v3-head-demo"
enabled: true
uri: "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
headers: {}
env_keys: []
envs: {}
timeout: 300 This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Run in a terminal:
codex mcp add gnm-v3-head-demo --url https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to ~/.llm/config.json:
Add to resources/assets/config/mcp.json in the installed app:
Add to ~/.boltai/mcp.json:
Add to ~/.bob/settings/mcp.json (global) or .bob/mcp.json (project):
Add to ~/.kiro/settings/mcp.json (user) or .kiro/settings/mcp.json (workspace):
Add to ~/.kiro/settings/mcp.json (user) or .kiro/settings/mcp.json (workspace):
{
"mcpServers": {
"gnm-v3-head-demo": {
"url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
}
}
} This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to ~/.config/agenvoy/mcp.json:
{
"servers": {
"gnm-v3-head-demo": {
"url": "https://hugging-apps-gnm-v3-head-demo.hf.space/gradio_api/mcp/sse"
}
}
} This server's endpoint speaks only SSE, which this client's documentation does not list among its transports; use another client for it.
Add to ~/.config/amp/settings.json (user) or .amp/settings.json (workspace):
{
"amp.mcpServers": {
"gnm-v3-head-demo": {
"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_expressionClear 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_glbExport the current head as a glTF-Binary (.glb) mesh file. Returns: Path to the exported .glb mesh, for download.gnm_v3_head_demo_neutralReset every parameter to the neutral template head. Returns: A tuple of (positions_json, glb_path, status, *reset_slider_values).gnm_v3_head_demo_render_meshFull render used by the discrete actions. Returns: A tuple of (positions_json, glb_path, status).gnm_v3_head_demo_render_viewLive-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_1Live-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_10Live-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_11Live-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_12Live-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_13Live-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_14Live-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_15Live-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