nan-mcp-server
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., "@nan-mcp-serverGenerate an image of a cozy cabin in the snowy mountains"
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.
NaN MCP Server
Servidor MCP (Model Context Protocol) que expone las herramientas de media de la API de NaN (api.nan.builders) para cualquier cliente compatible con MCP.
Al ser un estándar abierto, funciona con opencode, Claude Code, Codex, Pi, Cursor, Windsurf, Zed, etc.
Herramientas
Herramienta | Descripción | Modelo |
| Generar imagen desde texto |
|
| Editar imagen (imagen→imagen) |
|
| Sintetizar audio desde texto |
|
| Listar voces kokoro por idioma | — |
| Transcribir audio a texto |
|
| Embeddings vectoriales (4096 dims) |
|
| Reordenar documentos por relevancia (RAG) |
|
| Listar modelos disponibles con tu key | — |
Related MCP server: imagine-mcp
Requisitos
Node.js >= 18
Una API key de NaN (
sk-...)
Instalación
El paquete se distribuye por npm. La forma más simple de usarlo en cualquier cliente MCP es sin instalarlo: npx lo ejecuta al vuelo.
export NAN_API_KEY="sk-tu-key-aqui"
npx -y nan-mcp-server@latestO instálalo localmente:
npm install -g nan-mcp-server
nan-mcp-serverConfiguración
El servidor se ejecuta vía stdio (proceso local). Solo necesita una variable de entorno: NAN_API_KEY.
Las imágenes y audios generados se guardan en ~/nan-mcp-output/ (configurable con NAN_OUTPUT_DIR).
Configuración por cliente
Añade a tu opencode.jsonc (o créalo en ~/.config/opencode/):
{
"mcp": {
"nan-media": {
"type": "local",
"command": ["npx", "-y", "nan-mcp-server@latest"],
"environment": {
"NAN_API_KEY": "{env:NAN_API_KEY}"
}
}
}
}Instalar vía CLI:
claude mcp add nan-media --scope user -e NAN_API_KEY='${NAN_API_KEY}' -- \
npx -y nan-mcp-server@latestO en .mcp.json:
{
"mcpServers": {
"nan-media": {
"type": "stdio",
"command": "npx",
"args": ["-y", "nan-mcp-server@latest"],
"env": {
"NAN_API_KEY": "${NAN_API_KEY}"
}
}
}
}En ~/.codex/config.toml:
[mcp_servers.nan]
url = "https://api.nan.builders/mcp"
bearer_token_env_var = "NAN_API_KEY"
[mcp_servers.nan-media]
command = "npx"
args = ["-y", "nan-mcp-server@latest"]Seguridad: codex lee
NAN_API_KEYde una variable de entorno — el servidor remoto víabearer_token_env_vary el servidor local la hereda del shell. Asíconfig.tomlse puede subir a GitHub sin exponer secretos.
Pi usa pi-mcp-adapter y lee los archivos MCP estándar. Instala el adaptador:
pi install npm:pi-mcp-adapterCrea ~/.config/mcp/mcp.json (config compartido MCP estándar):
{
"mcpServers": {
"nan": {
"url": "https://api.nan.builders/mcp",
"auth": "bearer",
"bearerTokenEnv": "NAN_API_KEY"
},
"nan-media": {
"command": "npx",
"args": ["-y", "nan-mcp-server@latest"],
"env": {
"NAN_API_KEY": "$env:NAN_API_KEY"
}
}
}
}El servidor
nan(remoto) usaauth: "bearer"conbearerTokenEnv;nan-media(local) interpola la key con$env:NAN_API_KEY. Ningún secreto queda en el archivo.
Para usar los modelos de NaN en Pi, define el proveedor en ~/.pi/agent/models.json:
{
"providers": {
"nan": {
"baseUrl": "https://api.nan.builders/v1",
"api": "openai-completions",
"apiKey": "$NAN_API_KEY",
"models": [
{ "id": "deepseek-v4-flash", "name": "DeepSeek V4 Flash", "reasoning": true, "input": ["text"], "contextWindow": 1048576 },
{ "id": "qwen3.6", "name": "Qwen 3.6", "reasoning": true, "input": ["text", "image"], "contextWindow": 262144 }
]
}
}
}Luego usa --provider nan --model <id> (p.ej. pi --provider nan --model deepseek-v4-flash).
En la configuración de MCP del cliente, añade un servidor stdio:
Comando: npx -y nan-mcp-server@latest
Variables: NAN_API_KEY=tu-clave-de-nan-builders (no la incluyas en el config versionado)Uso
Una vez conectado, pide al agente:
"Genera una imagen de un faro al atardecer con nan-media"
"Sintetiza en español: Hola mundo, voz ef_dora"
"Transcribe el audio /ruta/audio.mp3"
"Reordena estos documentos según la query X"
Variables de entorno
Variable | Obligatoria | Descripción |
| Sí | API key de NaN |
| No | Base URL de la API (default |
| No | Directorio de salida (default |
Desarrollo
Estructura
nan-mcp-server/
├── server.js # Servidor MCP + herramientas
├── test/server.test.js # Tests (node:test, sin dependencias extra)
├── package.json
└── README.mdTesting
Los tests usan el test runner nativo de Node (node:test), sin dependencias adicionales. No hacen llamadas a la API (usan un valor de prueba para NAN_API_KEY), así que se ejecutan sin red ni credenciales.
npm testPara probar el servidor manualmente contra la API real (requiere key):
NAN_API_KEY=sk-tu-key-aqui node server.jsY luego una llamada de ejemplo vía stdio:
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}\n{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}\n' \
| node server.jsPublicación / CI
El código no contiene secretos:
NAN_API_KEYse lee solo del entorno.El
.gitignoreexcluyenode_modules/, logs y.env.Para CI, basta con
npm install && npm test.
Notas
Límites de la API: generación de imágenes 100 req/mes; web search 20 req/min (este servidor no incluye web_search, se expone vía el MCP remoto oficial).
El servidor no contiene ningún secreto en el código: solo lee
NAN_API_KEYdel entorno.
Licencia
MIT — ver LICENSE.
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.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.Last updated1151MIT
- AlicenseBqualityAmaintenanceProduction-grade MCP server for image and video understanding and generation across Gemini, OpenAI, and Grok.Last updated54Apache 2.0
- Alicense-qualityBmaintenanceModel Context Protocol server exposing MiniMax's image, speech, music, and video generation APIs as MCP tools for use with any MCP-aware host.Last updated4,600MIT
- AlicenseAqualityCmaintenanceMulti-provider media generation MCP server that generates images, videos, audio, and transcriptions from text prompts using OpenAI, xAI, Gemini, ElevenLabs, and BFL through a single unified interface.Last updated6691MIT
Related MCP Connectors
MCP server for NanoBanana AI image generation and editing
MCP server for Producer/Riffusion AI music generation
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/luciferfran/nan-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server