Labsco
MCP SERVER

Esa MCP Server

by koki-develop

Read, write and comment on your team's esa posts without opening the browser.

Team Wikis & Documentation PlatformsVerified
Summary
The delete tools carry no guard rail — delete_post and delete_comment both state the removal is permanent and cannot be recovered.

That is worth an approval step before handing this to an agent whose job is tidying. Elsewhere it maps esa's model cleanly: wip is a first-class parameter on create_post and update_post so a draft stays a draft, and update_post takes a message so the revision history stays legible to whoever reads it next. One shape to know before wiring a search loop: get_posts truncates body_md, so get_post is the call that actually returns a post's full text.

What it is

An esa client covering posts and their comment threads: search, read, create, update and delete posts, and add, edit or remove the comments on them.

What you get
  • Post search that carries its metadata: get_posts takes a q query with sort, order and pagination and returns title, content, tags, categories, author and engagement metrics including comments, stars and watches, with an include parameter that pulls comments and stargazers and supports nested inclusion such as 'comments,comments.stargazers'.
  • A complete read by number: get_post returns a post's markdown body, tags, category, author, revision history and engagement metrics for a post_number.
  • Writing in esa's own model: create_post takes name, body_md, category, tags, a wip flag, a change message and an optional template_post_id, returning the assigned post number and URL; update_post writes the same fields against an existing post_number.
  • Comment threads as their own surface: get_post_comments pages through a post's comments with author, timestamps and stars, create_post_comment adds one in Markdown, update_comment rewrites one by comment_id, and delete_comment removes it.
  • get_tags returns every tag in use with the number of posts attached, sorted by post count descending, and delete_post removes a post by its number.
Requirements

An esa team and a token that can act on it: ESA_TEAM names the team, ESA_ACCESS_TOKEN authorises the calls.

Setup effort

One command plus a key — npx -y @koki-develop/esa-mcp-server@latest, then supply credentials