@addai/entity-self-mcp
v0.6.0
Published
MCP server that lets a +Ai entity read and update its own config, avatar and live status/progress (with a built-in Living Presence directive), manage its skills and schedules, propose learnings to the entity it is an instance of.
Maintainers
Readme
@addai/entity-self-mcp
MCP server that lets a +Ai entity manage itself: its own config, skills and schedules.
Authenticates with a single env var, ENTITY_API_KEY — an ait_ent_* key that
Entity Studio provisions automatically when this MCP is attached to an entity.
Every tool acts only on the entity that owns the key.
Tools
| Tool | What it does |
| --- | --- |
| get_config | Read own name, description, system prompt, model, effort |
| update_system_prompt / update_description / rename | Edit own identity |
| update_model / update_effort | Change own model / reasoning effort |
| set_avatar / clear_avatar | Set own avatar/profile picture from an image URL (re-hosted), or revert to the default |
| generate_avatar | Generate a new avatar from a text prompt and set it (when image-gen is configured) |
| list_skills / create_skill / update_skill | Manage own persistent skills |
| list_schedules / create_schedule / update_schedule / delete_schedule | Manage own cron schedules |
Browser login moved out
get_my_login shipped here through 0.5.0. Browsing as yourself and editing
yourself are unrelated abilities, and pairing them meant an entity with Browser
Login switched on but no Self-Edit had a switch that granted nothing. It lives
in @addai/entity-browser-mcp as of 0.6.0.
set_avatar / clear_avatar / generate_avatar
An entity can set its own picture without a human opening Entity Studio.
set_avatar({ image_url }) takes a link to an image the entity already has (a
Drive image, a generated image URL, any public image). The entity-self-avatar
edge function fetches and re-hosts it into GCS (storage.add.ai/entity-avatars/…,
the same bucket + path the human upload path uses), so the picture is permanent
and never breaks if the original link expires or is access-controlled. Supported:
png / jpeg / webp / gif, up to 15MB. generate_avatar({ prompt }) makes a new
picture from text and sets it the same way (returns image_gen_not_configured
when no image-gen key is set — fall back to set_avatar). clear_avatar()
reverts to the default.
Writes go to entity_studio_entities.avatar_url (+ the avatar_set bundle's
still_url / poses.default); the existing entity_sync_profile trigger
propagates avatar_url to user_profiles, so the new picture shows consistently
in chat, DMs, mentions, schedules, People columns, the Studio and people pickers —
identical to a human upload. An entity can only ever change its own avatar
(resolved from its key); admins still override via the Studio UI, which writes the
same columns.
Development
Source lives in addai-entity-studio/mcp/entity-self-mcp (versions ≤ 0.1.2 were
published from a repo that no longer exists and were reconstructed from the
published dist).
npm install
npm run build
npm publishThe MCP catalog entry (codeflows_mcps, slug entity-self-mcp) runs
npx -y @addai/entity-self-mcp@latest, so a published version reaches entities
on their next run.
