eagle-mcp-server

eagle-mcp-server

3.1

If you are the rightful owner of eagle-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Eagle MCP Server is an unofficial Model Context Protocol server designed for integration with the Eagle application, supporting various file formats and providing a range of API operations.

Eagle MCP Server (Unofficial)

A Model Context Protocol (MCP) server for Eagle. Wiki

Supported file formats:
  • JPG / JPEG
  • PNG
  • PDF
  • SVG
  • MP4
  • MP3
  • FBX
  • OBJ
  • EPS
  • TIF / TIFF
  • WebP
  • BMP
  • ICO
  • RAW
  • etc

Requirements

  • Python 3.13
  • uv

Prerequisites

Install the required dependencies:

uv sync

Usage

  1. Launch the Eagle app.
  2. Launch this MCP server by running the following command:
uv run main.py
# To use a different endpoint:
# EAGLE_API_BASE_URL=http://localhost:12345 uv run main.py

Connecting to the MCP Server using SSE

All the most popular MCP clients (Claude Desktop, Cursor & Windsurf) use the following config format:

{
  "mcpServers": {
    "eagle-mcp-server": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

VS Code

"mcp": {
    "servers": {
        "eagle-mcp-server": {
            "type": "sse",
            "url": "http://localhost:8000/mcp"
        }
    }
}

Tools

SupportedOperation IDAPI endpointEnabled (default)Category
connect/api/connectMCP
get_application_info/api/application/info⚫︎Application
create_folder/api/folder/create⚫︎Folder
rename_folder/api/folder/renameFolder
update_folder/api/folder/update⚫︎Folder
get_folder_list/api/folder/list⚫︎Folder
get_folder_list_recent/api/folder/listRecentFolder
add_item_from_url/api/item/addFromURLItem
add_items_from_urls/api/item/addFromURLsItem
add_item_from_path/api/item/addFromPath⚫︎Item
add_items_from_paths/api/item/addFromPathsItem
add_bookmark/api/item/addBookmarkItem
get_item_info/api/item/info⚫︎Item
get_item_source/api/item/source⚫︎Item
get_item_thumbnail/api/item/thumbnailItem
get_item_list/api/item/list⚫︎Item
move_item_to_trash/api/item/moveToTrash⚫︎Item
refresh_item_palette/api/item/refreshPaletteItem
refresh_item_thumbnail/api/item/refreshThumbnailItem
update_item/api/item/update⚫︎Item
get_library_info/api/library/info⚫︎Library
get_library_history/api/library/historyLibrary
switch_library/api/library/switchLibrary
get_library_icon/api/library/iconLibrary
[ ].........

MCP Server API docs:

Use Cases

1) Same Host (Recommended)

flowchart LR

    subgraph 192.168.1.100
        direction LR
        
        subgraph FileSystem [File System]
        end
        subgraph EagleApp [Eagle App<br/>localhost:41595]
        end
        subgraph MCPServer [MCP Server<br/>localhost:8000]
        end
        subgraph MCPClient [MCP Client]
        end
    end

    EagleApp ==> MCPServer e1@==> MCPClient
    MCPClient e2@==> MCPServer ==> EagleApp
    EagleApp ==> FileSystem
    FileSystem ==> EagleApp

    e1@{ animate: true }
    e2@{ animate: true }

[!TIP] You have direct access to the filesystem.

2) Same Host (Eagle App, MCP Server) + Other Host (MCP Client)

flowchart LR
  
    subgraph 192.168.1.100
        subgraph FileSystem [File System]
        end
        subgraph EagleApp [Eagle App<br/>localhost:41595]
        end
        subgraph MCPServer [MCP Server<br/>localhost:8000]
        end
    end

    subgraph 192.168.1.xxx
        subgraph MCPClient [MCP Client]
        end
    end

    EagleApp ==> MCPServer e1@==> MCPClient
    MCPClient e2@==> MCPServer ==> EagleApp
    EagleApp ==> FileSystem
    FileSystem ==> EagleApp

    e1@{ animate: true }
    e2@{ animate: true }

[!WARNING] You don't have access to the filesystem.

3) Other Host

flowchart LR

    subgraph 192.168.1.100
        subgraph FileSystem [File System]
        end
        subgraph EagleApp [Eagle App<br/>localhost:41595]
        end
    end

    subgraph 192.168.1.101
        subgraph MCPServer [MCP Server<br/>localhost:8000]
        end
    end

    subgraph 192.168.1.xxx
        subgraph MCPClient [MCP Client]
        end
    end

    EagleApp ==> MCPServer e1@==> MCPClient
    MCPClient e2@==> MCPServer ==> EagleApp
    EagleApp ==> FileSystem
    FileSystem ==> EagleApp

    e1@{ animate: true }
    e2@{ animate: true }

[!WARNING] You don't have access to the filesystem.