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 namespacepersonal (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.