← Back to search

@esaio/esa-mcp-server

GitHub Actions Scanned 6d ago

Official MCP server for esa.io - STDIO transport version

B
85.6 / 100

Versions

0.13.0latest
Jun 23, 2026
0.12.0
Jun 1, 2026
0.11.0
May 28, 2026
0.10.1
May 26, 2026
0.10.0
May 23, 2026
+ show 23 moreshow less
0.9.2
May 21, 2026
0.9.1
May 21, 2026
0.9.0
May 21, 2026
0.8.1
May 18, 2026
0.8.0
May 17, 2026
0.7.5
May 11, 2026
0.7.4
May 10, 2026
0.7.1
Apr 24, 2026
0.7.0
Mar 26, 2026
0.6.1
Mar 24, 2026
0.6.0
Mar 11, 2026
0.5.1
Mar 8, 2026
0.5.0
Mar 4, 2026
0.4.0
Feb 6, 2026
0.3.1
Jan 26, 2026
0.2.7
Nov 6, 2025
0.2.6
Nov 6, 2025
0.2.5
Nov 6, 2025
0.2.3
Nov 5, 2025
0.2.2
Nov 5, 2025
0.2.1
Nov 4, 2025
0.2.0
Nov 4, 2025
0.1.0
Sep 16, 2025
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 28

esa_get_teams
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_team_stats
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_team_tags
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_team_members
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_post
annotations: verified low

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.

readOnlyHint true destructiveHint true
esa_search_posts
annotations: verified low

Search for posts in esa.io

readOnlyHint true destructiveHint true
esa_create_post
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_update_post
annotations: verified low

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.

readOnlyHint true destructiveHint true
esa_append_post
annotations: verified low

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.

readOnlyHint true destructiveHint true
esa_prepend_post
annotations: verified low

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.

readOnlyHint true destructiveHint true
esa_get_comment
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_create_comment
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_update_comment
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_delete_comment
annotations: verified low

Deletes a comment from an esa team by comment ID.

readOnlyHint true destructiveHint true
esa_get_post_backlinks
annotations: verified low

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

readOnlyHint true
esa_get_post_comments
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_team_comments
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_categories
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_top_categories
annotations: verified low

Retrieves all top-level categories for a team

readOnlyHint true destructiveHint true
esa_get_all_category_paths
annotations: verified low

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.

readOnlyHint true destructiveHint true
esa_archive_post
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_ship_post
annotations: verified low

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.

readOnlyHint true destructiveHint true
esa_duplicate_post
annotations: verified low

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.

readOnlyHint true destructiveHint true
esa_rollback_post_revision
annotations: verified low

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

readOnlyHint true destructiveHint true
esa_get_search_options_help
annotations: verified low

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

readOnlyHint true
esa_get_markdown_syntax_help
annotations: verified low

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.

readOnlyHint true
esa_search_help
annotations: verified low

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.

readOnlyHint true
esa_get_attachment
annotations: verified low

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.

readOnlyHint true

Permissions 2

network medium
Server uses network capabilities via: fetch()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 69

info
Tool 'esa_get_all_category_paths' annotations are consistent annotation_checker · 80%
info
Tool 'esa_archive_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_ship_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_duplicate_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_rollback_post_revision' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_search_options_help' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_markdown_syntax_help' annotations are consistent annotation_checker · 80%
info
Tool 'esa_search_help' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_attachment' annotations are consistent annotation_checker · 80%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
Tool 'esa_get_teams' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_team_stats' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_team_tags' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_team_members' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_search_posts' annotations are consistent annotation_checker · 80%
info
Tool 'esa_create_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_update_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_append_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_prepend_post' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_comment' annotations are consistent annotation_checker · 80%
info
Tool 'esa_create_comment' annotations are consistent annotation_checker · 80%
info
Tool 'esa_update_comment' annotations are consistent annotation_checker · 80%
info
Tool 'esa_delete_comment' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_post_backlinks' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_post_comments' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_team_comments' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_categories' annotations are consistent annotation_checker · 80%
info
Tool 'esa_get_top_categories' annotations are consistent annotation_checker · 80%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.18.0 (GHSA-345p-7cg4-v4c7) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.18.0 (GHSA-8r9q-7v3j-jr4g) dependency_analyzer · 95%
medium
Vulnerable dependency: @modelcontextprotocol/sdk@1.18.0 (GHSA-w48q-cv73-mx4w) dependency_analyzer · 95%
medium
Vulnerable dependency: vitest@4.0.5 (GHSA-5xrq-8626-4rwp) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: esa_get_teams manifest_parser · 85%
info
Tool: esa_get_team_stats manifest_parser · 85%
info
Tool: esa_get_team_tags manifest_parser · 85%
info
Tool: esa_get_team_members manifest_parser · 85%
info
Tool: esa_get_post manifest_parser · 85%
info
Tool: esa_search_posts manifest_parser · 85%
info
Tool: esa_create_post manifest_parser · 85%
info
Tool: esa_update_post manifest_parser · 85%
info
Tool: esa_append_post manifest_parser · 85%
info
Tool: esa_prepend_post manifest_parser · 85%
info
Tool: esa_get_comment manifest_parser · 85%
info
Tool: esa_create_comment manifest_parser · 85%
info
Tool: esa_update_comment manifest_parser · 85%
info
Tool: esa_delete_comment manifest_parser · 85%
info
Tool: esa_get_post_backlinks manifest_parser · 85%
info
Tool: esa_get_post_comments manifest_parser · 85%
info
Tool: esa_get_team_comments manifest_parser · 85%
info
Tool: esa_get_categories manifest_parser · 85%
info
Tool: esa_get_top_categories manifest_parser · 85%
info
Tool: esa_get_all_category_paths manifest_parser · 85%
info
Tool: esa_archive_post manifest_parser · 85%
info
Tool: esa_ship_post manifest_parser · 85%
info
Tool: esa_duplicate_post manifest_parser · 85%
info
Tool: esa_rollback_post_revision manifest_parser · 85%
info
Tool: esa_get_search_options_help manifest_parser · 85%
info
Tool: esa_get_markdown_syntax_help manifest_parser · 85%
info
Tool: esa_search_help manifest_parser · 85%
info
Tool: esa_get_attachment manifest_parser · 85%
info
Transport: stdio manifest_parser · 90%
info
Required env vars (5) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 310 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%