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_pathsREAD

List esa category paths with pagination and optional path filters.

INPUTS: teamName / page / perPage / prefix / suffix

append_postWRITE

Append Markdown content to an esa post without first fetching its current body.

INPUTS: teamName / postNumber / content / wip / message

archive_postHIGH IMPACT

Archive an esa post by moving it to the Archived category.

INPUTS: teamName / postNumber / message

create_commentWRITE

Create a Markdown comment on an existing esa post.

INPUTS: teamName / postNumber / bodyMd / user

create_postWRITE

Create a new esa post with optional Markdown body, tags, category, WIP state, and revision message.

INPUTS: teamName / name / bodyMd / tags / category

delete_commentHIGH IMPACT

Permanently delete an esa comment by ID.

INPUTS: teamName / commentId

duplicate_postWRITE

Duplicate an esa post into a new WIP post in the same or another accessible team.

INPUTS: teamName / postNumber / targetTeamName

get_attachmentREAD

Get an esa attachment as a local transit file when possible, otherwise return its downloadable URL.

INPUTS: teamName / url / forceSignedUrl

get_categoriesREAD

Get an esa category, its child categories, and optional posts or parents.

INPUTS: teamName / select / include / descendantPosts / page

get_commentREAD

Get one esa comment by ID, optionally including its stargazers.

INPUTS: teamName / commentId / include

get_markdown_syntax_helpREAD

Get esa's official Markdown-syntax documentation post.

get_postREAD

Get 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_paths

Control 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_post

Verify 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_attachment

SAFETY 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.

Official esa website

ONE CONNECTION. REAL WORK.

Give your agent software it can use.

Connect through MCP or explore the Agent App catalog and choose only the capabilities your workflow needs.

EXPLORE AGENT APPS