Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Moode Audio API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmoodeaudio.org%2Fmoodeaudio" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmoodeaudio.org%2Fmoodeaudio" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Moode Audio API.
Read the currently playing file, artist, album, title, track, bitrate and play state with the get_currentsong command
Control transport on the local player using the play, pause, stop, next and previous commands
Set the player volume through the set_volume command's level argument
Clear the current playback queue with the clear_queue command
GET STARTED
Issue any supported command through the single /command/ endpoint by naming it in the cmd query parameter
Patterns agents use Moode Audio API for, with concrete tasks.
★ Voice or Chat Control of a Local Hi-Fi
An owner adds voice or chat control to their Moode-based hi-fi by exposing the local Moode endpoints behind a simple agent. The agent can read the current song, pause, skip to the next track, adjust the volume, or clear the queue, all through plain GET commands against the player's local hostname. Moode runs entirely on the Pi, so nothing is routed through a hosted service.
Read the currently playing song from Moode and return artist, album, and title.
Home Dashboard Now-Playing Card
Home dashboards (Home Assistant, custom panels) poll Moode for the current song and its play state to show a media card next to other smart-home tiles. Because the Moode endpoints are GETs the specification declares no authentication for, integration is just an HTTP fetch on a schedule.
Poll Moode every 10 seconds and update a now-playing card with the current song, artist, and play state.
Remote Transport and Volume Control
A remote app or agent drives the player rather than only reading from it: start or pause playback, skip tracks, set the volume through the set_volume level argument, and clear the queue before loading something new. These write-side commands sit on the same /command/ endpoint as the read commands, so a controller needs no second integration.
Pause Moode, set the volume to 15, then clear the playback queue.
AI Agent Audiophile Assistant
An on-device AI agent uses Jentic to discover Moode's command endpoints, runs them against the local Pi, and answers natural-language questions like 'what's playing' or 'pause the music' without exposing a hosted service. Moode documents its commands as prose and publishes no OpenAPI specification, so Jentic's spec is what gives the agent input and output schemas for them.
Search Jentic for 'control my Moode player', load the schema for the get_currentsong command, and execute it against the local player.
16 endpoints — jentic publishes the only available openapi specification for moode audio api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/command/
Generic command endpoint; the command name travels in the cmd query parameter
/command/?cmd=get_currentsong
Get the currently playing song with artist, album, title, track and bitrate
/command/?cmd=play
Start playback
/command/?cmd=pause
Pause playback
/command/?cmd=next
Skip to the next track
/command/?cmd=set_volume
Set the volume through the level argument
/command/?cmd=clear_queue
Clear the playback queue
/command/
Generic command endpoint; the command name travels in the cmd query parameter
/command/?cmd=get_currentsong
Get the currently playing song with artist, album, title, track and bitrate
/command/?cmd=play
Start playback
/command/?cmd=pause
Pause playback
/command/?cmd=next
Skip to the next track
/command/?cmd=set_volume
Set the volume through the level argument
/command/?cmd=clear_queue
Clear the playback queue
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Moode by hand means pointing at the right local base URL on your network and remembering its cmd= query-string conventions for each command call. Through Jentic you install once, import the Moode Audio API from the API Directory, and your agent calls it against the configured local player.
Permission scoping
This API carries its command in a cmd= query string rather than a resource path, so limit the agent to the operations it needs, such as reading the current song. You choose the operations it may call, so player control commands are not included unless you add them.
Credential isolation
Moode's command interface is unauthenticated, so you have no credential to store for it and none is injected at execution time. Nothing sensitive enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'show what my Moode player is playing' or 'turn the volume down', and Jentic returns the matching command operation with its input schema, so the agent calls the right endpoint without memorising Moode's cmd= query strings.
Alternatives and complements available in the Jentic catalogue.
Specific to using Moode Audio API through Jentic.
Why is there no official OpenAPI spec for Moode Audio API?
Moode Audio does not publish an OpenAPI specification; its REST command interface is documented as prose in the project's setup guide on GitHub. Jentic generates and maintains the machine-readable version so that AI agents and developers can call Moode Audio API via structured tooling. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Moode Audio API use?
None. The specification declares no authentication scheme and no security requirement on any of its 16 operations, and Moode's own documented curl example passes no credentials. You have no key to obtain and no account to create, because Moode is software running on your own device: access is governed by who can reach the player on your network. Keep the Pi on a trusted network, or put a reverse proxy in front of it if you need authentication.
Can I read the currently playing song with the Moode API?
Yes. Call GET /command/?cmd=get_currentsong to receive the current song's title, artist, album, track number and bitrate. The same response carries a state field, so one call also tells you whether the player is playing, paused or stopped. Moode requires the Metadata file option to be enabled in Audio Config for this command to return data.
What are the rate limits for the Moode Audio API?
Moode publishes none. It is software you run on your own Raspberry Pi, so requests never cross a vendor gateway and no quota is applied to them, and the project's documentation defines no limit. Throughput is bounded by your own hardware and network, so poll at a rate your device is comfortable with.
How do I change the volume through Jentic?
Search Jentic for 'set the Moode volume', load the schema for GET /command/?cmd=set_volume, and execute it with the level argument and your player's local base URL. Jentic returns the volume and mute state Moode reports back.
Does the Moode API work over the internet?
By default no. The player answers on your own network at its local hostname (moode.local) or its IP address, and Moode operates no hosted endpoint you could call from outside. To control Moode remotely, put the Pi behind a reverse proxy that adds TLS and authentication, or use a VPN back to the home network.
Can I limit what my agent is allowed to do with the Moode Audio API?
Yes. Because you run Jentic One yourself, your own rules decide which of Moode's command operations the agent may call. Moode carries the command name in a cmd query parameter rather than in the URL path, so rules bound the agent by operation: you can give it get_currentsong and withhold the commands that change the player. Transport, volume and queue commands are reachable only if you add them to the agent's allowed set.
Is there a Moode Audio MCP server?
You don't need an MCP server to give your agent Moode Audio API. Jentic connects it directly from the API Directory: import Moode Audio API, point it at your player's local base URL, and your agent can read what is playing and control playback, without loading another server's tool definitions into its context. Moode is unauthenticated on your own network, so you have no credential to configure either.
Know of an official OpenAPI document? Contribute it →
For Agents
Read what is playing, control playback and volume, and clear the queue on a local Moode Audio Raspberry Pi player through simple HTTP commands.
Use for: Get the song currently playing on my Moode player, Pause playback on Moode, Skip to the next track on my Moode player, Turn the volume down on Moode
Not supported: Does not stream music itself; use it for local control and inspection of a Moode-based Raspberry Pi audio player only, covering the current song, transport, volume and the queue rather than any hosted or cloud media service.
Jentic publishes the only available OpenAPI specification for Moode Audio API, keeping it validated and agent-ready. Moode is an audiophile-quality music player for Raspberry Pi that exposes a simple HTTP command interface for control and inspection. All 16 operations are GETs against the single /command/ endpoint, with the command name carried in a cmd query parameter, covering the current song, transport control, volume and clearing the queue. The base URL is the device's own local hostname (moode.local by default), so this is a LAN interface on hardware you run rather than a hosted service, and the specification declares no authentication scheme for any of its operations.