Skip to main content
Glama
NeuroDynamic Audio and LLM APIs

NeuroDynamic Audio and LLM APIs

Security update 2026-11-05: version 1.1.2 sets minimum safe dependency versions and refreshes the tested dependency lock. The Base USDC recipient and existing local purchase records are unchanged.

NeuroDynamic MCP client — 1.1.2

Connect an MCP-compatible agent to NeuroDynamic audio, captions, PDF extraction, image OCR and LLM APIs.

Free by default. Discover services, compare seven voices and inspect prices without a wallet. Purchases are optional and explicitly enabled by the wallet owner.

What this release supports

Tool

What it does

Charge

catalogue

Read services, voices, schema or private-cloning requirements

Free

quote

Check the live price and payment details

Free

purchase_json

Generate catalogue narration or either LLM's text

Explicit purchase

transcribe_file

Upload and transcribe your audio

Explicit purchase

transcript_package_file

Upload audio for transcript package output (8 MiB, 60 seconds)

Explicit purchase

extract_pdf_file

Extract text from a text-native PDF (10 MiB, 20 pages)

Explicit purchase

ocr_image_file

OCR printed English from PNG/JPEG (10 MiB, 12 megapixels)

Explicit purchase

payment_status

Inspect an existing purchase; query LLM payment recovery

Free

budget_status

See the cumulative client spending cap

Free

Current purchases use native USDC on Base, x402 v2 exact, an EOA wallet. A future merchant network option will not silently change which network this client signs for. SOL-token payments, other chains, smart accounts and automatic bridging are not supported by this client release.

Private cloning is discoverable here; purchase/enrolment stays in the approved-account workflow. This adapter does not enrol voices, bypass consent review or hold cloning bearer credentials. The audio starter includes the separate workflow.

The three file services above are each 0.01 USDC on Base. They accept only local files under the configured input directory and pin the live resource, receiver, token, network and amount before signing. Transcript packages do not provide speaker identification, notes or translation. Supply source audio (.wav, .mp3, .flac or .ogg); TXT/SRT/VTT and word timestamps are outputs, not accepted inputs. Audio duration is validated by the service before settlement; the client enforces file size but does not locally decode audio to measure duration.

This runs locally on the requesting machine using stdio. It is not a hosted /mcp URL, and it does not open a port. No NeuroDynamic account is needed for catalogue narration, transcription or LLM purchases.

Related MCP server: unlimitedtts

Install

Python 3.10+ on Linux or macOS. Windows users can use WSL. The budget lock uses POSIX file locking.

Install the published package in a virtual environment:

python3 -m venv .venv
.venv/bin/pip install neurodynamic-mcp==1.1.2

Alternatively, from a checkout of this repository, use .venv/bin/pip install .. The included requirements.lock records the dependency versions tested for this release. To reproduce that environment, install -r requirements.lock before installing the package. The package pins its core direct dependencies and enforces security minimums for affected transitive dependencies in pyproject.toml. CI checks the lock, package versions, known dependency advisories and all nine tools. A clean advisory scan is a dated check, not a guarantee against unknown vulnerabilities.

Add this entry to your MCP application and replace the Python path:

{
  "mcpServers": {
    "neurodynamic": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["-m", "neurodynamic_mcp"]
    }
  }
}

Package: https://pypi.org/project/neurodynamic-mcp/1.1.2/

Official registry name: tech.neurodynamic/audio-llm.

Ask the agent: “List NeuroDynamic services and voices, then get a narration quote. Do not purchase anything.”

The adapter checks the live quote against reviewed merchant, native USDC token, network, amount and signing-domain values. Prices are introductory; if they change, the adapter stops for an update rather than accepting a higher price automatically.

Optional purchases

Use a dedicated low-balance Base wallet. Keep its raw hexadecimal private key in a file owned by the user running the client, with mode 0600; never paste it into an agent prompt or tool call. Wallet keys stay on your requesting machine.

Create a private state directory and, for audio/PDF/image uploads, a separate input directory. Both should be owned by that user. All input files must be mode 0600. Only place files intended for upload in the input directory.

Add owner-controlled env settings to the server configuration:

{
  "NEURODYNAMIC_BUYER_KEY_FILE": "/private/path/buyer.key",
  "NEURODYNAMIC_STATE": "/private/path/neurodynamic-purchases",
  "NEURODYNAMIC_INPUT_DIR": "/private/path/files-to-upload",
  "NEURODYNAMIC_TOTAL_CAP_ATOMIC": "50000"
}

50000 is 0.05 USDC total, not per call or per day. The cap persists across restarts through the state ledger. This initial client limits its configured cap to at most 1 USDC. State files are the budget history: do not delete or replace them to resolve errors. A host with shell access can alter local files, so this is not a sandbox against a malicious local user or agent.

Each purchase also requires confirm_purchase: true in its tool arguments. The owner must authorise spending; a quote is not permission to spend.

Narration example:

{
  "service": "narration",
  "body": {"input": "Hello from NeuroDynamic.", "voice": "bf_emma"},
  "purchase_id": "my-first-narration",
  "confirm_purchase": true
}

One MP3, up to 1,000 characters: 0.005 USDC. Available voice IDs: Hazel af_heart, Bella af_bella, Emma bf_emma, Alice bf_alice, George bm_george, Michael am_michael, Ben am_fenrir.

Transcription: use transcribe_file with a filename inside your input directory, a new purchase ID, language: "en" and explicit confirmation. Up to 60 seconds/12 MiB, 0.01 USDC. An unpaid quote never reads or uploads audio.

LLM examples use service: "abliterated" (0.020 USDC) or "abliterated-large" (0.035 USDC). The body needs input, optionally max_tokens (16–512), and explicit adult: true, third_party_processing: true, terms_version: "2026-09-11-llm-v1". Only acknowledge these with the user's authority after reading https://api.neurodynamic.tech/llm. Input is limited to 2,000 UTF-8 bytes. Adults 18+, lawful use; generated content can be wrong.

Recovery and privacy

The adapter reserves budget and saves the signed proof before sending a paid request. It saves returned output locally with mode 0600 and records the receipt. It does not log prompts or private keys.

  • Repeating the same purchase ID returns its saved state; it does not sign or submit another payment.

  • The same ID with different input is rejected.

  • Failed or uncertain purchases keep their budget reservation. They are not automatically refunded or retried.

  • Use payment_status after uncertainty. Contact support with the request ID or transaction hash if needed. Do not send private keys, signed proofs or your state database to support.

  • LLM outputs are not retained by NeuroDynamic after processing. A lost LLM response cannot be recovered by paying again safely; payment status is available without another charge.

  • Save successful results immediately. Transcript packages permit identical-proof recovery for one hour; PDF extraction and OCR permit regeneration for 15 minutes from admission, at most three attempts, at least 30 seconds apart and on the same processing release. After expiry the service returns HTTP 410 without another charge. The MCP adapter does not automatically perform these recovery requests.

  • Transcription/narration recovery follows each API guide. This initial adapter does not automatically resend an uncertain paid request; preserve the state and original input for support-assisted recovery.

Your local state directory contains signed payment proofs, purchase metadata and returned files. Protect it like wallet material. Requests contain your chosen text/audio. Merchant operational metadata and service-specific retention are explained in the API guides. LLM requests go to third-party providers with separate retention policies; local server content-retention statements do not cover those providers or your client files.

Verification

.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python tests/stdio_smoke.py

Unit tests use synthetic HTTP responses and an unfunded temporary signing key. The stdio smoke test performs only free live discovery/quotes and confirms purchases are disabled.

Earlier audio/LLM release validation completed three separately authorised operator purchases (narration, transcription and LLM), total 0.035 USDC, followed by no-charge duplicate and status checks. These are test activity, not customer sales. On 2026-11-05, transcript packages, PDF extraction and image OCR each completed a separately authorised 0.01 USDC operator purchase, with output, no-charge replay and on-chain transfer checks (0.03 USDC total).

Licence and scope

The connector code, tests, documentation and example client configuration in this repository are available under the MIT licence. You may use, modify and redistribute them, including commercially, while retaining the copyright and licence notice. Third-party dependencies retain their own licences.

This repository does not contain our private service deployment configuration, credentials, model weights, voice samples or customer data. The MIT licence does not grant free API access or rights to those separate assets. Use of the hosted APIs remains subject to their published prices, terms and privacy information.

Container and directory checks

The root Dockerfile packages this local stdio connector for directory inspection. It runs as a non-root user and defaults to a zero purchase budget. There is no HTTP listener or hosted MCP service in this image. No wallet is included.

Build with docker build -t neurodynamic-mcp .. Run discovery with docker run --rm -i neurodynamic-mcp. Persist /data if explicitly enabling purchases later; follow the wallet and budget instructions above.

CI checks initialization and all nine tool definitions inside a read-only, network-disabled container without a funded wallet. Dockerfile availability does not by itself mean that a directory has completed its own safety checks.

Available Tools

6 tools
budget_statusA
Read-onlyIdempotent

Read the cumulative client budget. Uncertain purchases remain reserved across restarts.

Inputs: no named parameters. Returns: object

catalogueA
Read-onlyIdempotent

Read free services, voices, schema or cloning requirements. No wallet or payment needed.

Inputs: kind. Returns: object

payment_statusB
Read-onlyIdempotent

Read saved purchase metadata and, for LLMs, query payment recovery for free. Never signs or pays; cannot restore LLM output the merchant does not retain.

Inputs: purchase_id (required). Returns: object

purchase_jsonA

Buy narration or LLM text using an owner-funded local wallet. Read schema and quote first. Supply a unique purchase_id once; reuse it after uncertainty, never invent a replacement. Saves output to the caller's private state directory. Narration body: input, voice. LLM body requires input, adult=true, third_party_processing=true, terms_version=2026-09-11-llm-v1 and optional max_tokens. Only assert these acknowledgements with the user's authority.

Inputs: body (required), service (required), purchase_id (required), confirm_purchase. Returns: object

quoteA
Read-onlyIdempotent

Get a free verified USDC/Base quote: narration, transcription, abliterated or abliterated-large. No input uploaded or funds spent.

Inputs: service (required). Returns: object

transcribe_fileA

Buy transcription of a caller-provided audio file (60 seconds/12 MiB maximum). Filename must be a basename within owner-configured NEURODYNAMIC_INPUT_DIR; file must be mode 0600. It is uploaded only for an explicit purchase. Never provide a path outside that directory.

Inputs: filename (required), purchase_id (required), language, confirm_purchase. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool maps to a distinct step in the purchase lifecycle: catalogue browsing, quoting, buying JSON-based services, buying file transcription, payment status, and budget status. There is no meaningful overlap between them, and the descriptions clarify the boundaries.

    Naming Consistency3/5

    Names are readable but mix conventions: read-style tools are bare nouns or noun_noun (catalogue, quote, payment_status, budget_status), while purchase actions use verb_noun (purchase_json, transcribe_file). A uniform get_/list_ or verb_noun pattern would improve consistency.

    Tool Count5/5

    Six tools is well-scoped for a paid audio/LLM API. Each tool earns its place in the browse-quote-purchase-status workflow without bloat.

    Completeness4/5

    The core purchase lifecycle is covered: discover services, price them, buy narration/LLM text or transcription, and check payment/budget status. Minor gaps exist, such as no explicit output-retrieval or voice-cloning purchase tool, though output is saved to private state and cloning may be out of scope.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers