Persona MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Persona MCPshow a cheerful animation and say hello"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
UME Presence
A human-facing local presence for AI-assisted work.
UME Presence is a visible, local presentation surface; its authority is none.

This is a source-built renderer capture with no Character Pack. It is not a signed binary capture or clean-machine acceptance proof.
Status: Source Preview
Binary release: Not yet published (HOLD).
Source quick start (macOS / Node.js 24)
The current public surface is source-first. On macOS, the following are required: Node.js 24 and Xcode Command Line Tools with the macOS SDK.
npm ci
npm run native:build
npm run native:test
npm run demonpm run demo builds and starts the current source checkout. It does not create
a signed, notarized, packaged, or clean-machine-accepted binary release.
Related MCP server: mcp-win-toast
Product boundary and limitations
Core product: UME Presence with a built-in neutral Default Presence
Optional Character Pack: installed separately as external local data
The binary release remains HOLD until exact artifacts pass package inspection, signing/notarization policy, and clean-machine acceptance.
UME Presence displays a local visual presence and offers bounded presentation controls to supported local clients. With no Character Pack, launch succeeds in the built-in Default Presence; this is the normal core product state, not a degraded or error state. A validated external Character Pack can add a character-specific identity and speech profile. UME Presence is not an AI model, autonomous worker, router, execution governor, knowledge source of truth, Mothership replacement, or ume-harness replacement. Its authority is none: it never receives decision or execution authority.
Future binary lifecycle
No ZIP or DMG is currently published. If a future binary release passes the separate release gates, the primary Freeze target is Apple silicon macOS 14.2 or newer. That future installed-app workflow may require:
a released UME Presence ZIP or DMG with a published SHA-256;
Node.js 24 or newer only when a source-based integration step requires it;
optionally, an external Character Pack transferred separately; and
AivisSpeech plus the pack's compatible local voice model only when character-specific speech is required. AivisSpeech is external and is not installed or removed by UME Presence.
After a binary is published, install the app as
/Applications/UME Presence.app, then follow
Installation and optional character onboarding. Core
installation ends successfully when the built-in Default Presence appears.
The optional pack workflow is copy, validate, select, and restart—never a
source rebuild or manual JSON edit.
APP='/Applications/UME Presence.app'
BIN="$APP/Contents/MacOS/UME Presence"
open "$APP"
"$BIN" --character=status
"$BIN" --character=listStart the speech engine only after selecting a valid Character Pack when character-specific speech is wanted; the core no-pack launch does not require it.
The app asks for macOS System Audio Recording permission when its process-audio listener is used. It does not capture the microphone, save audio, transcribe content, or send audio over the network.
Connect a supported client
While UME Presence is running, Codex and Claude Code can connect to the same loopback-only Persona MCP endpoint:
codex mcp add persona --url http://127.0.0.1:47831/mcp
claude mcp add --scope user --transport http persona http://127.0.0.1:47831/mcpAutomatic final-reply speech is supported only for Codex notify, Claude Code Stop, and Antigravity Stop. Configure the hook shipped inside the installed app; a source checkout is not part of the installed contract:
APP='/Applications/UME Presence.app'
HOOK="$APP/Contents/Resources/integrations/persona-auto-speech-hook.cjs"
test -f "$HOOK"Client configuration remains an explicit, additive manual operation so the application never becomes a configuration authority. See Integration contracts for setup and exact disconnect steps. Speech is best-effort, zero-retry, and non-blocking: failure cannot fail or retry the client turn.
Your local data and lifecycle
Persona compatibility identifiers intentionally remain stable:
~/Library/Application Support/Persona/characters/<character-id>/
~/Library/Application Support/Persona/character-selection.json
~/.persona_muteMute automatic speech with touch "$HOME/.persona_mute"; unmute by removing
that file. Hide the window from the tray without stopping the app, or choose
Quit UME Presence to stop the app and its loopback MCP server.
Startup is explicit and reversible through the installed executable:
"$BIN" --login-startup=enable
"$BIN" --login-startup=status
"$BIN" --login-startup=disableBefore removing the app, disable startup and remove only the named MCP/hook entries. Character packs are preserved by default; AivisSpeech is always preserved. See Releasing for the source and artifact boundaries.
Character-pack contract
Character Packs are optional external local data. The built-in Default Presence is visual and presentation-only, carries no character identity, and is not a Character Pack or a substitute pack. No pack is required for window, presence, listener, or other bounded core presentation behavior. Character- specific presentation and speech require a valid selected pack and, for speech, its validated profile and registered provider.
A pack is external local data: one closed character.json, one bounded PNG or
WebP avatar, and one validated data-only speech profile. The pack directory
name and manifest id must match. IDs use lowercase ASCII letters, digits, and
internal hyphens.
Unknown fields, symlinks, traversal, URLs, commands, executable paths, arbitrary arguments, prompts, credentials, and environment expansion fail closed. A pack chooses a provider already reviewed and registered in Persona core; it cannot load code or add a provider. Selection is written atomically only after full validation and becomes active on the next process start.
distributionAllowed is app safety metadata used to fail closed when a pack
is not marked for distribution. It is not proof of ownership, license,
consent, or redistribution rights, and it grants none of those rights. A pack
still needs separately reviewed provenance, permission, and release terms.
Presentation controls
Persona MCP exposes only these bounded controls:
Tool | Effect |
| Play one closed presentation animation. |
| Play one closed visual ritual with no speech side effect. |
| Show, hide, or toggle the desktop window. |
| Play one short local line through the selected profile. |
| Read bounded window, voice, listener, and speech-engine state. |
MCP get_status does not expose Character Pack availability. Inspect the
selected pack independently with the installed CLI command
"$BIN" --character=status, which returns activeCharacterId and available.
Speech accepts one operation at a time, queues nothing, retries zero times, and keeps synthesized WAV data in memory. Code, commands, logs, paths, hashes, long lists, secrets, internal reasoning, and routine progress are not spoken by the automatic hook.
Platform and build status
Platform | Listener/build contract | Manual Freeze acceptance |
macOS 14.2+ | Core Audio process tap; DMG/ZIP build | Apple silicon is the primary target |
Linux | PipeWire process-stream capture; AppImage/DEB build | Not claimed unless separately recorded |
Windows 10 build 20348+ | WASAPI process loopback; NSIS build | Not claimed unless separately recorded |
Linux requires pw-dump and pw-record on PATH. Windows requires Visual
Studio Build Tools for native packaging. Automated tests and CI preserve the
existing cross-platform contracts, but they do not by themselves claim a
signed artifact, clean-machine acceptance, or a binary release.
Develop Persona core
npm ci
npm run lint
npm test
npm run assets:check
npm run build
npm run native:build
npm run native:testProduction builds copy no Vite public/ directory. Character packs, legacy
VRM/VRMA media, and local character manifests must not enter the release tree
or application package. Package inspection is a separate mandatory gate.
More detail:
The Persona application core is MIT-licensed with upstream provenance preserved in LICENSE and NOTICE. UME Presence is the UMEBOSHIISAN product/distribution identity. External character packs and character IP remain legally and technically separate.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.0 and more.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to capture screenshots and control desktop input (mouse, keyboard) to see and interact with your screen. Features user-first safety controls including automatic pause on user activity and app allowlists to restrict interactions to approved applications only.1MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to send Windows toast notifications and dialog boxes, allowing them to actively notify users and request confirmations through native Windows UI.21ISC
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to view and control the local desktop through browser-based viewport and MCP tools.MIT
- AlicenseAqualityAmaintenanceAllows AI clients to see and control Windows 10/11 desktops via MCP, with screenshots, UI Automation, Chrome CDP, keyboard/mouse, and terminal using semantic element targeting.301,292MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/UMEBOSHIISAN/ume-presence'
If you have feedback or need assistance with the MCP directory API, please join our Discord server