---
title: esa公式のローカルMCPサーバーを公開しました
category: ReleaseNotes/2025/09/17
tags:
created_at: '2025-09-08T15:31:53+09:00'
updated_at: '2025-09-17T18:58:05+09:00'
published: true
number: 561
---

# 今回のリリース内容

esa公式の STDIO transport版 MCP サーバー(以後、ローカルMCPサーバーと呼びます)公開しました :robot: 

今回のリリースにより、ご利用中の AI エージェント・AIアシスタントから簡単にesa上の情報を利用したり、esaに投稿したりできるようになりました。

<img width="2400" alt="release-note-2025-09-10.png (238.5 kB)" src="https://img.esa.io/uploads/production/attachments/105/2025/09/10/2/d31d4217-4f9a-4640-8ba2-88afcaed9ffa.png">

> [!IMPORTANT]
> __Repository__ はこちら :point_right:  **https://github.com/esaio/esa-mcp-server**
> - README に詳しいインストール方法が書いてあります。
> - `docker`や`npx`の事前インストールが前提となります。
> - より気軽にご利用いただけるリモートMCPサーバーも、現在開発中なので楽しみにお待ちください(\\( ⁰⊖⁰)/)

# esa公式 ローカルMCPサーバの主な機能

esa でご利用いただける、具体的な機能を紹介します。
今後も、随時追加を予定しております :robot: 

Claude 等の AIアシスタントを通して、チャットベースでこのようなイメージで利用が可能です :robot::speech_balloon: 

<img width="600" alt="mcp.png (181.7 kB)" src="https://img.esa.io/uploads/production/attachments/105/2025/09/17/2/542a86e5-3c29-45a9-8358-680b4b4a9e05.png">



## 利用可能な Tool

### チーム管理

- アクセス可能なチームの取得 (`esa_get_teams`)
- チーム統計情報(メンバー数、記事数、コメント数など)の表示 (`esa_get_team_stats`)
- タグ一覧の取得(使用回数付き) (`esa_get_team_tags`)
- チームメンバーの役割・プロフィール情報の取得 (`esa_get_team_members`)

### 記事管理

- 記事の検索(`esa_search_posts`)
- 記事の取得 (`esa_get_post`)
- 記事の作成 (`esa_create_post`)
- 記事の更新 (`esa_update_post`)
- 記事のアーカイブ (`esa_archive_post`)
- 記事のShip(WIPステータスをfalseに変更) (`esa_ship_post`)
- 記事の複製準備 (`esa_duplicate_post`)

### コメント管理

- コメントの取得 (`esa_get_comment`)
- コメントの作成 (`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検索構文のヘルプ表示 (`esa_get_search_options_help`)
- Markdownシンタックスのドキュメント表示 (`esa_get_markdown_syntax_help`)
- esaドキュメントの検索機能 (`esa_search_help`)

### Resource

- 最近更新された記事の取得機能 (`esa_recent_posts`)

### Prompt

- 記事内容の要約プロンプト (`esa_summarize_post`)

## インストール方法

ここでは、[Claude Desktop](https://claude.ai/download)を例とします。他の設定方法は、それぞれのアプリケーションのMCP設定方法をご確認ください :bulb: 

方法1: **Docker(推奨)**

- 事前に、[Docker](https://www.docker.com/ja-jp/products/docker-desktop/)のインストールが必要です

MCPサーバーの設定に以下を追加
```claude_desktop_config.json
{
  "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"
      }
    }
  }
}
```

方法2: **npx経由**

- 事前に [Node.js](https://nodejs.org/ja/) と [npm](https://docs.npmjs.com/cli/v11/commands/npm) のインストールが必要です

AI エージェントのMCPサーバーの設定に以下を追加
```claude_desktop_config.json
{
  "mcpServers": {
    "esa": {
      "command": "/Users/your-username/.nodenv/shims/npx",
      "args": ["-y", "@esaio/esa-mcp-server"],
      "env": {
        "ESA_ACCESS_TOKEN": "your_personal_access_token",
        "LANG": "ja"
      }
    }
  }
}
```

> [!WARNING]
> `node`のインストール方法によっては、`PATH`環境変数への追加が必要な場合があります。
> ```claude_desktop_config.json
> {
>   "mcpServers": {
>     "esa": {
>       "command": "npx",
>       "args": ["-y", "@esaio/esa-mcp-server"],
>       "env": {
>         "ESA_ACCESS_TOKEN": "your_personal_access_token",
>         "LANG": "ja",
>         "PATH": "/your-node-path/node/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
>       }
>     }
>   }
> }
> ```
> 参考: [MacのClaudeアプリでMCP(FilesystemMCPServer起動)のトラブルメモ](https://zenn.dev/taktamur/articles/2b5ae3f15a79dd)

## 認可方式

> https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#authorization-flow-steps
> Implementations using an STDIO transport SHOULD NOT follow this specification, and instead retrieve credentials from the environment.

公式の推奨に従い、ローカルMCPサーバーでは、環境変数`ESA_ACCESS_TOKEN`を利用することにしました。
(※現在開発中のリモートMCPサーバーでは OAuth2.1 のフローを採用しております。)

> [!WARNING]
> :esa-operator-green: アクセストークンはPATv2の利用をおすすめします。
 [APIのより安全なご利用のためにパーソナルアクセストークンの改善(PAT v2)や、チーム側での制御機能などをβリリースしました](https://docs.esa.io/posts/553)


> [!NOTE]
> #  :robot: コラム: MCPって何？（わかりやすく解説）
> 
> **[MCP(Model Context Protocol)](https://modelcontextprotocol.io/docs/getting-started/intro)** は、AIアシスタント（Claude等）が外部のツールやサービスと連携するためのプロトコルです。
> 
> 
> ## 身近な例で理解するMCP
> 
> 普段の仕事で、以下のような経験はありませんか？
> 
> :thought_balloon: 「AIアシスタントに質問したいけど、社内の情報は知らないから答えられない」
> :thought_balloon: 「AIに資料を作ってもらいたいけど、esaの既存記事を参照できない」
> :thought_balloon: 「データ分析をお願いしたいけど、手元のファイルを見せられない」
> 
> MCPは、こうした「AIと自分の作業環境の壁」を取り払う仕組みです。
> 
> ## :white_check_mark: MCPで可能になること
> 
> MCPを使うと、AIアシスタントが以下のような作業を直接行えるようになります：
> 
> 🔎 **esaの記事検索・作成・更新**  :speech_balloon: 「esaに先月の会議録を探して要約して」
> 📃 **ファイル操作** :speech_balloon: 「このCSVファイルを分析して、esaのmermaidでグラフを作って」
> :cloud:  **API連携** :speech_balloon: 「esaに進捗報告を投稿して」
> 📊 **データベース操作** :speech_balloon: 「esaの◯◯の記事にある売上データから月次レポートを生成して」
> 
> ## :esa-mado:  従来の方法 vs MCP
> 
> **従来の方法**
> 1. AIアシスタントに質問 -> 手動でesaを検索 -> 情報をコピペして再質問 -> まとまった情報をesaへ投稿
> 2. データを手動でアップロード -> 分析依頼 -> 結果をコピペしてesaへ投稿
> 
> **MCPを使った方法**
> 「esaの◯◯チームで、△△について調べて、分析して、新しい記事として投稿して」
> 
> 一連の作業を自然な会話で依頼できるようになります :bulb:
> 
> ## :esa2: 今回リリースするesa MCPでできること
> 
> - esa内の記事を検索・閲覧
> - 新しい記事の作成・既存記事の更新
> - カテゴリやタグの確認
> 
> などなど、AIアシスタントとの会話の中で自然に行えるようになります。



# (\\( ⁰⊖⁰)/) ﾋﾄｺﾄ

Claude と esa を連携してからドキュメントの参照や更新がとても便利になった実感があります :bulb: 

特に「esaの __◯◯チーム__ から検索して」とお願いすると希望したチームからの記事の取得がしやすいです。お試しください。

今後もesaらしくAIとの連携機能を強化するなど、より良くしていきますのでお楽しみに :esa: 

---
[ProTip] [Webhookでdocs.esa.ioの更新通知を受け取ることができます](/posts/73) 

Enjoy "(\\( ⁰⊖⁰)/)"
https://esa.io

