esa MCP Server

by esaio

Not rated
GitHub

About

Official Model Context Protocol (MCP) server for esa.io - STDIO transport version.

Details

Author
esaio
Categories
Cloud Service, Other, File Management, Infrastructure

Setup

Install esa MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/esaio/esa-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

- List your esa teams and team stats— Useesa_get_teamsandesa_get_team_statsto see which teams you can access and their activity metrics.
- Search and retrieve esa posts— Find posts withesa_search_posts, then get full content and metadata withesa_get_post.
- Create, update, or append to posts— Draft new posts viaesa_create_post, modify existing ones withesa_update_post, or add content without fetching the current body usingesa_append_post/esa_prepend_post.
- Manage post workflow states— Archive posts withesa_archive_post, mark them as shipped viaesa_ship_post, or duplicate them across teams usingesa_duplicate_post.
- Work with comments— List, create, update, or delete comments on posts usingesa_get_post_comments,esa_create_comment,esa_update_comment, andesa_delete_comment.
- Browse categories and tags— Explore team category structures withesa_get_all_category_pathsandesa_get_categories, or review all tags viaesa_get_team_tags.

Official Model Context Protocol (MCP) server for esa.io - STDIO transport version.

This MCP server provides seamless integration between AI assistants andesa.io, a collaborative documentation platform. It enables AI assistants to read, create, update, and manage esa documents directly through the Model Context Protocol.

- esa_get_teams- Get user's accessible esa teams
- esa_get_team_stats- Get team statistics (members, posts, comments, stars, watches, active users)
- esa_get_team_tags- Get all tags used in team posts with count
- esa_get_team_members- Get team members with roles and profile information

- esa_search_posts- Search for posts in esa.io
- esa_get_post- Get a specific post by post number (includesbacklinks_countandbody_md_statswith the body's character and line counts)
- esa_get_post_backlinks- List posts that reference a specific post with pagination
- esa_create_post- Create a new post with tags, category, and WIP status
- esa_update_post- Update existing post (title, content, tags, category, WIP status)
- esa_append_post- Append content to the end of a post's body (no need to fetch the current body; saved as a new revision)
- esa_prepend_post- Prepend content to the beginning of a post's body (no need to fetch the current body; saved as a new revision)

- esa_archive_post- Archive a post by moving to Archived/ category
- esa_ship_post- Ship a post (mark as complete by setting wip to false)
- esa_duplicate_post- Duplicate a post (create a new WIP post with the same title and body; cross-team duplication is also supported)

- esa_get_comment- Get a specific comment by ID
- esa_create_comment- Create a new comment on a post
- esa_update_comment- Update an existing comment
- esa_delete_comment- Delete a comment
- esa_get_post_comments- Get comments for a specific post with pagination
- esa_get_team_comments- Get team comments with pagination

- esa_get_categories- Get categories and subcategories for a specific path
- esa_get_top_categories- Get all top-level categories for a team
- esa_get_all_category_paths- Get all category paths in a team (with post counts, supports filtering)

- Perfect for understanding category structure, organization planning, and cleanup
- Filter examples:prefix: "dev"for development-related,match: "api"for API-related categories

- esa_get_attachment- Retrieve an attachment file from esa posts and comments

- Returns base64-encoded data for supported images (JPEG, PNG, GIF, WebP) under 30MB
- Returns signed URLs (valid for 5 minutes) for other file types, larger images, or when forceSignedUrl is specified

- esa_get_search_options_help- Get esa search syntax documentation
- esa_get_markdown_syntax_help- Get esa Markdown syntax documentation
- esa_search_help- Search esa documentation for features and terminology

- esa_recent_posts- Fetch recent updated posts from esa team

- Template:esa://teams/{teamName}/posts/recent
- Returns: JSON list of recently updated posts

- esa_summarize_post- Summarize an esa post content

- Input: Team name and post number
- Output: Structured summary of the post content

Add to your MCP client configuration file:

- ESA_ACCESS_TOKEN: Access Token

- Required scopes:read writeoradmin:comment read:post write:post read:category read:tag read:attachment read:team read:member
-
PAT v2is recommended.

{ "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": "en" } } } }
{ "mcpServers": { "esa": { "command": "/Users/your-username/.nodenv/shims/npx", "args": ["@esaio/esa-mcp-server"], "env": { "ESA_ACCESS_TOKEN": "your_personal_access_token", "LANG": "en" } } } }

Note: Replace/path/to/your/nodewith the output ofwhich nodecommand.

This package shipsregistry.jsonat the package root, exposing registered tools, resources, and prompts. It can be consumed programmatically without spawning the server:

import registry from "@esaio/esa-mcp-server/registry.json" with { type: "json" };
{ "tools": [{ "name": "esa_get_teams" }, "..."], "resources": [ { "name": "esa_recent_posts", "uriTemplate": "esa://teams/{teamName}/posts/recent" } ], "prompts": [{ "name": "esa_summarize_post" }] }

The file is regenerated bynpm run build:registryand a CI check enforces that it stays in sync with the registered set.

- esa.io- The collaborative documentation platform
-
Model Context Protocol- Learn more about MCP
-
API Documentation- esa.io API reference
-
Claude Desktop- AI assistant with MCP support

- 📧 Support:Feedback Form
- 🐛 Issues:
GitHub Issues
- 📖 Help:
esa Docs

Official Metabase MCP server for searching data, building queries on the semantic layer, and visualizing results through MCP clients.

An open-source MCP server providing real-time observability for IBM Storage Insights assets.

Agent-operable cloud platform: database, AI, functions, containers, storage and auth over one remote MCP endpoint with 50 tools.

The agent-native cloud: database, functions, AI, storage, computers. 55 tools, one API key.

An MCP (Model Context Protocol) server that enables LLMs to interact with VAST Data storage APIs. This server exposes VAST Data management endpoints as tools for comprehensive storage infrastructure management and automation.

Interact with the Appwrite API to manage databases, users, storage, and more. Requires configuration via environment variables.

Connects Large Language Models to Firebase Firestore and Storage via the Model Context Protocol.

Proxmox VE MCP server for VMs, LXCs, snapshots, backups, storage, and cluster operations.

A self-hostable MCP server for Cloudflare Workers with OAuth login support, using Cloudflare KV for storage.

A remote MCP server deployable on Cloudflare Workers with OAuth login support, using Cloudflare KV for data storage.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.