Notion MCP vs Esa

A side-by-side look at the Notion MCP and Esa MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Notion MCP logoNotion MCPWorkplace & Productivity · Local subprocess (stdio)Notion MCP server — search, export, and import pages as markdown51GoodAuth: not declaredEsa logoEsaWorkplace & Productivity · Local subprocess (stdio)Official MCP server for esa.io - a documentation sharing service for teams67GreatAuth: not declared

Verdict: choose Notion MCP for workplace & productivity work as a local process; choose Esa for workplace & productivity as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Notion MCP logoChoose Notion MCP when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: NOTION_TOKEN, NOTION_USER_ID, NOTION_SPACE_ID.
  • You want tools like notion_search, notion_export_page, notion_import_page.
Explore Notion MCP

Esa logoChoose Esa when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: ESA_ACCESS_TOKEN, LANG.
  • You want tools like esa_get_teams, esa_get_team_stats, esa_get_team_tags.
Explore Esa

Feature & specification comparison

Rows where the two servers differ are marked.

SpecNotion MCP logoNotion MCPEsa logoEsa
CategoryWorkplace & ProductivityWorkplace & Productivity
Quality signal51/100 · Good67/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNOTION_TOKENNOTION_USER_IDNOTION_SPACE_IDESA_ACCESS_TOKENLANG
Verified ownerCommunity listingCommunity listing
GitHub stars262
Directory activity 0 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools1322

Tools & capabilities

Notion MCP tools 13

  • notion_searchFull-text search across all pages in your workspace
  • notion_export_pageExport any Notion page as markdown; image links resolve to viewable CDN URLs (pass `image_dir` to download images locally instead)
  • notion_import_pageWrite markdown to a Notion page — **replaces** all existing content
  • notion_import_page_from_fileWrite a local `.md` file to a page — **replaces** all content
  • notion_append_to_pageAppend markdown to the **end** of a page (non-destructive)
  • notion_append_to_page_from_fileAppend a local `.md` file to the end of a page (non-destructive)
  • notion_create_pageCreate a new sub-page, optionally prefilled with markdown
  • notion_create_page_from_fileCreate a new sub-page from a local `.md` file
  • notion_add_imageAppend an image to the end of a page — local file is uploaded to Notion, http(s) URL is referenced as-is
  • notion_list_commentsList open discussion threads on a page
  • notion_add_commentStart a new discussion — inline (anchored to text) or block-level
  • notion_reply_commentReply to an existing discussion thread
  • +1 more on the listing page

Esa tools 22

  • esa_get_teamsRetrieves a list of esa teams that the user has access to.
  • esa_get_team_statsRetrieves team statistics including member count, posts count (total/WIP/shipped), comments, stars, watches, and daily/weekly/monthly active users
  • esa_get_team_tagsRetrieves all tags used in posts within a team, along with the count of posts for each tag
  • esa_get_team_membersRetrieves all members of a team with their roles and profile information
  • esa_get_postRetrieves a specific post from an esa team by post number, with optional comments included.
  • esa_search_postsSearch for posts in esa.io
  • esa_create_postCreates a new post in an esa team with optional tags, category, and WIP status.
  • esa_update_postUpdates an existing post in an esa team by post number. You can update the title, content, tags, category, and WIP status. To ship a post (mark as complete), set wip to false - this is preferred over using esa_ship_post when updating other fields simultaneously.
  • esa_get_commentRetrieves a specific comment by comment ID, with optional stargazers included.
  • esa_create_commentCreates a new comment on an existing post in an esa team.
  • esa_update_commentUpdates an existing comment in an esa team by comment ID.
  • esa_delete_commentDeletes a comment from an esa team by comment ID.
  • +10 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Notion MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "notion-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@shck-dev/notion-mcp"
      ],
      "env": {
        "NOTION_TOKEN": "YOUR_NOTION_TOKEN_HERE",
        "NOTION_USER_ID": "YOUR_NOTION_USER_ID_HERE",
        "NOTION_SPACE_ID": "YOUR_NOTION_SPACE_ID_HERE"
      }
    }
  }
}

Esa

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "esa": {
      "command": "npx",
      "args": [
        "-y",
        "@esaio/esa-mcp-server"
      ],
      "env": {
        "ESA_ACCESS_TOKEN": "YOUR_ESA_ACCESS_TOKEN_HERE",
        "LANG": "YOUR_LANG_HERE"
      }
    }
  }
}

Frequently asked questions

Notion MCP is categorized under Workplace & Productivity and uses a local stdio subprocess. Esa belongs to Workplace & Productivity and uses a local stdio subprocess. Pick Notion MCP for workplace & productivity work and Esa for workplace & productivity.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Notion MCP has no declared pricing — check the project's own site. Esa has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add notion-mcp and esa as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Notion MCP has a quality signal of 51/100 (Good) with 0 views, 0 installs and 2 GitHub stars. Esa has 67/100 (Great) with 2 views, 0 installs and 62 GitHub stars.