esa MCP integration for AI agents.
Connect AI agents to esa through 30 structured actions, including get all category paths, append post, and archive post. Review authentication, inputs, workf…
- ACTION CONTRACTS
- 30
- AUTHENTICATION
- OAuth 2.0 + API key
- SOURCE STATUS
- Provider-backed
CATALOG SOURCE REVIEWED AUGUST 23, 2026 / ACTION NAMES AND SCHEMAS DERIVED FROM WORKING MACHINES PROVIDER SOURCE
CAPABILITY PROFILE
What the esa integration exposes
The esa Agent App exposes 30 provider-backed actions for productivity and developer tools work. Its current contract lets an authorized agent list esa category paths with pagination and optional path filters, append markdown content to an esa post without first fetching its current body, and archive an esa post by moving it to the archived category. These operations are called through Working Machines as typed capabilities rather than through browser navigation or copied UI steps.
A connection uses OAuth 2.0 and API key. Before execution, the agent can inspect the selected action, its required fields, declared scopes, and expected output contract. Provider credentials remain inside the Working Machines runtime; the calling agent receives the capability and its structured result, not the underlying secret.
For reliable operation, start with the narrowest action that satisfies the task, resolve stable provider identifiers before changing state, and validate the returned object or status after execution. Availability still depends on the connected esa account, granted provider permissions, workspace policy, region, plan, and upstream API behavior.
VERIFIED ACTION SAMPLE
Real esa capabilities.
Showing 12 of 30 actions. Risk labels are conservative signals based on operation names, not substitutes for provider documentation or runtime policy.
get_all_category_pathsREADList esa category paths with pagination and optional path filters.
INPUTS: teamName / page / perPage / prefix / suffix
append_postWRITEAppend Markdown content to an esa post without first fetching its current body.
INPUTS: teamName / postNumber / content / wip / message
archive_postHIGH IMPACTArchive an esa post by moving it to the Archived category.
INPUTS: teamName / postNumber / message
create_commentWRITECreate a Markdown comment on an existing esa post.
INPUTS: teamName / postNumber / bodyMd / user
create_postWRITECreate a new esa post with optional Markdown body, tags, category, WIP state, and revision message.
INPUTS: teamName / name / bodyMd / tags / category
delete_commentHIGH IMPACTPermanently delete an esa comment by ID.
INPUTS: teamName / commentId
duplicate_postWRITEDuplicate an esa post into a new WIP post in the same or another accessible team.
INPUTS: teamName / postNumber / targetTeamName
get_attachmentREADGet an esa attachment as a local transit file when possible, otherwise return its downloadable URL.
INPUTS: teamName / url / forceSignedUrl
get_categoriesREADGet an esa category, its child categories, and optional posts or parents.
INPUTS: teamName / select / include / descendantPosts / page
get_commentREADGet one esa comment by ID, optionally including its stargazers.
INPUTS: teamName / commentId / include
get_markdown_syntax_helpREADGet esa's official Markdown-syntax documentation post.
get_postREADGet one esa post by number. The body is truncated by default to keep agent context bounded.
INPUTS: teamName / postNumber / truncate
INPUT CONTRACTS
Know what the action needs before it runs.
get_all_category_paths
teamNameREQUIRED- The esa team subdomain, optionally including the .esa.io suffix.
pageOPTIONAL- Page number, starting at 1.
perPageOPTIONAL- Items per page. esa accepts at most 100.
prefixOPTIONAL- Keep paths beginning with this value.
suffixOPTIONAL- Keep paths ending with this value.
append_post
teamNameREQUIRED- The esa team subdomain, optionally including the .esa.io suffix.
postNumberREQUIRED- The numeric esa post number.
contentREQUIRED- Markdown content. Use four spaces for indentation where required.
wipOPTIONAL- WIP state after the append. Defaults to the current state.
messageOPTIONAL- Optional revision message.
archive_post
teamNameREQUIRED- The esa team subdomain, optionally including the .esa.io suffix.
postNumberREQUIRED- The numeric esa post number.
messageOPTIONAL- Optional archive revision message.
create_comment
teamNameREQUIRED- The esa team subdomain, optionally including the .esa.io suffix.
postNumberREQUIRED- The numeric esa post number.
bodyMdREQUIRED- Markdown content. Use four spaces for indentation where required.
userOPTIONAL- Comment author's screen name. Requires owner permission.
PROVIDER-SPECIFIC WORKFLOWS
Jobs this Agent App can support
Inspect Get All Category Paths
List esa category paths with pagination and optional path filters. Use this as a bounded discovery step, retain the returned identifier, and avoid expanding the read beyond the task's stated scope.
get_all_category_pathsControl Append Post
Append Markdown content to an esa post without first fetching its current body. Resolve the target first, present material changes for confirmation, and make retries idempotent where the provider supports it.
append_postVerify with Get Attachment
Get an esa attachment as a local transit file when possible, otherwise return its downloadable URL. Compare the returned provider state with the intended outcome and preserve stable IDs or canonical links in the run record.
get_attachmentSAFETY BOUNDARY
Operate esa with explicit limits
- Authorize esa with OAuth 2.0 and API key and grant only the provider access required by the selected actions.
- 11 actions are change-capable by name. Confirm the target identity and material parameters before allowing a write.
- Treat `archive_post` and `delete_comment` as high-impact operations and require an explicit approval boundary.
- The sampled contract declares provider scopes including `write` and `read`; verify the complete action contract before execution.
- After a call, inspect the structured result and execution record before reporting that the esa task completed successfully.
CONNECTION MODEL
OAuth 2.0 + API key
esa PAT v2 used with the Authorization Bearer header. Connection validation requires read:user; actions require their corresponding PAT v2 resource scopes. To restrict accessible teams, configure the token and API access policy in esa.
Working Machines stores provider credentials behind the execution boundary. An agent can use an authorized connection identity, but catalog discovery alone does not reveal OAuth tokens, API keys, or provider secrets.
- READ SIGNALS
- 19
- WRITE SIGNALS
- 9
- HIGH IMPACT
- 2
- REVIEW SIGNALS
- 0
EVIDENCE AND AVAILABILITY
Provider reference
Action names, input fields, authentication types, and counts on this page are generated from the Working Machines provider catalog. Provider behavior, quotas, object semantics, account eligibility, and regional availability remain governed by esa.