servers / aiponge
aiponge MCP server
communitystreamable_httpremotewrite capablehealthy
private by default journaling, self-understanding, reflective songs, books, playlists, insights.
01Tools · 23
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| browse_books Browse / search / discover / find books in the shared aiponge library catalog (not just the user's own — for those use list_books). "Find me a book about gratitude", "what books are there on sleep?", "browse the library". Optionally filter by `search` text or `typeId`. Searches all languages by default. Returns matching books with their ids — then use read_book to read one, or play_audiobook to listen. | read | false | unknown |
| compose_entry THE DEFAULT WAY TO SAVE A REFLECTION OR JOURNAL ENTRY. Use this — NOT create_entry — for any request like "save this as a journal entry", "journal this", "add a journal entry", "save my reflection", "put this in my diary", "write this down". It opens an in-chat journal composer PRE-FILLED with a draft you write from the conversation, for the user to edit and save. It does NOT persist on its own; the user reviews and saves from the panel (Save then calls create_entry). Pass `draft` as your best draft of their entry (or "" for a blank composer). In clients without panels, show the draft and wait for explicit confirmation, then use save_entry with a stable operationId. | read | false | unknown |
| correct_insight Record the user's explicit correction to a specific inferred dimension/value they have seen in aiponge. Do not invent a dimension or value, and do not treat this as a diagnosis. Use only when the user confirms the correction. The backend validates the canonical dimension and reaction. | unknown | unknown | unknown |
| create_entry Persist a journal entry DIRECTLY to the journal, with NO review step. This is the silent/import-only path — for an ordinary chat request like "save this as a journal entry" / "journal this" / "add a journal entry", do NOT use this; use `compose_entry`, which opens an editable composer the user confirms. Reach for `create_entry` ONLY for silent/automated saves: structured memory-inventory imports, or when the user explicitly asks to save without reviewing. `content` is the only required field. For imports, include entryDate, entryDateDisplay, location, sourceMemoryId, sourceSection, sourceTitle, sourceType, dateConfidence, sensitivity, tags, and metadata when known. Returns the saved entry including its `id`, which can then be used to turn the entry into a song linked to it (the track generator accepts a journal entry id). | write | true | unknown |
| generate_track Create / make / write / generate a SONG, a TRACK, or a piece of MUSIC for the user from a topic (e.g. "a calm morning walk", "write me a song about my mom", "make me some music about the sea"). This is THE tool for any "create/make/write a song|track|music" request. Provide EITHER a `topic` OR an `entryId` — do NOT ask the user for, or invent, a genre / mood / vocal style / language. The user's saved audio preferences are applied automatically, so the optional style fields are advanced overrides best left unset. For an explicit song request, set `audioType:"song"` so a saved spoken-audio default does not change the requested format.
• FROM A JOURNAL ENTRY: to "turn my last entry into a song" / "make a track for this entry", pass `entryId` (from create_entry's result, or resolved via list_entries / search_entries). This links the track to that entry and uses its content for the lyrics — `topic` is then optional.
• CONTENT FORMAT: use "song" for music with lyrics and affirmations, or "instrumental" for an instrumental / ambient / focus / sleep soundscape with no lyrics. Spoken reflection and guided narration are unavailable through the current music provider. Explain that limitation instead of starting a reflection or guided request.
• PROGRESS: takes ~1–3 minutes. By DEFAULT it returns immediately and a live progress panel shows the track filling in, then turns into the player — so leave `wait` unset and just tell the user it is composing (no need to poll; the panel does it). If the user asks later, get_generation_status checks progress and play_track plays a finished track. Only pass `wait:true` for scripted/non-interactive callers that must block ~1–3 minutes and get the finished play link back in one call. | read | false | unknown |
| get_capabilities Return the canonical aiponge MCP tool map, workflow order, account/role requirements, and UI panel capabilities. Use only to choose tools for supported reflection, journal, music, or book requests. Do not call this or any aiponge tool for account deletion, unrelated local search such as restaurants, or invitations and group membership. For account deletion, direct the user to aiponge account settings or support. For invitations or group membership, direct the user to the aiponge App. Handle unrelated requests without aiponge. These exclusions are already known; do not look them up. | read | false | unknown |
| get_entry Open / read the full text of ONE specific journal entry by its id. Resolve the id via list_entries or search_entries first; never invent an entry id. | read | false | unknown |
| get_generation_status Check on a song/track/music that is still being generated — "is my song ready?", "how is it coming along?". Takes the requestId returned by generate_track. Returns progress while generating, a play link when complete, or the failure reason. When complete, you can also call play_track with the returned trackId. When polling, wait at least 30 seconds between calls — generation takes 1–3 minutes, so checking more often than every 30 seconds just wastes calls and never returns sooner. | read | false | unknown |
| get_insights Surface what aiponge has NOTICED about the user: the observations, recurring patterns, and wellness signal drawn from their self-model, inferred from their reflections. Read-only. Use it when the user asks "what has aiponge learned about me?", "what patterns do you see in me?", "what are my themes?", "how am I doing?", or to understand the user before suggesting actions. This is the INFERRED picture, not a diagnosis; for the user's explicitly-set settings (audio preferences, language, account) use get_profile instead. Returns empty sections for a new user with little history. | read | false | unknown |
| get_profile Show the user's account profile and saved settings: "what's on my profile?", "what language am I set to?", "my account settings". Returns account details, profile, general preferences, and activity counts, including saved song genre, vocals, and instruments when configured. Unset preference fields may be absent; do not infer values for missing fields. Use list_audio_preference_profiles to select a named saved sound for generation. Read-only. To learn what aiponge has noticed from reflections, including themes and patterns, use get_insights instead. | read | false | unknown |
| get_track Read the lyrics, source entry ID and context of a saved song. Use a real trackId from list_tracks or generation. Does not start playback. | read | false | unknown |
| get_usage Read available account allowances and reset time before planning creation. This is advisory; the server still reserves usage atomically. Unavailable counters are identified explicitly; do not assume their remaining allowance. | read | false | unknown |
| list_audio_preference_profiles List the user's saved song sound profiles, including each profile ID and label. Use this before generate_track when the user asks to create a song with a named saved sound. Read-only. | read | false | unknown |
| list_books Show / list the user's OWN books — "what books do I have?", "my library", "my books". Returns only the books they own or created, NOT the shared aiponge catalog. To discover or search the wider aiponge book catalog, use browse_books instead. | read | false | unknown |
| list_generations Find the account's active song generation requests after reconnecting or losing a requestId. Inspect them before retrying generation. Completed songs can be found with list_tracks. | read | false | unknown |
| list_tracks Show / list / browse the user's songs — "what songs do I have?", "show me my music", "my tracks", "my library", "my playlist of songs". Returns the user's private music tracks. Each item includes its `title`, `themes` (canonical topic tags the track was generated around, e.g. ["travel", "solitude"]), and `inspiration` (a short hint about what the song is ABOUT, derived from the original generation prompt). Also use this to RESOLVE a play request to a specific track: for "play something about Berlin" or "play the song about my mom", match against ALL THREE fields — not just `title` — and pick the row whose themes / inspiration / title best fits the request, then hand its id to play_track. If several rows plausibly match, list them and ask the user which one rather than guessing. The tracks render as an interactive player panel the user can see and play from directly (the per-track fields are in structuredContent) — after calling this, reply with at most a one-line intro and do NOT re-list the tracks in text; the panel already shows them. | read | false | unknown |
| play_audiobook Play / listen to a book as an audiobook — its chapters narrated as TTS audio, in order, with clickable stream links. "Read this book aloud", "play the audiobook", "I want to listen to a book". Resolve the bookId via browse_books or list_books first. Many catalog books are narrated; if a book isn't, this says so (read its text with read_book instead). | read | false | unknown |
| play_track Play / listen to / put on ONE specific song the user already has — returns a fresh, clickable stream link for that track by its id. The user normally refers to a track by NAME, not id: when the requested title is approximate, partial, or possibly misspelled, FIRST call list_tracks (request the full library, e.g. limit 100), pick the closest matching title, then call this tool with its id. If several tracks plausibly match, list them and ask the user which one rather than guessing. Never invent a track id. (To browse or show the whole library, use list_tracks; to create a new song, use generate_track.) | read | false | unknown |
| read_book Read / open a book's text content — its chapters and the prose of each — so you can summarize, quote, or discuss it. "Read me that book", "what does the book say?", "summarize this book". Resolve the bookId via browse_books or list_books first. Set chapterOffset and chapterLimit for a bounded chapter read. To LISTEN to it as narrated audio instead, use play_audiobook. | write | true | unknown |
| save_entry For clients without a journal panel: save the exact reflection the user has reviewed and explicitly confirmed. Never set confirmed from silence or inferred intent. Use compose_entry to prepare a draft; show it to the user, then save only after confirmation. Reuse operationId for retries of the same text. In interactive ChatGPT, prefer the journal panel Save action. | read | false | unknown |
| search_entries Search the user-owned journal by words in any supported language, tag, personal date, or import source. Returns matching entry IDs and short excerpts. Use get_entry for full text. Follow nextCursor with identical filters until hasMore is false before claiming there are no older matches. total counts only this response. Journal resolution errors do not broaden the search to other books. | read | false | unknown |
| submit_track_feedback Record only explicit user feedback on a saved song: understood, partial or missed. Never infer recognition or helpfulness from playback. Replaces the user's previous feedback for this song. Resolve trackId first. | unknown | unknown | unknown |
| update_audio_preferences Change / set / update the user's saved AUDIO (music) preferences — the defaults generate_track applies automatically to every new song (genre, vocal gender, language, instruments, default audio content type). Supplied fields replace their saved defaults without an undo history; omitted fields are preserved. Use this when the user wants to change their music style GOING FORWARD (e.g. "from now on make my songs jazz with female vocals", "always use Spanish for my songs"), NOT for a one-off — for a single song, pass the style to generate_track instead. | write | true | unknown |
02Install & source
Hosted · connect by URL
https://mcp.aiponge.com/mcp
05Provenance & freshness
sourcesOfficial MCP Registry [p1]
last_checked2026-11-07 06:50Z
next_check2026-11-08 21:10Z
cadenceevery 48h
verifiedtools_list:passed handshake:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed handshake:passed metadata:passed tools_list:passed
index_statusindex — 5 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/aiponge)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →