mcp-esa-server-python
A Python-based MCP server that enables users to interact with the esa.io API for documentation management. It provides tools for retrieving user information and performing full CRUD operations on articles.
README
mcp-esa-server-python
esa.io API と連携するための Model Context Protocol Server (mcp server)です。Pythonで実装しています。
できること
現在は以下の機能を提供しています。
- ユーザー情報取得(user_get_info)
- 記事一覧取得(posts_get_list)
- 記事詳細取得(posts_get_detail)
- 記事作成 (posts_create)
- 記事更新 (posts_update)
- 記事削除 (posts_delete)
セットアップ手順
前提条件
-
esa.ioのAPIトークンを発行済であること
-
uv が使えること
-
インターネット接続
-
esa.ioのAPIトークンの発行方法
- あなたの esa.io チームのページにアクセスします (例:
https://<your-team-name>.esa.io/)。 - 左カラムのSETTINGSをクリックし、「ユーザー設定」>「外部アプリ連携」を選択します。
- 「Personal access tokens」セクションで、「Generate new token」をクリックします。
- トークン名 (例:
mcp-server) を入力し、必要な権限スコープを選択します。この MCP サーバーには少なくとも以下の権限が必要です:read(記事の読み取り)write(記事の作成・更新・削除)read_user(ユーザー情報の取得) (この項目は自動的に有効になるため、表示されない可能性があります)
- 「Save」をクリックします。
- 表示されたトークンを必ずコピーして安全な場所に保管してください。このトークンは一度しか表示されません。
- コピーしたトークンは、後述の
.envファイルのESA_TOKENの値として貼り付けます。
- あなたの esa.io チームのページにアクセスします (例:
-
esa.io では、サインアップから2ヶ月間の無料トライアル期間が提供されています。この期間を利用して、テスト用のチーム名とAPIトークンを取得することができます。
-
セキュリティのため、トークンは直接公開しないようご注意ください。
プロジェクトの初期化
uv sync
開発(ローカルでの使い方)
開発に参加する場合や、MCPInspectorを利用する場合は、以下の手順で環境を構築します。
-
環境変数の設定
.env.exampleを参考にして、.envをサーバーを実行したいディレクトリ(.env.exampleと同じ場所)を作成します。ESA_TEAM_NAME="YOUR_ESA_TEAM_NAME" # Replace with your esa.io team name (e.g., "myteam") ESA_TOKEN="YOUR_ESA_API_TOKEN" # Replace with your esa.io API access token -
実行方法 下記コマンドを実行後に、指示のあるURLからブラウザを開くことで、MCP Inspectorを使って、各コマンド(記事作成など)を実行することができます。
uv run mcp run main.py
MCPServerとしてCursorエディタで使う方法
- mcp.jsonの作成例
プロジェクトルートまたは ~/.cursor/mcp.json に以下のような設定ファイルを用意します。
{
"mcpServers": {
"mcp-esa-server": {
"command": "uv",
"args": [
"--directory",
"<プロジェクトの絶対パス>",
"run",
"main.py"
],
"env": {
"ESA_TEAM_NAME": "<your-team-name>",
"ESA_TOKEN": "<your-esa-token>"
}
}
}
}
<your-team-name>と<your-esa-token>は各自のesa.ioチーム名・APIトークンに置き換えてください。env: 環境変数を 直接 設定します。この方法を使用する場合、.cursor/mcp.jsonのコミットは絶対に避けてください。
- CursorエディタでMCPサーバーを起動
- CursorエディタのコマンドパレットやUIから「MCPサーバーを起動」または「AIツールを有効化」します。
- mcp.jsonの設定に従い、
uv run main.pyでサーバーが起動します。 .envファイルや環境変数も自動的に読み込まれます。
- AIチャットやツールパネルからAPIを呼び出し
- AIチャット上で
user_get_infoやposts_get_listなどのMCPツールを呼び出すことで、esa.io APIと連携した操作が可能です。 mcp-esa-serverを使って記事の作成をお願いしますなどとチャット上で書き込むことで利用できます。
ライセンス (License)
このプロジェクトは MIT License の下で公開されています。
使用している外部コード / Dependencies
このプロジェクトの一部では、以下のMIT Licenseで公開されているコードを参照しています。
- esa-mcp-server
- GitHubリポジトリ: [https://github.com/masseater/esa-mcp-server]
- ライセンス: MIT License
その他 (Misc)
生成元 (Generated by)
generated by Cursor (gemini-2.5-pro-exp-03-25)
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。