esa MCP Server について
esa MCP Serverはesa APIを介してClaude AIにチーム文書管理機能を提供します。記事やコメントの操作、メンバー検索に対応しています。
主な機能
- 01チーム記事の検索と一覧表示
- 02記事詳細の取得
- 03記事の作成と更新
- 04コメントの一覧表示と取得
- 05コメント投稿とメンバー検索
活用シーン
- 01条件を指定してesaの記事を検索
- 02チーム文書の作成や修正
- 03既存記事へのコメント
- 04チームメンバーの確認
MCP 対応
esa APIの操作をMCPクライアント向けのツールとして公開し、記事、コメント、メンバーの照会や変更を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
esa MCP サーバー
日本語で読む
概要
このサーバーは、Model Context Protocol (MCP)を使用して、Claude AI がesa APIと連携できるようにするインターフェースです。
この MCP サーバーを使用すると、Claude AI は esa ドキュメントの検索、作成、更新などの操作を実行できます。
リポジトリについて
このリポジトリでは、esa MCP サーバーのスタンドアロン実装を提供しています。Claude AI と esa を連携させ、ドキュメント管理を効率化します。
セットアップ
前提条件
- Node.js 18 以上
- esa API アクセストークン
- esa チーム名
インストール
# Install globally
npm install -g @kajirita2002/esa-mcp-server
# Or use directly with npx
npx @kajirita2002/esa-mcp-server
環境変数の設定
# Set environment variables
export ESA_ACCESS_TOKEN="your_esa_access_token"
export ESA_TEAM="your_team_name"
MCP 設定例
この MCP サーバーを使用する場合は、次の設定を mcp_config.json ファイルに追加してください。
"esa": {
"command": "npx",
"args": ["-y", "@kajirita2002/esa-mcp-server"],
"env": {
"ESA_ACCESS_TOKEN": "your_esa_access_token",
"ESA_TEAM": "your_team_name"
}
}
サーバーの起動
# Start the server
npm start
利用可能なツール
この MCP サーバーでは、次のツールを利用できます。
投稿関連
-
esa_list_posts- チーム内の投稿一覧を取得します
- 入力:
q(string, optional):検索クエリinclude(string, optional):レスポンスに含める関連データ(例:'comments,stargazers')sort(string, optional):並べ替え方法(updated, created, number, stars, watches, comments, best_match)order(string, optional):並べ替え順(desc, asc)per_page(number, optional):1 ページあたりの結果数(最大:100)page(number, optional):取得するページ番号
-
esa_get_post- 特定の投稿の詳細情報を取得します
- 入力:
post_number(number, required):取得する投稿番号include(string, optional):レスポンスに含める関連データ(例:'comments,stargazers')
-
esa_create_post- 新しい投稿を作成します
- 入力:
name(string, required):投稿タイトルbody_md(string, optional):投稿本文(Markdown 形式)tags(array of string, optional):投稿のタグ一覧category(string, optional):投稿カテゴリwip(boolean, optional, default: true):WIP(作業中)としてマークするかどうかmessage(string, optional):変更メッセージuser(string, optional):投稿者の screen_name(チームオーナーのみ指定可能)template_post_id(number, optional):テンプレートとして使用する投稿の ID
-
esa_update_post- 既存の投稿を更新します
- 入力:
post_number(number, required):更新する投稿番号name(string, optional):新しいタイトルbody_md(string, optional):新しい本文(Markdown 形式)tags(array of string, optional):新しいタグ一覧category(string, optional):新しいカテゴリwip(boolean, optional):WIP(作業中)としてマークするかどうかmessage(string, optional):変更メッセージcreated_by(string, optional):投稿者の screen_name(チームオーナーのみ指定可能)original_revision(string, optional):更新の基準とするリビジョン
コメント関連
-
esa_list_comments- 投稿のコメント一覧を取得します
- 入力:
post_number(number、必須):コメントを取得する投稿番号page(number、任意):取得するページ番号per_page(number、任意):1ページあたりの結果数(最大:100)
-
esa_get_comment- 特定のコメントを取得します
- 入力:
comment_id(number、必須):取得するコメントの IDinclude(string、任意):レスポンスに含める関連データ(例:'stargazers')
-
esa_create_comment- 記事にコメントを投稿します
- 入力:
post_number(number、必須):コメントする投稿番号body_md(string、必須):コメント本文(Markdown 形式)user(string、任意):投稿者の screen_name(指定できるのはチームオーナーのみ)
メンバー関連
-
esa_get_members- チームメンバーの一覧を取得します
- 入力:
page(number、任意):取得するページ番号per_page(number、任意):1ページあたりの結果数(最大:100)
-
esa_get_member- 特定のチームメンバーの情報を取得します
- 入力:
screen_name_or_email(string、必須):取得するメンバーのスクリーンネームまたはメールアドレス
使用例
Claude がこの MCP サーバーを使用して esa の投稿を作成する例です。
[Claude] Please create a new post in esa. The title should be "Project X Progress Report" and the body should include "# This Week's Progress\n\n- Implementation of Feature A completed\n- Testing of Feature B started\n\n## Next Week's Plan\n\n- Start implementation of Feature C".
[MCP Server] Using the esa_create_post tool to create a new post.
[Result]
{
"number": 123,
"name": "Project X Progress Report",
"body_md": "# This Week's Progress\n\n- Implementation of Feature A completed\n- Testing of Feature B started\n\n## Next Week's Plan\n\n- Start implementation of Feature C",
"wip": false,
"created_at": "2023-06-01T12:34:56+09:00",
"updated_at": "2023-06-01T12:34:56+09:00",
"url": "https://your-team.esa.io/posts/123"
}
[Claude] The post has been created successfully. The post number is 123, and you can access it at the following URL:
https://your-team.esa.io/posts/123
トラブルシューティング
アクセストークンの問題
Error: Request failed with status code 401
このエラーが表示される場合、esa のアクセストークンが無効または期限切れの可能性があります。esa の設定画面から新しいアクセストークンを生成し、環境変数を更新してください。
権限の問題
Error: Request failed with status code 403
このエラーが表示される場合、現在のアクセストークンに必要な権限がありません。esa の設定画面でアクセストークンの権限を確認し、必要に応じて新しいトークンを発行してください。
ライセンス
MIT License のもとで提供されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。