mcpField
E
esa MCP Server

esa MCP Server

ローカル
github.com/kajirita2002生産性883 週間前に更新

esa MCP Server について

esa MCP Serverはesa APIを介してClaude AIにチーム文書管理機能を提供します。記事やコメントの操作、メンバー検索に対応しています。

主な機能

  1. 01チーム記事の検索と一覧表示
  2. 02記事詳細の取得
  3. 03記事の作成と更新
  4. 04コメントの一覧表示と取得
  5. 05コメント投稿とメンバー検索

活用シーン

  1. 01条件を指定してesaの記事を検索
  2. 02チーム文書の作成や修正
  3. 03既存記事へのコメント
  4. 04チームメンバーの確認

MCP 対応

esa APIの操作をMCPクライアント向けのツールとして公開し、記事、コメント、メンバーの照会や変更を可能にします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"esa-mcp-server-kajirita2002": {
"command": "npx",
"args": [
"-y",
"@kajirita2002/esa-mcp-server"
]
}
}
}
起動コマンドnpx -y @kajirita2002/esa-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@kajirita2002/esa-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

esa MCP サーバー

スクリーンショット 2025-03-27 午後1 14 09

日本語で読む

概要

このサーバーは、Model Context Protocol (MCP)を使用して、Claude AI がesa APIと連携できるようにするインターフェースです。

この MCP サーバーを使用すると、Claude AI は esa ドキュメントの検索、作成、更新などの操作を実行できます。

esa Server MCP server

リポジトリについて

このリポジトリでは、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 サーバーでは、次のツールを利用できます。

投稿関連
  1. 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):取得するページ番号
  2. esa_get_post

    • 特定の投稿の詳細情報を取得します
    • 入力:
      • post_number (number, required):取得する投稿番号
      • include (string, optional):レスポンスに含める関連データ(例:'comments,stargazers')
  3. 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
  4. 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):更新の基準とするリビジョン
コメント関連
  1. esa_list_comments

    • 投稿のコメント一覧を取得します
    • 入力:
      • post_number(number、必須):コメントを取得する投稿番号
      • page(number、任意):取得するページ番号
      • per_page(number、任意):1ページあたりの結果数(最大:100)
  2. esa_get_comment

    • 特定のコメントを取得します
    • 入力:
      • comment_id(number、必須):取得するコメントの ID
      • include(string、任意):レスポンスに含める関連データ(例:'stargazers')
  3. esa_create_comment

    • 記事にコメントを投稿します
    • 入力:
      • post_number(number、必須):コメントする投稿番号
      • body_md(string、必須):コメント本文(Markdown 形式)
      • user(string、任意):投稿者の screen_name(指定できるのはチームオーナーのみ)
メンバー関連
  1. esa_get_members

    • チームメンバーの一覧を取得します
    • 入力:
      • page(number、任意):取得するページ番号
      • per_page(number、任意):1ページあたりの結果数(最大:100)
  2. 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 のもとで提供されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。