esa MCP Server
The esa MCP Server enables Claude AI to interact with esa API for document and team management through the Model Context Protocol (MCP).
Capabilities include:
Post Management: List, retrieve, create, update, and delete posts with support for search queries, pagination, sorting, and Markdown content
Comment Management: List, retrieve, and create comments on posts with Markdown support
Member Management: Access team member information with pagination support
Customization: Configure posts with tags, categories, WIP status, and change messages
This integration streamlines document collaboration and enables automation of esa-related tasks.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@esa MCP Server search for documentation about API integration"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
esa MCP Server
Read this in Japanese
Overview
This server is an interface that uses the Model Context Protocol (MCP) to enable Claude AI to interact with the esa API.
With this MCP server, Claude AI can perform operations such as searching, creating, and updating esa documents.
Related MCP server: MCP Deep Web Research Server
About the Repository
This repository provides a standalone implementation of the esa MCP server. It integrates Claude AI with esa to streamline document management.
Setup
Prerequisites
Node.js 18 or higher
esa API access token
esa team name
Installation
# Install globally
npm install -g @kajirita2002/esa-mcp-server
# Or use directly with npx
npx @kajirita2002/esa-mcp-serverSetting Environment Variables
# Set environment variables
export ESA_ACCESS_TOKEN="your_esa_access_token"
export ESA_TEAM="your_team_name"MCP Configuration Example
If you're using this MCP server, add the following configuration to your mcp_config.json file:
"esa": {
"command": "npx",
"args": ["-y", "@kajirita2002/esa-mcp-server"],
"env": {
"ESA_ACCESS_TOKEN": "your_esa_access_token",
"ESA_TEAM": "your_team_name"
}
}Starting the Server
# Start the server
npm startAvailable Tools
This MCP server provides the following tools:
Post Related
esa_list_postsGet a list of posts in the team
Input:
q(string, optional): Search queryinclude(string, optional): Related data to include in the response (e.g. 'comments,stargazers')sort(string, optional): Sort method (updated, created, number, stars, watches, comments, best_match)order(string, optional): Sort order (desc, asc)per_page(number, optional): Number of results per page (max: 100)page(number, optional): Page number to retrieve
esa_get_postGet detailed information about a specific post
Input:
post_number(number, required): Post number to retrieveinclude(string, optional): Related data to include in the response (e.g. 'comments,stargazers')
esa_create_postCreate a new post
Input:
name(string, required): Post titlebody_md(string, optional): Post body (Markdown format)tags(array of string, optional): List of tags for the postcategory(string, optional): Post categorywip(boolean, optional, default: true): Whether to mark as WIP (Work In Progress)message(string, optional): Change messageuser(string, optional): Poster's screen_name (only team owners can specify)template_post_id(number, optional): ID of the post to use as a template
esa_update_postUpdate an existing post
Input:
post_number(number, required): Post number to updatename(string, optional): New title for the postbody_md(string, optional): New body for the post (Markdown format)tags(array of string, optional): New list of tags for the postcategory(string, optional): New category for the postwip(boolean, optional): Whether to mark as WIP (Work In Progress)message(string, optional): Change messagecreated_by(string, optional): Poster's screen_name (only team owners can specify)original_revision(string, optional): Revision to base the update on
Comment Related
esa_list_commentsGet a list of comments for a post
Input:
post_number(number, required): Post number to get comments forpage(number, optional): Page number to retrieveper_page(number, optional): Number of results per page (max: 100)
esa_get_commentGet a specific comment
Input:
comment_id(number, required): ID of the comment to retrieveinclude(string, optional): Related data to include in the response (e.g. 'stargazers')
esa_create_commentPost a comment to an article
Input:
post_number(number, required): Post number to comment onbody_md(string, required): Comment body (Markdown format)user(string, optional): Poster's screen_name (only team owners can specify)
Member Related
esa_get_membersGet a list of team members
Input:
page(number, optional): Page number to retrieveper_page(number, optional): Number of results per page (max: 100)
esa_get_memberGet information about a specific team member
Input:
screen_name_or_email(string, required): Screen name or email of the member to retrieve
Usage Example
Here's an example of Claude using this MCP server to create an esa post:
[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/123Troubleshooting
Access Token Issues
Error: Request failed with status code 401If you see this error, your esa access token may be invalid or expired. Generate a new access token from the esa settings screen and update your environment variable.
Permission Issues
Error: Request failed with status code 403If you see this error, the current access token doesn't have the necessary permissions. Check the permissions for your access token in the esa settings screen and issue a new token if needed.
License
Provided under the MIT License.
Available Tools
9 toolsesa_create_commentC
Post a comment to an article
Inputs: post_number (required), body_md (required), user.
esa_create_postC
Create a new post
Inputs: name (required), body_md, tags, category, +4 more.
esa_get_commentC
Get a specific comment
Inputs: comment_id (required), include.
esa_get_memberC
Get information about a specific team member
Inputs: screen_name_or_email (required).
esa_get_membersC
Get a list of team members
Inputs: page, per_page.
esa_get_postC
Get detailed information about a specific post
Inputs: post_number (required), include.
esa_list_commentsC
Get a list of comments for a post
Inputs: post_number (required), page, per_page.
esa_list_postsC
Get a list of posts in the team (with pagination support)
Inputs: q, include, sort, order, +2 more.
esa_update_postC
Update an existing post
Inputs: post_number (required), name, body_md, tags, +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Every tool has a clearly distinct purpose targeting specific resources and actions, with no ambiguity. For example, esa_get_post retrieves a single post, esa_list_posts lists multiple posts, and esa_update_post modifies a post, all clearly differentiated.
All tools follow a consistent verb_noun pattern with the 'esa_' prefix, using clear action verbs like create, get, list, and update paired with specific nouns like post, comment, and member. There are no deviations in naming style.
With 9 tools, this server is well-scoped for managing posts, comments, and members in a team context. Each tool serves a distinct and necessary function, with no redundancy or missing core operations, making the count appropriate for the domain.
The tool surface provides strong coverage for posts and comments with full CRUD operations (create, get, list, update) and includes member management. A minor gap exists with no delete operations for posts or comments, but agents can work around this limitation for most workflows.
Maintenance
Related MCP Connectors
Pageform is an AI-native data room platform with a remote MCP server for Claude and other MCP-compatible clients. Upload and organize documents, generate structured data rooms with AI, audit missing materials, create secure share links, and analyze investor engagement directly from your AI assistant. Built for fundraising, investor relations, diligence, and deal workflows. Connect securely through Pageform OAuth. Website: https://pageform.io Documentation: https://pageform.io/docs/integrations/claude
Your docs site. No editor to open. Just ask Claude.
Search and read the Claude Platform documentation and API reference.
Search the official docs of Claude Code, Cursor, OpenAI Codex and MCP, refreshed daily.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server utilizing Claude AI for generating intelligent queries and offering documentation assistance based on API documentation analysis.15 npm3MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables Claude to perform advanced web research with intelligent search queuing, enhanced content extraction, and deep research capabilities.324 npm1MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables AI assistants like Claude to interact with Outline document services, supporting document searching, reading, creation, editing, and comment management.38716 PyPI159MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows Claude Desktop to perform document operations on Microsoft Word, Excel, and PDF files including creation, editing, and format conversion.52MIT