Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NEURALDRAFT_API_KEYYesProject API key. Format: ndsk_live_... or ndsk_test_...
NEURALDRAFT_API_URLNoOverride the API base. Useful for staging or local dev.https://api.neuraldraft.io/v1
NEURALDRAFT_PROJECT_IDNoOverride when one key spans multiple projects.
NEURALDRAFT_DISPLAY_NAMENoFriendly name shown in your IDE's MCP list when you run multiple projects.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
register_componentA

Register an HTML section as an editable component in the customer's Neural Draft admin. Call this for EVERY section you generate (hero, features, pricing, footer, etc.). The HTML should follow the editable-HTML conventions (read conventions://editable-html first). Returns the component_id (preserve in code as a comment) and the translation keys that were created.

generate_blog_postA

Kick off the AI blog generation pipeline (research → draft → image → SEO). Returns a Job ID immediately; poll with the get_job tool until status is 'completed'. Costs ~400 credits per post. Set translate_to_all=true to fan out into every project target language (5 credits per extra language).

get_blog_postA

Fetch a blog post (title, body, excerpt, SEO meta, translations) by id or slug. Use lang to pick a non-default translation. Read-only; doesn't consume credits.

update_blog_postA

Patch a blog post's title / body / SEO meta / status. Use language_code to pick which translation the text fields write to. Free; doesn't consume credits.

generate_imageA

Generate a brand-consistent image (uses the project's color palette and visual tone automatically). Returns a Job ID; poll with get_job until status is 'completed'. Pass key to make the image addressable later via GET /v1/images/{key} (recommended). Costs ~40 credits per image.

list_imagesA

List image keys registered for the current project (key, url, updated_at). Optional prefix narrows by user-key prefix (e.g. 'hero.' returns hero.background, hero.foreground). Read-only; doesn't consume credits.

get_imageA

Resolve the registered URL for an image key. Returns 404 if the key is not registered.

register_imageA

Bind a direct image URL to a stable key (e.g. 'hero.background' → https://cdn.example.com/hero.webp). Idempotent — calling twice with the same key swaps the URL. Costs 0 credits. For AI-generated images use generate_image instead.

replace_imageA

Replace the image at key either by: - url: synchronous URL swap (0 credits), or - regenerate: true + prompt: AI regeneration (~40 credits, returns a Job — poll get_job). Exactly one mode must be supplied.

delete_imageA

Remove an image key registration so the URL is no longer resolvable via GET /v1/images/{key}. Does NOT delete the underlying CDN bytes; only the key→URL binding. Returns 404 if the key wasn't registered.

delete_contentA

Permanently remove a content / translation key and all its locale values. Use when retiring copy that's no longer rendered anywhere on the site. Returns 404 if the key doesn't exist. Destructive — no undo.

delete_pageA

Remove a page. Defaults to soft-retire (is_active=false), which is reversible via update_page. Pass force: true for a hard delete (irreversible). The homepage cannot be deleted — promote a different page to homepage first.

delete_componentA

Permanently remove a registered component (editable HTML chunk) from the project. Use when retiring a section that's no longer on the page. Returns 404 if the component doesn't exist. Destructive — no undo.

list_galleriesA

List galleries for the current project, ordered by name (slug, name, items_count). Galleries are named, ordered collections of images used by AI-built customer sites. Read-only; doesn't consume credits.

get_galleryA

Fetch a gallery by slug. Returns name + ordered items array of {url, alt}. Use list_galleries first if you don't know the slug. Read-only; doesn't consume credits.

create_galleryA

Create a new gallery (named, ordered collection of image URLs). Slug is auto-derived from name when omitted. If the derived slug exists, -2, -3, ... is appended. Items are optional at create time — start empty and add via update_gallery. Max 200 items per gallery; each item is {url, alt?}.

update_galleryA

Update a gallery by slug. Pass name to rename, items to replace the full ordered list. Items is a FULL REPLACE — to add or reorder, fetch the current list with get_gallery, mutate, then send the complete new array. Slug is immutable; max 200 items.

delete_galleryA

Permanently delete a gallery by slug. Destructive — no undo. Only removes the gallery record (slug + ordered item list). Does NOT delete the underlying image URLs or registered images — those live separately.

create_translation_keysA

Create multiple translation keys with default values in one call. Use this for keys you reference outside of registered components (nav labels, error strings, etc.). Returns lists of newly-created and already-existing keys.

list_productsA

List the project's products (paginated). Read-only; does not consume credits. Use before scaffolding a storefront so you generate cards for real items.

get_productA

Fetch a single product by id. Read-only; does not consume credits. Use when scaffolding a /products/[slug] page.

setup_booking_widgetA

Resolve the embed HTML + script URL for a bookable service. Drop the returned embed_html into the page where the booking flow should appear. Read-only; does not consume credits.

get_jobA

Poll the status of an async Neural Draft job (returned by generate_blog_post, generate_image, etc.). Status flows pending → running → completed | failed | cancelled.

create_pageA

Create a page (slug + title + per-page SEO meta). Use this for multi-page sites — call once per page, then register_component for each section on that page. Free; doesn't consume credits.

list_pagesA

List the project's pages (slug, title, type, is_homepage, is_active). Read-only; doesn't consume credits.

get_pageA

Fetch a single page (slug, title, type, SEO meta) by id or slug. Read-only; doesn't consume credits.

update_pageA

Patch a page's fields and/or SEO meta. Only the fields you pass are touched. Use this to backfill meta_* on a page that was auto-created by register_component. Free; doesn't consume credits.

generate_videoA

Kick off a video generation and return a Job. Two tiers: tier='budget' (default) uses Wan 2.1 — 40 credits per clip. tier='premium' uses Kling v2.1 / Runway Gen4 — 300 credits, Build plan or higher only. Poll with get_job until status='completed'. Aspect ratios optimised for short-form social: 9:16 (Reels/TikTok), 16:9 (YouTube), 1:1 (feed).

create_bookable_serviceA

Create a service that customers can book. Two modes: • booking_type='time_slot' (default) — meeting / appointment style with fixed duration_minutes (e.g. 30, 60). • booking_type='date_range' — apartment / rental style with min_nights / max_nights. Free; embedding is via setup_booking_widget.

list_newsletter_subscribersA

List the project's captured newsletter subscribers (id, email, app_lead, subscribed_at). Read-only; doesn't consume credits. Use app_lead=true to filter to/from app-lead-only signups.

list_contact_form_submissionsA

List the project's captured contact-form submissions (id, email, subject, message, data). Read-only; doesn't consume credits. Use search= to substring-match against email, subject, or message.

get_brandA

Read the project's brand: voice, audience, content tone, colors, fonts, logo, target topics. Identical to the brand://current resource but exposed as a tool for clients that don't list resources. Read-only; doesn't consume credits.

update_brandA

Patch the project's brand: voice, audience, tone, colors, fonts, logo, languages. Only the fields you pass are updated; others are preserved (merge semantics). Free; doesn't consume credits.

get_contentA

Fetch a single translation key by name (returns the value for the chosen language plus every other locale that has been written). Use lang to pick the locale; defaults to the project default language. Read-only; doesn't consume credits.

list_contentA

List the project's translation keys (paginated). Use search for substring match on key name, scope to narrow to page/component/global, and lang to pick which language's value is returned alongside the all_locales map. Read-only; doesn't consume credits.

get_usageA

Read the project's current credit balance, monthly limit, reset date, and per-operation spend breakdown for this billing period. Use this to decide whether a multi-step generation will fit the budget before kicking it off. Read-only; doesn't consume credits.

list_blog_postsA

List the project's blog posts (paginated). Filter by status (draft|published|scheduled), category slug/name, tag, or language. Sort by created_at or published_at; prefix with '-' for descending. Defaults to '-created_at'. Read-only; doesn't consume credits.

find_workspacesA

List the Neural Draft workspaces (tenants) an email is registered against. Useful for multi-workspace login troubleshooting — the user knows the email but forgot which workspace. Hits the CENTRAL host (e.g. https://app.neuraldraft.io), not the per-tenant API. Always 200, even for unknown emails (anti-enumeration). Free; doesn't consume credits.

Prompts

Interactive templates invoked by user choice

NameDescription
scaffold_blog_pageGenerates /blog and /blog/[slug] for the chosen framework, fetching posts from Neural Draft.
scaffold_marketing_siteGenerate a complete marketing site whose copy, images, and design tokens live in Neural Draft.
connect_existing_siteMigrate a static or hand-coded site to read content from Neural Draft, so the customer can edit it without touching code.

Resources

Contextual data attached and managed by the client

NameDescription
brand-currentCurrent project brand: voice, audience, content tone, colors, fonts, logo, target topics. Read this BEFORE generating any UI or copy so the output is on-brand.
schema-blog-postJSON schema describing GET /v1/blog-posts response items. Read this when generating a /blog or /blog/[slug] page so field names line up.
schema-productJSON schema describing GET /v1/products response items. Read this when generating product cards or a storefront.
schema-bookingJSON schema describing bookable services, availability slots, and bookings.
conventions-editable-htmlHow to mark up generated HTML so it is editable in the Neural Draft admin (data-translate, data-image-key, runtime fetches).
conventions-api-usageAuth headers, error shape, rate limits, idempotency, retries, and async/job patterns for the Neural Draft Project API.

Latest Blog Posts

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/vbalagovic/neuraldraft-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server