esa_get_teams
Get user's accessible esa teams
Retrieves a list of esa teams that the user has access to.
pageroleperPage
io.github.esaio由 GitHub 帳號 esaio 發布v0.15.2更新於 Oct 30, 2026
Official MCP server for esa.io - a documentation sharing service for teams
esa.io 官方 MCP 伺服器,讓助理搜尋、讀取、建立、更新並整理團隊文件文章、留言、分類與附件。
日本語 | English
esa.io の公式 MCP(Model Context Protocol)サーバー(STDIO Transport 版)
AI アシスタントと情報共有サービス esa をつなぐ MCP サーバーです。Model Context Protocol 経由で、AI アシスタントから esa の記事を読んだり、作成・更新・管理などができます。
esa_get_teams - 所属している esa チームの一覧esa_get_team_stats - チームの統計情報(メンバー数、記事数、コメント数など)esa_get_team_tags - チーム内で使われているタグと使用回数esa_get_team_members - チームメンバーとその役割・プロフィールesa_search_posts - 記事を検索esa_get_post - 記事 ID から記事を取得(バックリンク総数 backlinks_count、本文の文字数・行数 body_md_stats を含む)esa_get_post_backlinks - 指定記事を参照している記事の一覧(ページング対応)esa_create_post - 新しい記事を作成(タグ、カテゴリー、WIP ステータス付き)esa_update_post - 記事を更新(タイトル、本文、タグ、カテゴリー、WIP ステータス)esa_append_post - 記事本文の末尾に追記(既存本文を取得せずに追記でき、新しいリビジョンとして保存)esa_prepend_post - 記事本文の先頭に追記(既存本文を取得せずに追記でき、新しいリビジョンとして保存)esa_archive_post - 記事をアーカイブ(Archived/ カテゴリーへ移動)esa_ship_post - 記事を Ship It!(WIP を外して公開)esa_duplicate_post - 記事を複製(同じタイトル・本文の WIP 記事を作成。別チームへの複製も可能)esa_rollback_post_revision - 記事を指定したリビジョンにロールバック(復元した内容は新しいリビジョンとして保存。リビジョン番号は esa_get_post の revision_number で確認可能)esa_get_comment - コメント ID からコメントを取得esa_create_comment - 記事にコメントを追加esa_update_comment - コメントを編集esa_delete_comment - コメントを削除esa_get_post_comments - 記事のコメント一覧(ページング対応)esa_get_team_comments - チーム全体のコメント一覧(ページング対応)esa_get_categories - 指定パス配下のカテゴリー一覧esa_get_top_categories - トップレベルのカテゴリー一覧esa_get_all_category_paths - チーム内の全カテゴリーパス一覧(記事数付き、フィルタリング対応)
prefix: "dev" で開発関連、match: "api" で API 関連を検索esa_get_attachment - 記事やコメントの添付ファイルを取得
esa_get_search_options_help - esa の検索構文ヘルプesa_get_markdown_syntax_help - esa の Markdown 記法ヘルプesa_search_help - esa のドキュメントから機能や用語を検索esa_recent_posts - 最近更新された記事の一覧
esa://teams/{teamName}/posts/recentesa_summarize_post - esa の記事を要約
MCP クライアントの設定ファイルに以下を追加します:
read write または admin:comment read:post write:post read:category read:tag read:attachment read:team read:memberclaude_desktop_config.json への追加方法:
注意:
/path/to/your/nodeはwhich nodeで調べたパスに置き換えてください。
このパッケージはルート直下に registry.json を同梱しており、登録されているツール / リソース / プロンプトの一覧を公開しています。サーバーを起動せずにプログラムから読み取れます:
スキーマ:
registry.json は npm run build:registry で生成され、登録内容と差分が出ると CI で fail します。
Made with ❤️ by the esa team
來源:README.md,提交 7ae54eb
Get user's accessible esa teams
Retrieves a list of esa teams that the user has access to.
pageroleperPageGet team statistics
Retrieves team statistics including member count, posts count (total/WIP/shipped), comments, stars, watches, and daily/weekly/monthly active users
teamNameGet team tags
Retrieves all tags used in posts within a team, along with the count of posts for each tag
pageperPageteamNameGet team members
Retrieves all members of a team with their roles and profile information
pagesortorderperPageteamNameGet a specific esa post
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.
teamNametruncatepostNumber必填Search Posts
Search for posts in esa.io
pagesortorderquery必填perPageteamNameCreate a new esa post
Creates a new post in an esa team with optional tags, category, and WIP status.
wipname必填tagsbodyMdmessagecategoryteamNameUpdate an existing esa post
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.
wipnametagsbodyMdmessagecategoryteamNamepostNumber必填originalRevisionAppend content to an existing esa post
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.
wipcontent必填messageteamNamepostNumber必填Prepend content to an existing esa post
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.
wipcontent必填messageteamNamepostNumber必填Get a specific comment
Retrieves a specific comment by comment ID, with optional stargazers included.
includeteamNamecommentId必填Create a new comment on a post
Creates a new comment on an existing post in an esa team.
userbodyMd必填teamNamepostNumber必填Update an existing comment
Updates an existing comment in an esa team by comment ID.
userbodyMd必填teamNamecommentId必填Delete a comment
Deletes a comment from an esa team by comment ID.
teamNamecommentId必填Get backlinks for a specific post
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).
pageperPageteamNamepostNumber必填Get comments for a specific post
Retrieves a list of comments for a specific post with pagination support.
pageperPageteamNamepostNumber必填Get team comments
Retrieves a list of comments in a team with pagination support.
pageperPageteamNameGet categories for a specific path
Retrieves category information and subcategories for a specific category path, with optional posts and parent categories included
pageselect必填includeperPageteamNamedescendantPostsGet top-level categories
Retrieves all top-level categories for a team
teamNameGet category paths with pagination
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.
pagematchprefixsuffixperPageteamNameexactMatchArchive a post
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'.
messageteamNamepostNumber必填Ship a post
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.
teamNamepostNumber必填Duplicate 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.
teamNamepostNumber必填targetTeamNameRoll back a post to a previous revision
Rolls back a post to the specified revision, saving the restored content as a new revision.
wipmessageteamNamepostNumber必填revisionNumber必填Get esa search options documentation
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).
無需輸入參數。
Get esa Markdown syntax documentation
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.
無需輸入參數。
Search esa documentation and help
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.
pagequery必填perPageGet attachment file from esa
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.
url必填teamNameforceSignedUrl已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
{ "mcpServers": { "esa": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "ESA_ACCESS_TOKEN", "-e", "LANG", "ghcr.io/esaio/esa-mcp-server" ], "env": { "ESA_ACCESS_TOKEN": "your_personal_access_token", "LANG": "ja" } } }}{ "mcpServers": { "esa": { "command": "/Users/your-username/.nodenv/shims/npx", "args": ["@esaio/esa-mcp-server"], "env": { "ESA_ACCESS_TOKEN": "your_personal_access_token", "LANG": "ja" } } }}import registry from "@esaio/esa-mcp-server/registry.json" with { type: "json",};{ "tools": [{ "name": "esa_get_teams" }, "..."], "resources": [ { "name": "esa_recent_posts", "uriTemplate": "esa://teams/{teamName}/posts/recent" } ], "prompts": [{ "name": "esa_summarize_post" }]}