accueil / serveurs / Productivité / ai.mypenny/mypenny
ai.mypenny/mypenny
serveur MCP (Model Context Protocol) · mypenny-notes 0.4.5
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que ai.mypenny/mypenny est sûr ?
Au dernier audit MCP Hub, le serveur MCP « ai.mypenny/mypenny » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 7 outils
- penny_delete≈ 434 tokens
Move to Trash. Project: projectId + expectedRevision + operationId; penny_edit op:restore recovers. Repeat in_progress with the same operationId; report partial_recovery conflicts. Note/tracker_entry: ids (max100); skill/rhythm: one id; profile_block: ids are block names. Tag/link removal uses the identifiers below. Tasks are canceled via penny_edit; tracker definitions are archived, not deleted.
Paramètres, retour & exemple (10)
Paramètresids· array · optionnel
note/tracker_entry: IDs to trash, max 100. rhythm/skill: exactly one ID. profile_block: block names to trash.tagA· string · optionnel
tag_relation: required edge endpoint to remove.tagB· string · optionnel
tag_relation: required other endpoint.scope· string · optionnel · global | workspace | private
Profile block scope; Project private overrides defaults, workspace requires workspaceId.noteIds· array · optionnel
tracker_note_link: required note IDs to unlink.projectId· string · optionnelentityType· string · requis · project | note | tracker_entry | rhythm | skill | profile_block | tag_relation | tracker_note_link
What to trash.operationId· string · optionneltrackerEntryId· string · optionnel
tracker_note_link: required entry to detach notes from.expectedRevision· number · optionnel
Exemple d'appel{"name": "penny_delete", "arguments": {"entityType": "project"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - penny_edit≈ 2318 tokens
When the user corrects something on file, or a task, tracker, skill, or block needs to change, edit the existing item rather than writing a duplicate. Modify what already exists; entityType uses the same taxonomy as penny_write (see ladder). Notes: updates[] patch/replace, max100. Tasks: taskId; cancel via status:canceled, never Trash. Profile: blockName + content upsert; memory_policy and persona hold standing instructions. When the user tells you what to save, skip, check, or surface, update their memory_policy block in the same turn as a general rule in their words. Skill redefinition prepares a preview, not a save; wait for user approval before op:apply with proposalId. cancel discards; undo recovers the prior version if no later edit exists. skills/history supplies historyId; restore_revision with skillId/historyId/expectedUpdatedAt previews recovery. restore with skillId recovers deleted skills disabled. No invocation waiting period. Trackers: trackerId + sparse name/description/unit/kind/targetSpec/archived; retire by archiving, no delete. Private trackers only; workspace trackers unsupported. Rhythms: full manifest. skill_run/rhythm_run: complete runId + status. Projects: projectId + expectedRevision + operationId + sparse patch; reread and reconcile on conflict. restore_revision restores fields/resourceIds from historyId as a new revision. Tracker entries: trackerId + entryId + expectedUpdatedAt + full payload. restore un-trashes note/tracker_entry ids or Project projectId.
Paramètres, retour & exemple (54)
Paramètresop· string · optionnel · restore | restore_revision | apply | cancel | undo
restore: un-trash notes/tracker entries by ids.ids· array · optionnel
restore: IDs to un-trash; max 100.goal· string · optionnel
rhythm: required run instructions; skill uses instructions instead.kind· string · optionnel
tracker: habit|metric|goal|log|status|custom.name· string · optionnel
area/project/tracker: name. entityType:"skill": previews replacement; rhythm: upserts.unit· string · optionnel
tracker: unit of measure.actor· string · optionnel
task/area/project/heading: actor (me|agent) recorded in activity ledger.notes· string · optionnel
task/area/project: markdown body.order· number · optionnel
task/area/project/heading: sort order.orgId· string · optionnel
area/project/heading: required container ID to update.owner· string · optionnel · me | agent | unassigned
task: assignee.patch· object · optionnel
Project patch: full schema on penny_write.runId· string · optionnel
skill_run/rhythm_run: required run ID to complete.scope· string · optionnel · global | workspace | private
Profile: global|workspace. Projects: private; workspace requires workspaceId.title· string · optionnel
task/heading: title/label.areaId· string · optionnel
project: parent area.fields· array · optionnel
Restore selection: field names or step:<stepId>; fields/resourceIds required.status· string · optionnel
task: open|in_progress|done|canceled. Repeating completion returns nextTaskId: act on that new occurrence; the completed ID rejects further status writes. skill_run/rhythm_run: done|error|skipped.taskId· string · optionnel
task: required ID to update.whenAt· number · optionnel
task/project: schedule date (ms epoch).content· string · optionnel
profile: required new block content.deliver· object · optionnel
entityType:"skill": required with trigger; rhythm: required. Omit for on-demand. Shape: penny_write.enabled· boolean · optionnel
skill: false pauses due signals, true resumes; requires skillId. Penny does not run skills.entryId· string · optionnelpayload· object|string · optionnelposture· string · optionnel
entityType:"skill" with trigger, or rhythm: read|propose|act.skillId· string · optionnel
skill: ID required with enabled to pause/resume.trigger· object · optionnel
entityType:"skill": optional; rhythm: required. Omit to return to on-demand. Penny does not run it; connected agents receive due signals. Shape: penny_write. ALWAYS set IANA timezone; default UTC.updates· array · optionnel
note: patch or supersede up to 100 existing notes.archived· boolean · optionnel
Area/project/tracker: archive; false reactivates. Tracker definitions retire only this way.deadline· number · optionnel
task/project: hard due date (ms epoch).snapshot· string · optionnel · before | after
skill restore_revision: history side; default before. after recovers an undone change.agentNote· string · optionnelblockName· string · optionnel
profile: required block to upsert.dependsOn· array · optionnel
task: full prerequisite taskId set; replaces all.historyId· string · optionnel
restore_revision: Project/skill history ID. Skill restore previews; requires skillId and expectedUpdatedAt.linkNotes· array · optionnel
task: note IDs to link.projectId· string · optionnel
heading: required parent Project.trackerId· string · optionnel
tracker: required ID to update; only supplied fields change.entityType· string · requis · profile | task | area | project | heading | tracker | rhythm | rhythm_run
Item type.proposalId· string · optionnel
Returned skill proposal. apply commits after user review; cancel discards; undo restores the previous version only if no later edit exists.provenance· object · optionnel
rhythm_run: accountability summary (IDs/labels, never full content).recordedAt· number · optionnelrecurrence· object · optionnel
task: set/change recurrence. clearFields:["recurrence"] ends the series, making the task one-off and preserving completed history. Target currentOccurrenceId, not a stale/completed ID.targetSpec· object · optionnel
tracker: replaces the whole target spec; shape as penny_write.whenBucket· string · optionnel · anytime | someday
task/project: undated bucket; mutually exclusive with whenAt.clearFields· array · optionnel
task: optional fields to unset.description· string · optionnel
entityType:"skill"/rhythm: required use-when description. tracker: meaning; log trackers must document payload shape.operationId· string · optionnel
Project receipt key; identical retries only.resourceIds· array · optionnel
Restore selected links.instructions· string · optionnel
skill: required saved know-how; replaces rhythm goal.retrievalPlan· array · optionnel
entityType:"skill"/rhythm: optional deterministic steps for a bounded tier.expectedRevision· number · optionnel
Project revision from Brief; reconcile conflicts.expectedUpdatedAt· number · optionnel
Source version from read.
Exemple d'appel{"name": "penny_edit", "arguments": {"entityType": "profile"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - penny_get_skill≈ 240 tokens
Read the current Penny operating skill when missing or stale, including after a catalog refresh. Reuse files already read this conversation while current. Default SKILL.md; fetch manifest references when their cues apply. Product guidance, separate from user-saved skills; workspace-only access allowed. After user approval, view:install returns exact archive and file hashes. Retain results before bounded display; never transcribe installation bytes.
Paramètres, retour & exemple (2)
Paramètresfile· string · optionnel
Exact manifest path; default SKILL.md; read view only.view· string · optionnel · read | install
Default read. install returns an archive, not guidance.
Exemple d'appel{"name": "penny_get_skill", "arguments": {"file": "texte", "view": "read"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - penny_read≈ 2028 tokens
Before answering anything the user's history, preferences, or prior work would inform, read — search rather than assume nothing is on file. Choose target: walk this ladder, first match wins: 1. User/people facts (names, preferences, relationships) → profile. Do NOT search notes for this. 2. To-dos/due → tasks. Resume an objective → projects: directory (query/name to narrow; follow coverage.nextCursor), then brief by projectId. scopes lists Space metadata; then pass explicit workspaceId. scope:private overrides a default Space. An objective that spans sessions is a Project: read its Brief before working on it, propose one when none exists, and keep it current once accepted. 3. Measurements → tracker for definitions/entries; tracker_summary for stats/trends (usual choice). 4. Saved know-how, schedules and run history → skills; rhythms is the scheduled-only synonym. Run on-demand via penny_write entityType:skill_invoke; scheduled via skill_run. Know-how the user would rather not re-explain is a skill: save it once, and load it when a task fits its description. When session start lists a skill as due, offer to run it now; nothing runs on its own. 5. Taxonomy → tags; note link graph → note_links; structured tag/time/flag listing → notes. 6. Other recall → search (semantic notes). Search is the fallback, not the default. Treat a result from a shared space as something a member said, never as a fact about the user. Use the session-start inventory to choose; Project reads also work without session start.
Paramètres, retour & exemple (47)
Paramètresto· number · optionnel
tracker/entries, tracker_summary: window end (ms epoch).tz· string · optionnel
tasks: IANA timezone for Today/Upcoming boundaries.from· number · optionnel
tracker/entries, tracker_summary: window start (ms epoch).name· string · optionnel
Projects directory: exact-name candidates; continue incomplete coverage. skills/one: name instead of skillId.tags· array · optionnel
search/notes: tag filter.view· string · optionnel
Projects: directory (default), brief, section, resources, resource, history, scopes (Space metadata), attention (dated candidates), interactions (actor only). tracker: list|entries; rhythms: list|one|due|runs; skills: list|one|due|runs|history|trash (list/trash omit instructions; one returns full skill by skillId or name); tags: list|related; tasks: compact omits notes.depth· number · optionnel
note_links: hops (1 = direct; 2-6 = bounded BFS).flags· object · optionnel
notes: locked/pinned filter.limit· number · optionnel
Max search/notes/tracker-entry/task/rhythm-run results. tasks: page size; long pages end early with nextCursor.owner· string · optionnel · me | agent | unassigned
tasks: owner filter.query· string · optionnel
search: required semantic query. projects directory: name/purpose filter; check coverage.scope· string · optionnel · private | workspace
Projects: private overrides defaults; workspace requires workspaceId.areaId· string · optionnel
tasks: area filter; also applies to organize:project.bucket· string · optionnel · today | upcoming | anytime | someday
tasks: schedule bucket filter.cursor· string · optionnel
projects/tasks: prior nextCursor; keep the same filters. tasks: a page can be short and still have one; read until a reply has none.status· string · optionnel · open | in_progress | done | canceled | active | paused
tasks: status filter.target· string · requis · profile | projects | tasks | tracker | tracker_summary | rhythms | skills | tags
What to read; first match in the tool description's ladder wins.taskId· string · optionnel
tasks: full detail. A repeating task returns seriesId/currentOccurrenceId; act on the current occurrence, not a completed ID.blocked· boolean · optionnel
tasks: only tasks with unmet dependsOn.section· string · optionnel · purpose | progress | resources | plan | instructions
projects/section: one Brief section.seedIds· array · optionnel
note_links: required starting note IDs.skillId· string · optionnel
skills: required for one unless name is given; optional run scope for runs.dateAxis· string · optionnel · created | valid
notes: timeRange axis; created = when written, valid = when the fact holds.dueRange· object · optionnel
tasks: due-date window (ms epoch).eventKey· string · optionnel
Projects interactions: actor event key; omit to page.maxDepth· number · optionnel
tags/related: maximum traversal depth.maxNodes· number · optionnel
note_links: node cap for depth > 1; default 50.organize· string · optionnel · area | project | heading
tasks: list containers instead of tasks.rhythmId· string · optionnel
rhythms: required for one; optional run scope for runs.seriesId· string · optionnel
tasks: complete recurring-series history, newest first, including completed occurrences.edgeTypes· array · optionnel
note_links: only follow/return these relationship types.minWeight· number · optionnel
tags/related: minimum edge weight (default 0.4).orgStatus· string · optionnel · active | paused | done | canceled
tasks organize:project: Project status filter.projectId· string · optionnel
projects brief/section/resources/resource/history: required stable Project ID. tasks: Project filter or heading parent.timeRange· object · optionnel
search/notes: time window (ms epoch).trackerId· string · optionnel
Required for tracker/entries and tracker_summary.blockNames· array · optionnel
profile: exact block names.confidence· object · optionnel
notes: confidence range.ifRevision· string · optionnel
profile: last-read revision; returns {unchanged:true} if unchanged.projectKey· string · optionnel
profile: include subconscious:<projectKey>.resourceId· string · optionnel
Projects resource: read the authorized current source.enabledOnly· boolean · optionnel
rhythms/list: only enabled rhythms.resourceState· string · optionnel · attached | suggested | removedgraphTraversal· boolean · optionnel
search: opt into tag/link graph expansion (default false; measured recall loss). Use only for deliberate graph exploration.includeArchived· boolean · optionnel
Include archived trackers, Projects, or task containers.includeCompleted· boolean · optionnel
tasks: include done/canceled; default false. An explicit status wins.includeRelations· boolean · optionnel
tags/list: include parents/children/synonyms.
Exemple d'appel{"name": "penny_read", "arguments": {"target": "profile"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - penny_session_start≈ 679 tokens
Call ONCE at the start of every conversation, before the first substantive reply. First read the installed Penny skill; report its exact metadata via installedSkillStatus/Version/Sha256/Source. Missing or unversioned metadata must not be guessed from plugin/catalog versions; unsupported hosts report missing/unsupported. Retain results in execution storage before bounded display; inspect one text OR structured payload. Check pennySkill.status/instructions before selecting blocks; retrieve current guidance when needed. Reuse the complete, untruncated profile (persona/facts/preferences/custom blocks) and answer from it before searching notes. Follow self_improvement throughout the conversation. `meta.onboarding` present: offer penny_start_setup, resuming from its phase. meta.saveDrought true: follow drought repair. Inventories of trackers, rhythms, tasks and Projects are capped; meta.truncated.* means drill down with penny_read. skills.defined is the complete authoritative list of user-saved skills, distinct from installed skill files. `features` says which features are in use and when; consult it and the inventory before choosing entityType. tz is IANA (default UTC) for local Today/Overdue and dueNow. projects is a bounded PRIVATE directory with coverage and dated attention candidates, not a search of all Spaces; read relevant Briefs by projectId. Workspace-only connections cannot call this: use penny_read target:projects view:scopes, then explicit workspaceId. projectKey includes only the matching repository subconscious block, not a Penny Project.
Paramètres, retour & exemple (6)
Paramètrestz· string · optionnel
IANA timezone for today/overdue boundaries (e.g. America/New_York); default UTC.projectKey· string · optionnel
Include subconscious:<projectKey>; exclude all other subconscious blocks.installedSkillSha256· string · optionnel
Exact metadata.bundle_sha256; report absent metadata as unversioned.installedSkillSource· string · optionnel · standalone | plugin | unsupported | unknown
Manage plugin copies via plugin manager; standalone via approved archive installation.installedSkillStatus· string · optionnel · versioned | unversioned | missing
Read installed skill, then report. Legacy omission returns not_reported.installedSkillVersion· string · optionnel
Exact installed metadata.version; omit if missing or unversioned.
Exemple d'appel{"name": "penny_session_start", "arguments": {"tz": "texte", "projectKey": "texte", "installedSkillSha256": "texte", "installedSkillSource": "standalone", "installedSkillStatus": "versioned", "installedSkillVersion": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - penny_start_setup≈ 482 tokens
Setup in phases; omit phase to start, resume from meta.onboarding.phase. skipForGood opts out. Stage encrypted imports for dashboard review; status checks receipts. Only users save/cancel there. Imported counts are server-derived; finish cannot complete an active import.
Paramètres, retour & exemple (10)
Paramètresstop· integer · optionnel
Tour stop, with phase tour.phase· string · optionnel · start | import | gaps | tour | finish
Phase to run; omit to start.client· string · optionnel
Actual host: claude-desktop, claude-code, codex, chatgpt or other; tailors paste guidance.counts· object · optionnel
Cumulative answers/featuresCreated. Ledger imports ignore imported; only committed receipts count.draftId· string · optionnel
Returned collection ID; stage only.importDraft· string · optionnel
Strict JSON {notes,profiles}; returned schema. 10 notes, 4 replacements, 64 KiB UTF-8. No approval/source/selection.skipForGood· boolean · optionnel
User requested permanent setup opt-out.importAction· string · optionnel · stage | status
Stage needs importDraft, draftId, expectedRevision. Status has no content. No model approval.prevAccepted· boolean · optionnel
Did the user accept the previous tour stop's offer?expectedRevision· integer · optionnel
Returned revision; stage only.
Exemple d'appel{"name": "penny_start_setup", "arguments": {"stop": 1, "phase": "start", "client": "texte", "counts": {}, "draftId": "texte", "importDraft": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - penny_write≈ 3270 tokens
Save the moment something durable emerges — a decision, preference, plan, correction, a to-do, a measurement, or something you produced — mid-conversation and unprompted; when the call is close, save. Choose entityType: walk this ladder, first match wins: 1. Durable fact about the user or their people → update the profile (profile upsert or penny_edit), not a note. How they want to be remembered → memory_policy, a general rule in their words; how they want you to show up (tone/register/manner) → persona. When the user tells you what to save, skip, check, or surface, update their memory_policy block in the same turn as a general rule in their words. 2. Commitment/action with a done-state → task. Organize via area/project/heading. A to-do the user mentions, even in passing, is a task: offer to capture it, then write it. Project create: patch.name/purpose + operationId; revise: projectId + expectedRevision from Brief + sparse patch (max 25 step/resource changes). project_interaction records actor proposals/declines/deferrals. pending_share_approval is a proposal, not a save. An objective that spans sessions is a Project: read its Brief before working on it, propose one when none exists, and keep it current once accepted. 3. Measurement → tracker_entry for an existing tracker (check inventory); otherwise propose tracker first. Active duplicate tracker names are rejected; edit with penny_edit. A measurement the user would log more than once is a tracker entry; if no tracker fits, propose one before logging. 4. Reusable know-how → skill; trigger makes it scheduled (legacy rhythm). Existing skill names prepare a preview; wait for user approval before penny_edit op:apply with proposalId. Run on-demand via skill_invoke; begin scheduled runs via skill_run. Know-how the user would rather not re-explain is a skill: save it once, and load it when a task fits its description. 5. Other context/events/ideas/learning → note. Prefer a specific type when unsure; a note is the fallback, not the default. Also tag_relation and tracker_note_link. Batch notes or tracker_entry entries: max100. Modify existing items with penny_edit; trash with penny_delete. Reuse an existing tag before minting a new one. Tagging and linking conventions live in the Penny skill. Note confidence measures signal, not pipeline: 0.95 = explicit user statement; 0.80 = confirmed decision; 0.60 = reasonable inference; 0.40 = hedged or sleeptime-derived; 0.20 = weak signal. Each note needs sampleQuestions: exactly three short, distinct natural-language questions derived from its content, in the user's voice, not keywords or near-duplicates. For an APA preference: ["What citation style should I use for the paper?", "How should I format references in my thesis?", "What’s my usual academic style?"].
Paramètres, retour & exemple (50)
Paramètresgoal· string · optionnel
rhythm: required run instructions; skill uses instructions instead.kind· string · optionnel
tracker: required; habit|metric|goal|log|status|custom.name· string · optionnel
Required: tracker/area/project/rhythm and entityType:"skill". skill_invoke/skill_run: alternative to skillId. Existing skill names preview changes; new names create. Active tracker duplicates are rejected; archived names reactivate.tags· array · optionnel
task: tags to attach.unit· string · optionnel
tracker: unit of measure.actor· string · optionnel
task/area/project/heading: actor (me|agent) recorded in activity ledger.child· string · optionnel
tag_relation: required child tag.notes· array|string · optionnel
note: array (max 100), each requires content and confidence (0–1), plus tags and exactly 3 sampleQuestions in the user’s voice; optional source/memoryType (episodic|semantic|procedural)/validFrom. task/area/project: markdown string.order· number · optionnel
task/area/project/heading: sort order.owner· string · optionnel · me | agent | unassigned
task: assignee.patch· object · optionnel
Project: sparse changes; omitted fields stay. Max 25 step/resource changes.scope· string · optionnel · global | workspace | private
Profile: global|workspace. Projects: private; workspace requires workspaceId.title· string · optionnel
task/heading: required title/label.areaId· string · optionnel
project: required parent area.parent· string · optionnel
tag_relation: required parent tag of child_of edge.source· string · optionnel
note/tracker_entry: provenance; defaults conversation/agent-mcp respectively.status· string · optionnel · open | in_progress | done | canceled
task: initial status.whenAt· number · optionnel
task/project: schedule date (ms epoch).content· string · optionnel
profile: required block content.deliver· object · optionnel
entityType:"skill": required with trigger; rhythm: required. Omit for on-demand. Scheduled output: {kind:'note',tags?:string[]}|{kind:'profile_block',blockName:string}|{kind:'notify'}.entries· array · optionnel
tracker_entry: up to 100 for one trackerId; each {payload,loggedAt?,agentNote?,noteIds?,source?,metadata?,externalId?}. Mutually exclusive with top-level payload. Receipts list saved/failed items and duplicates for stored externalIds; do not claim all saved from a partial result.noteIds· array · optionnel
tracker_entry: archival note IDs to attach. tracker_note_link: required note IDs to link.payload· object · optionnel
tracker_entry: tracker-defined data point; required unless entries is used.posture· string · optionnel
entityType:"skill" with trigger, or rhythm: read|propose|act; default read.skillId· string · optionnel
skill_invoke/skill_run: skill to run now/begin; required unless name is given.trigger· object · optionnel
entityType:"skill": optional; rhythm: required. Requires deliver. Penny does not run it; due signals reach the connected agent. Schedule: {kind:"schedule",cadence:"daily"|"weekly"|"monthly",at?:"Fri 16:00",timezone?:"America/Denver"}. ALWAYS set IANA timezone; default UTC shifts local times. Event: {kind:"event",on:"note.created",where?:{tags?:string[]}}.deadline· number · optionnel
task/project: hard due date (ms epoch).rhythmId· string · optionnel
rhythm_run: rhythm to begin; or pass name.agentNote· string · optionnel
tracker_entry, single only: short non-searchable caption.blockName· string · optionnel
profile: required block name to upsert.dependsOn· array · optionnel
task: full prerequisite taskId set; replaces all.headingId· string · optionnel
task: parent heading.linkNotes· array · optionnel
task: note IDs to link.projectId· string · optionnel
task: parent Project. heading: required parent Project.reasoning· string · optionnel
tag_relation: short edge justification, typically a user quote.trackerId· string · optionnel
tracker_entry: required tracker to log against.entityType· string · requis · profile | task | area | project | project_interaction | heading | tracker | tracker_entry
What to create; first match in the tool description's ladder wins.externalId· string · optionnel
tracker_entry, also entries items: source record ID, max 200 chars. Use for imports/sync: repeats on the same tracker return the existing entry as duplicate. Opaque, unencrypted: never include content.recordedAt· number · optionnel
tracker_entry, single only: observation time (ms epoch); default now.recurrence· object · optionnel
task: repeat. Returned taskId is the first occurrence; completion returns nextTaskId (see penny_edit status). Never reuse a completed occurrence's ID.targetSpec· object · optionnel
tracker: JSON target spec, interpreted at retrieval (e.g. {kind:'daily_minimum',value:10000}).whenBucket· string · optionnel · anytime | someday
task/project: undated bucket; mutually exclusive with whenAt.description· string · optionnel
tracker: required meaning. entityType:"skill"/rhythm: required one-line purpose, including on-demand skills.interaction· object · optionnel
project_interaction: actor decision; read first, update with expectedUpdatedAt.operationId· string · optionnel
Project receipt key; identical retries only.instructions· string · optionnel
skill: required know-how for invocation or when a connected agent picks up a due skill. Replaces rhythm goal.retrievalPlan· array · optionnel
entityType:"skill"/rhythm: optional deterministic steps [{tool,args}] for a bounded tier.trackerEntryId· string · optionnel
tracker_note_link: required entry to attach notes to.expectedRevision· number · optionnel
Project revision from Brief; reconcile conflicts.expectedUpdatedAt· number · optionnel
Source version from read.
Exemple d'appel{"name": "penny_write", "arguments": {"entityType": "profile"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».