Skip to content
Agentmart
Submit a tool

esa

Official MCP server for esa.io - a documentation sharing service for teams

Connector by esaio · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 62
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/esaio-esa

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Official MCP server for esa.io - a documentation sharing service for teams

Use cases: note-taking, documentation

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
17 read · 3 write · 8 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 28

Read from the source code; the running server may list different tools.

Read 17 · Look things up without changing anything.

  • esa_get_all_category_paths
  • esa_get_attachment
  • esa_get_categories
  • esa_get_comment
  • esa_get_markdown_syntax_help
  • esa_get_post
  • esa_get_post_backlinks
  • esa_get_post_comments
  • esa_get_search_options_help
  • esa_get_team_comments
  • esa_get_team_members
  • esa_get_team_stats
Show 5 more tools
  • esa_get_team_tags
  • esa_get_teams
  • esa_get_top_categories
  • esa_search_help
  • esa_search_posts

Write 3 · Create, change, send or run things.

  • esa_create_comment
  • esa_create_post
  • esa_duplicate_post

Delete 8 · Delete, drop, revoke or wipe things.

  • esa_append_post
  • esa_archive_post
  • esa_delete_comment
  • esa_prepend_post
  • esa_rollback_post_revision
  • esa_ship_post
  • esa_update_comment
  • esa_update_post

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • ESA_ACCESS_TOKEN

Tools (28)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • esa_append_postAppend content to an existing esa postcan change or delete data

    Appends Markdown content to the end of an existing post's body, saving it as a new revision. Unlike esa_update_post, this does not require fetching the current body first, making it ideal for adding to a post (e.g. log entries, meeting notes). Optionally set wip to change the WIP state.

  • esa_archive_postArchive a postcan change or delete data

    Archives a post by moving it to the Archived/ category. If the post is in 'dev/docs', it becomes 'Archived/dev/docs'. Posts without category go to 'Archived'.

  • esa_create_commentCreate a new comment on a post

    Creates a new comment on an existing post in an esa team.

  • esa_create_postCreate a new esa post

    Creates a new post in an esa team with optional tags, category, and WIP status.

  • esa_delete_commentDelete a commentcan change or delete data

    Deletes a comment from an esa team by comment ID.

  • esa_duplicate_postDuplicate a post

    Duplicates a post by creating a new WIP post with the same name and body_md as the source post. By default the duplicate is created in the source team; specify targetTeamName to duplicate into a different team.

  • esa_get_all_category_pathsGet category paths with paginationread-only

    Retrieves category paths in a team to understand the overall category structure. Perfect for category organization, cleanup, migration planning, or finding similar categories. Returns a paginated list of paths with post counts, sorted in lexicographic order. Supports filtering (prefix/suffix/match/exact_match) to find categories by pattern.

  • esa_get_attachmentGet attachment file from esaread-only

    Retrieves an attachment file from esa with signed URLs. For supported images (JPEG, PNG, GIF, WebP) under 30MB, returns base64-encoded data. For other file types, larger images, or when forceSignedUrl is true, returns signed URLs.

  • esa_get_categoriesGet categories for a specific pathread-only

    Retrieves category information and subcategories for a specific category path, with optional posts and parent categories included

  • esa_get_commentGet a specific commentread-only

    Retrieves a specific comment by comment ID, with optional stargazers included.

  • esa_get_markdown_syntax_helpGet esa Markdown syntax documentationread-only

    Get esa Markdown and formatting documentation when unsure about syntax. Use this BEFORE using any tools with *_md parameters (like esa_create_post, esa_update_post, esa_create_comment, esa_update_comment) if you need clarification on Markdown syntax, esa-specific extensions, or formatting options.

  • esa_get_postGet a specific esa postread-only

    Retrieves a specific post from an esa team by post number. The response always includes backlinks_count (the number of posts referencing this one). To list the referencing posts themselves, use esa_get_post_backlinks. To fetch comments, use esa_get_post_comments.

  • esa_get_post_backlinksGet backlinks for a specific postread-only

    Retrieves a paginated list of posts that reference (link back to) the specified post. Archived posts and WIP posts are excluded. Results are ordered by backlink registration date (newest references first).

  • esa_get_post_commentsGet comments for a specific postread-only

    Retrieves a list of comments for a specific post with pagination support.

  • esa_get_search_options_helpGet esa search options documentationread-only

    Get esa search syntax documentation when you need to construct complex search queries. Use this BEFORE esa_search_posts if you're unsure how to translate user's search requirements into proper esa query syntax (e.g., date ranges, tag filters, category searches, advanced operators).

Show 13 more tools
  • esa_get_team_commentsGet team commentsread-only

    Retrieves a list of comments in a team with pagination support.

  • esa_get_team_membersGet team membersread-only

    Retrieves all members of a team with their roles and profile information

  • esa_get_team_statsGet team statisticsread-only

    Retrieves team statistics including member count, posts count (total/WIP/shipped), comments, stars, watches, and daily/weekly/monthly active users

  • esa_get_team_tagsGet team tagsread-only

    Retrieves all tags used in posts within a team, along with the count of posts for each tag

  • esa_get_teamsGet user's accessible esa teamsread-only

    Retrieves a list of esa teams that the user has access to.

  • esa_get_top_categoriesGet top-level categoriesread-only

    Retrieves all top-level categories for a team

  • esa_prepend_postPrepend content to an existing esa postcan change or delete data

    Prepends Markdown content to the beginning of an existing post's body, saving it as a new revision. Unlike esa_update_post, this does not require fetching the current body first. Behaves the same as esa_append_post except content is inserted at the start of the body. Optionally set wip to change the WIP state.

  • esa_rollback_post_revisionRoll back a post to a previous revisioncan change or delete data

    Rolls back a post to the specified revision, saving the restored content as a new revision.

  • esa_search_helpSearch esa documentation and helpread-only

    Search esa documentation for features, terminology, and specifications. Use this when users mention esa-specific terms, ask about esa functionality, or request help with esa workflows that you're not familiar with.

  • esa_search_postsSearch Postsread-only

    Search for posts in esa.io

  • esa_ship_postShip a postcan change or delete data

    Ships a post by setting wip to false. This marks the post as complete and ready to be published. Use this only when you need to ship without making other changes - if you're also updating title, content, or other fields, use esa_update_post with wip: false instead.

  • esa_update_commentUpdate an existing commentcan change or delete data

    Updates an existing comment in an esa team by comment ID.

  • esa_update_postUpdate an existing esa postcan change or delete data

    Updates an existing post in an esa team by post number. You can update the title, content, tags, category, and WIP status. To ship a post (mark as complete), set wip to false - this is preferred over using esa_ship_post when updating other fields simultaneously. To only add content to the start or end of the body, use esa_append_post or esa_prepend_post instead.

Compare and alternatives

    Featured in

    Signals

    Stars
    62
    Forks
    9
    Open issues
    2
    Weekly downloads
    3,373
    Last commit
    Oct 16, 2026 (12 days ago)
    Last release
    Oct 16, 2026 (12 days ago)
    Last package publish
    Oct 16, 2026 (12 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.esaio/esa
    Version
    0.15.0
    Auth
    API key
    Packages
    npm @esaio/esa-mcp-serveroci ghcr.io/esaio/esa-mcp-server:0.15.0
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 25, 2026

    More from esaio

    Cite this page

    esa MCP server. Agent Mart. https://agentmart.dev/connectors/esaio-esa (last updated 2026-10-25)