Tools
Pack, alias, track, and suggestion tools exposed by the Epismo MCP server.
Pack tools
| Tool | Purpose | Cost |
|---|---|---|
epismo_pack_create |
Create a workflow or context pack | 5 credits |
epismo_pack_search |
Search workflow/context packs | 5 credits |
epismo_pack_get |
Read outline, selected nested content, or full content | 1 credit |
epismo_pack_update |
Patch a pack by UUID, alias, share URL, or hub URL | 1 credit |
epismo_pack_like |
Like or unlike a pack | 1 credit |
epismo_pack_rate |
Rate whether a pack worked when you used it | 1 credit |
epismo_pack_delete |
Delete a pack and aliases you own that point to it | 1 credit |
epismo_pack_run |
Expand a workflow pack into a goal and tasks | 1 credit |
For large packs, read outline data first. Then fetch selected stepIds or blockIds.
{
"reference": "@repo-onboarding"
}The outline response includes contentIndex.stepIds or contentIndex.blockIds. Use those IDs for selective fetches.
{
"reference": "@repo-onboarding",
"blockIds": ["b001", "b003"]
}Use full=true only when the client needs every block or step.
Before passing a large pack to an agent, use the outline to narrow the content it actually needs.
Pack creation example
{
"type": "context",
"scope": { "type": "projects", "ids": ["project-id"] },
"title": "Team onboarding",
"blocks": [
{
"title": "Where things live",
"content": "Docs in Notion, code in GitHub, designs in Figma."
}
]
}For workflow packs, pass steps instead of blocks. Workflow step assignees must be human or an agent ID.
Running a workflow pack
epismo_pack_rate rates the outcome of using a pack (outcome: success | failure). One outcome per account and pack — repeating the rating updates the previous outcome (latest wins). Rated outcomes feed the hub's success/failure counts and the trending ranking.
epismo_pack_run expands a workflow pack into a track in one call: a root goal (the run's objective and retrieval anchor) plus one todo task per step. Step dependsOn/parentId ids are resolved to track UUIDs, relative due dates become absolute dates from startDate (default: today), and every created track carries a workflow:<pack-id> source.
{
"reference": "@release-review",
"title": "Ship CSV export",
"startDate": "2026-07-01",
"assignees": ["human=<user-id>"],
"context": ["@repo-conventions"],
"scope": { "type": "projects", "ids": ["project-id"] }
}title/content default to the pack's when omitted. assignees maps pack assignee tokens as token=id pairs — map human to a user id; agent ids resolve as-is. Unmapped human steps are left unassigned and reported in warnings. context records context packs as context: sources on the goal.
The response includes goal.id, each task's id with its source stepId, and a stepMap. Fetch the whole run later with epismo_track_search filtered by goalId.
Track tools
| Tool | Purpose | Cost |
|---|---|---|
epismo_track_search |
Search tasks/goals with filters | 2 credits |
epismo_track_create |
Create a task or goal | 1 credit |
epismo_track_update |
Patch a task or goal by UUID/URL | 1 credit |
epismo_track_get |
Read one track | 1 credit |
epismo_track_review |
Generate a review | AI token usage |
epismo_track_apply |
Bulk create/update/delete tracks | 1 credit |
epismo_track_delete |
Delete a track | 1 credit |
Use epismo_track_apply when an agent creates multiple related tasks.
{
"scope": { "type": "projects", "ids": ["project-id"] },
"upserts": [
{
"id": "t001",
"title": "Review MCP docs",
"task": { "status": "todo", "dueDate": "2026-06-05" }
},
{
"id": "t002",
"title": "Publish docs changes",
"task": { "status": "todo", "dependsOn": ["t001"] }
}
]
}Non-UUID IDs such as t001 create new tracks. Within the same epismo_track_apply call, those labels can be used in parentId, dependsOn, and goalId; the server resolves them to generated UUIDs.
When an agent is exploring, narrow queries and filters first, then fetch detail only for records that matter.
Task statuses are backlog, todo, in_progress, and done. Goal statuses are not_started, on_track, at_risk, postponed, and completed.
epismo_track_review generates a read-only review for one or more tasks/goals. Pass references and, optionally, instruction. It reads target tracks, related tasks/goals, logs, and source packs, then returns stats plus generated Markdown content. Detailed reviews consume credits based on the underlying AI token usage. It does not create or update packs and does not create suggestions; call the pack or suggestion tools explicitly if you want to act on the result.
Log tools
| Tool | Purpose | Cost |
|---|---|---|
epismo_log_create |
Append a log/comment to a track | free |
epismo_log_list |
List logs — for one track, or across every track | 1 credit |
epismo_log_delete |
Delete one log | free |
epismo_log_create appends a comment or activity log to a task or goal — pass reference as the target track UUID or URL. Use kind: "update" to record what an agent did or found, kind: "review" for a verdict or review result, and kind: "comment" for discussion. metadata is optional structured JSON capped at 16KB serialized, and idempotencyKey can be passed for retry-safe creation. Appending a log is free, so agents should log liberally rather than saving it for a final summary.
epismo_log_list returns logs newest first by default. Pass reference (a track UUID or URL) to scope to one track; omit it for an activity feed across every track the caller can currently access instead, optionally narrowed with authorId either way — use this for "what's been happening" or "what has this user written." Pass the last response's nextCursor as cursor with the same order to fetch the next page; use order: "asc" for chronological replay or to fetch only what was appended after a known log. The cross-track feed (when reference is omitted) reflects an ACL snapshot taken when each log was written, not a live re-check of the track's current ACL — a log written while the caller had access can still appear here after that access is revoked, unlike a reference-scoped read, which always reflects the track's live ACL. An author outside what the caller can see (for example, someone who has since left) comes back as "unknown" rather than a raw account id.
epismo_log_delete deletes one log by log id. Authors can delete their own logs; a track's creator can delete any log on that track. Deleted logs are omitted from future list results.
Credit behavior
Tool costs are listed in the tables above. Credits are consumed from the current personal/workspace context resolved by the OAuth token. If the context does not have enough credits, the tool call may fail with a credit/payment error.
Alias tools
| Tool | Purpose | Cost |
|---|---|---|
epismo_alias_upsert |
Create or repoint an alias for a pack you own | 5 credits |
epismo_alias_get |
Resolve a single alias to its pack | 1 credit |
epismo_alias_list |
List your personal and active-workspace aliases | 2 credits |
epismo_alias_delete |
Delete an alias | 1 credit |
Alias input is the alias name; a leading @ is accepted and stripped. The @handle/name form references another account's alias for reading and cannot be used to create or delete one.
epismo_alias_upsert takes a pack reference (pack ID, alias, share URL, or hub URL) plus the alias name to create. epismo_alias_upsert and epismo_alias_delete accept an optional namespace — personal (default) or workspace (the active workspace's shared account, resolvable by every member). Only the pack's owner may create, repoint, or delete an alias to it. epismo_alias_get resolves an alias reference (@alias, alias, or @handle/alias, with an optional namespace to disambiguate) and returns the pack's id, type, namespace, and a ready-to-use reference; epismo_alias_list returns the same fields for every entry.
Suggestion tools
| Tool | Purpose | Cost |
|---|---|---|
epismo_suggestion_create |
Send an improvement suggestion to a pack owner | 5 credits |
epismo_suggestion_get |
Read one suggestion, optionally with the pack snapshot | 1 credit |
epismo_suggestion_list |
List submitted, received, or per-pack suggestions | 2 credits |
epismo_suggestion_update |
Update your own suggestion's title or content | 1 credit |
epismo_suggestion_resolve |
Set the status on a suggestion you own | 1 credit |
Suggestions are text-first improvement proposals for workflow and context packs. epismo_suggestion_create takes a pack reference, title, and content, and captures a snapshot of the pack at submission time. epismo_suggestion_list selects the view with owner: true (your inbox), reference (one pack), or neither (suggestions you submitted), and accepts statuses, page, and includeSnapshots. It returns each suggestion's content as a truncated preview; use epismo_suggestion_get for the full content. Only the author can update a suggestion; only the pack owner can resolve it (open, applied, declined, or archived). See Suggestions for the full model.