Skip to main content
Glama
esaio

esa MCP Server

Official
by esaio

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LANGNoUI language setting (e.g., 'ja' for Japanese)ja
ESA_ACCESS_TOKENYesPersonal access token for esa.io with scopes: read write or admin:comment read:post write:post read:category read:tag read:attachment read:team read:member

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
esa_get_teamsA

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

esa_get_team_statsA

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

esa_get_team_tagsA

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

esa_get_team_membersB

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

esa_get_postA

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_search_postsA

Search for posts in esa.io

esa_create_postB

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

esa_update_postA

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.

esa_append_postA

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_prepend_postA

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_get_commentA

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

esa_create_commentC

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

esa_update_commentB

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

esa_delete_commentA

Deletes a comment from an esa team by comment ID.

esa_get_post_backlinksA

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_commentsA

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

esa_get_team_commentsB

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

esa_get_categoriesA

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

esa_get_top_categoriesC

Retrieves all top-level categories for a team

esa_get_all_category_pathsA

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_archive_postA

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_ship_postA

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_duplicate_postA

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_rollback_post_revisionB

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

esa_get_search_options_helpA

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

esa_get_markdown_syntax_helpA

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_search_helpA

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_get_attachmentA

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.

Prompts

Interactive templates invoked by user choice

NameDescription
esa_summarize_postSummarize an esa post

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/esaio/esa-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server