Index / MCP servers / VHGENGINE

VHGENGINE MCP server

VHGENGINE is an MCP server with 45 tools an agent can call, among them add_credits, cancel_job, create_checkout. It answers at https://engine-production-3bdc.up.railway.app/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 4 September 2026; the last check, on 17 October 2026, succeeded.

Status
Answering
Tools
45
Reliability
10 of 10 checks
Response time
292 ms
Transport
streamable HTTP
Last checked
17 October 2026

Agents-first viral-hook engine: generate, score, and remix short-form hooks over MCP.

Description as the publisher wrote it.

The 45 tools VHGENGINE offers

ToolWhat it does
add_creditsCompatibility credit grant (1-10000); beta customer operations are already free. When VHGENGINE_ADMIN_KEY is configured on the deployment this requires a matching admin_key argument; otherwise it stays self-serve (unless VHGENGINE_FREE_CRED
Inputs: amount, api_key, idempotency_key, admin_key
cancel_jobCancel a job that is STILL QUEUED. Free, repeatable, never refunds. ALWAYS branch on `cancelled`; reason + next_action say what to do. A queued job was never charged (the worker charges), so credits_refunded is always 0. A RUNNING job canno
Inputs: job_id, api_key
create_checkoutGet a hosted-checkout link outside beta. Disabled while beta pricing is free. The REQUIRED idempotency_key creates or replays one durable order and Stripe is called under an order-derived key, so a retry never mints a second order or sessio
Inputs: pack, idempotency_key, success_url, cancel_url, api_key
create_creator_profileCreate an owned, versioned creator profile. Free; admin scope. At least one creator/audience/stance/fact is required. Returns the exact version, deny-by-default secondary-use decisions, receipts, and an unverified-attestation warning. Optio
Inputs: display_name, subject_relationship, authority_attested, creator, audience, stance
create_keyMint a new named API key; the plaintext is returned ONCE. Requires admin scope. Delegate safely (WP-SCOPE): optional scopes (subset of read|spend|admin; omit for full power) + daily_credit_cap (credits/day; omit for uncapped) hand a sub-age
Inputs: name, scopes, daily_credit_cap, api_key
delete_accountPermanently delete this account. TERMINAL, not reversible. Admin scope (WP-LIFE). Pass confirm="delete" (guards accidents). Revokes ALL keys and deletes live profile facts/consent, hooks, webhooks, deliveries, jobs and idempotency; KEEPS bo
Inputs: confirm, api_key
delete_creator_profileErase profile facts and consent history; retain a retraction marker. Admin scope. Already committed customer hook outputs are not silently deleted. No profile data is used for secondary learning or cross-customer retrieval today. One-way re
Inputs: profile_id, expected_version, confirm, idempotency_key, api_key
delete_webhookRemove this account's webhook (WP-M). Admin scope. Args: api_key (admin scope). Cost=free. Returns {deleted: true}. Errors: unauthorized, forbidden, not_found (none registered), rate_limited.
Inputs: api_key
export_usageExport ledger, hook, instance, lineage, outcome, profile, and retained-job data. Free; run BEFORE delete_account. Same JSON body as GET /v1/usage/export; CSV has events. UNBOUNDED: prefer paged reads on big accounts. Email is masked without
Inputs: tag, key_prefix, api_key
generate_hooksArchived source-free writer. Use research_hook_evidence instead. Always fails before model, template, provider, storage, or billing work. Research requires a real public source video with at least 50,000 observed views, a canonical link, an
generate_hooks_batchArchived source-free batch writer. Use research_hook_evidence instead. Always fails before model, template, provider, job, storage, or billing work. It cannot pad research supply with generated or paraphrased hooks. Errors: unauthorized; in
get_accountReturn this account's state + remaining rate-limit budget. Free read. `rate_limit` carries {limit, remaining, reset_epoch, reset_at, window_seconds} for the per-account window, the same budget REST clients read from X-RateLimit-* headers. P
Inputs: api_key
get_activitySee what this account's agents are doing: in-flight ops + recent ops. Free. `in_flight` merges the live-ops registry (real stage/pct/eta mid-run) with your queued/running jobs; `recent` is the last completed charged ops. Every row has a hum
Inputs: recent_limit, api_key
get_creator_profileGet the current or one exact historical creator-profile version. Read scope. Foreign, deleted, and unknown ids all return the same not_found envelope. Returns the same profile object as REST. Errors: unauthorized, forbidden, not_found, inva
Inputs: profile_id, version, api_key
get_estimatesThe measured/expected wait per generation mode. Free, no auth. Size a call before spending. Returns {op, modes:{instant|smart|research: {p50_ms, p90_ms, samples, source ("measured" once enough samples, else "default"), advice}}}.
get_hookFetch one bought hook in full, including its parsed score. Free (WP-G). Account-scoped: a foreign or unknown id is not_found (no existence leak). Args: hook_id (from a generate/batch/remix response or list_hooks), api_key. Returns {hook_id,
Inputs: hook_id, api_key
get_jobPoll an async job: status, real engine stage, progress, ETA, result/error. Poll after poll_after_seconds until status is "succeeded" (result holds the full generate body) or "failed" (error holds the typed envelope). Only the owning account
Inputs: job_id, api_key
get_usageReturn the credit balance, per-operation totals, and recent ledger. Free. Args: recent_limit (1-200, default 50), offset (>=0, pages `recent` past the newest rows), request_id (scope recent to that call's charges), tag + key_prefix (WP-J fl
Inputs: recent_limit, offset, request_id, tag, key_prefix, api_key
get_webhookThis account's webhook (url + last delivery status; never the secret). Free read. Args: api_key (read scope). Cost=free. Returns {url, created_at, last_delivery_status, last_delivery_at, events}. Errors: unauthorized, not_found (none regist
Inputs: api_key
getting_startedThe 5-step agent quickstart: modes, wait guidance, links. Free, no auth. Written to be parsed and acted on. Returns {what_this_is, five_steps, modes (cost + live latency + when to use), wait_guidance (expected_wait, estimates, progressToken
healthDeep health: DB read+write probe, worker/queue, backup + integrity. Free. Uses the same DB, backup, offsite, and integrity probes as GET /health; status is "ok" only when the DB reads and writes. Returns status/time/LLM, outcome, queue, bac
list_archetypesList the hook archetypes with psychology, platforms, and templates. Free, no auth. Returns {archetypes:[{id, name, description, psychological_trigger, best_for, templates}]}. Use an id for generate_hooks(archetypes=[...]) or remix_hook(targ
list_billing_eventsRecent billing events (usage.recorded, credits.granted, credits.low). Free. Newest first, paged with limit/offset like list_hooks and list_outcomes. Returns {events:[{id, event_type, payload, created_at}], limit, offset, total}. Errors: una
Inputs: limit, offset, api_key
list_creator_profilesList current creator-profile versions, newest changed first. Free; read scope. Returns {profiles, limit, offset, total}. Each profile carries its immutable version, declarations, current secondary-use decisions, consent receipts, and unveri
Inputs: limit, offset, api_key
list_hooksList the hooks this account has bought, newest first. Free (WP-G). Retrievable for 90 days. Args: mode (instant|smart|research|remix, or a generate alias such as template/search), since (ISO timestamp), tag (exact fleet-tag match), topic (s
Inputs: mode, since, tag, topic, request_id, unreported
list_jobsList this account's jobs, newest first (summaries without the result blob). Args: limit (1-200, default 50), offset (>=0), api_key. Returns {jobs:[{job_id, status, stage, progress_pct, created_at, started_at, finished_at}], limit, offset, t
Inputs: limit, offset, api_key
list_keysList this account's API keys as PREFIXES only (never the raw key). Admin scope. Returns {keys:[{prefix, name, scopes, daily_credit_cap, spent_today, created_at, revoked_at}]}, oldest first; revoked_at is null for an active key, scopes lists
Inputs: api_key
list_outcomesList the posted outcomes THIS account has reported, newest first. Free (WP-LIFE). Retrieve submitted telemetry in bulk. Args: platform (tiktok|instagram|youtube|x|linkedin|other), since (ISO timestamp), hook_id, limit (1-200, default 50), o
Inputs: platform, since, hook_id, limit, offset, api_key
list_runsEvery call this account was charged for, newest first. Free read. Recover a lost response in two calls, never re-charged: list_runs(request_id=...) for the receipt, then follow `hooks_url` for the hooks it produced. Page with `cursor` (one
Inputs: request_id, operation, charged_only, limit, offset, cursor
list_webhook_deliveriesList this account's webhook deliveries, newest first. Free read (WP-HOOKS). Verify your receiver end-to-end (a webhook.test ping is enqueued at registration) and diagnose failures without waiting out a real event. Args: status (pending|retr
Inputs: status, limit, offset, api_key
pricingThe machine-readable price list, with per-mode expected_wait. Free, no auth. Every customer operation is zero-priced during private beta. Returns {unit, usd_per_credit:0, beta, operations, pricing_modes with zero base/per_hook, expected_wai
quoteRead archived generation price and wait metadata without spending. Free. Validates the retained input schema and computes its historical price ceiling, balance, cap blocker, and wait metadata. It does not authorize or predict a runnable ope
Inputs: topic, platform, count, archetypes, mode, api_key
redrive_webhook_deliveryRequeue a dead-lettered webhook delivery: reset to pending, due now. Admin scope. Valid ONLY on a `dead` delivery (a live receiver that exhausted its retries); any other status is a 409 conflict and a delivery you do not own is not_found. I
Inputs: delivery_id, api_key
remix_hookArchived source-free remix writer. Use research_hook_evidence instead. Always fails before rewriting, model, storage, or billing work. An extracted source hook cannot be replaced by generated or paraphrased copy. Errors: unauthorized; inval
Inputs: text, target_archetype, count, hook_id, archetype, platform
report_outcomeReport what a bought hook actually did once posted. FREE (WP-H). Caller-supplied, unverified, and not used by generation/scoring/retrieval today. Retained for possible future calibration; no view prediction. Args: hook_id, platform (tiktok|
Inputs: hook_id, platform, posted_at, views, likes, retention_pct
research_hook_evidenceReturn a deterministic, unpadded portfolio of verified hook evidence. Hard evidence gates precede relevance and diversity; views are observed platform views. Openers are audio_verified, or transcript_grounded with explicit caveats when enab
revoke_keyRevoke the key with `prefix` (from list_keys): it stops working, others keep working. Use to kill a leaked or old key. Args: prefix (the 12-char key prefix, e.g. vhg_sk_ab12), api_key (a DIFFERENT active key to authenticate this call). Retu
Inputs: prefix, api_key
score_hookScore any hook text on 5 dimensions with rewrite tips. Free during beta. Deterministic heuristic scorer (no LLM). Args: text (3-300), platform, topic (optional, reproduces generate's score via the verbatim-echo penalty), tags (1-5 fleet slu
Inputs: text, platform, topic, tags, verbosity, api_key
score_hooks_batchScore many hooks ranked with `best`, or compare named SETS. Free during beta. All-or-nothing charge. Plain: texts (1-25, each 3-300 chars). Self-test (E13): compare=true + sets (2-4 named lists, <=25 texts total) INSTEAD of texts -> per-set
Inputs: texts, platform, compare, sets, topic, tags
set_webhookRegister (or replace) this account's webhook; the secret is returned ONCE. Admin scope. Hook Detector POSTs signed job.succeeded/job.failed/credits.low (WP-M). `url` https, no creds, public host; re-registering ROTATES the secret (a repeat
Inputs: url, api_key
5 more tools

signup, start_generate_job, synthesize_hooks, update_creator_profile, wait_for_job

Add VHGENGINE to your AI client

Every block below points at https://engine-production-3bdc.up.railway.app/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http vhgengine https://engine-production-3bdc.up.railway.app/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "vhgengine": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://engine-production-3bdc.up.railway.app/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "vhgengine": {
      "url": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "vhgengine": {
      "type": "http",
      "url": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "vhgengine": {
      "url": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "vhgengine": {
      "serverUrl": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "vhgengine": {
      "url": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: VHGENGINE
version: 0.0.1
schema: v1
mcpServers:
  - name: VHGENGINE
    type: streamable-http
    url: https://engine-production-3bdc.up.railway.app/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "vhgengine": {
      "httpUrl": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "vhgengine": {
      "type": "http",
      "url": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "vhgengine": {
      "url": "https://engine-production-3bdc.up.railway.app/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fengine-production-3bdc.up.railway.app%2Fmcp&type=streamable_http&id=vhgengine&name=VHGENGINE

Is VHGENGINE up right now?

It answered our last check on 17 October 2026 in 292 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to VHGENGINE

Questions about VHGENGINE

How many tools does VHGENGINE have?

45, as returned by the server's own tools/list on 9 September 2026: add_credits, cancel_job, create_checkout, create_creator_profile, create_key, delete_account, delete_creator_profile, delete_webhook, and 37 more.

Is VHGENGINE down?

It answered our last check on 17 October 2026 in 292 ms. Over 10 checks since 4 September 2026 it answered 10.

How do I add VHGENGINE to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://engine-production-3bdc.up.railway.app/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does VHGENGINE need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: app.railway.up.engine-production-3bdc. Endpoint host: engine-production-3bdc.up.railway.app. ARD identifier: urn:air:app.railway.up.engine-production-3bdc:mcp:vhgengine. First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.