Eagle MCP Server (Unofficial)

January 4, 2026 · View on GitHub

A Model Context Protocol (MCP) server for Eagle.

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

Connecting to the MCP Server using Streamable HTTP

MCP config:

{
  "mcpServers": {
    "eagle-mcp-server": {
      "url": "http://localhost:8000/mcp"
    }
  }
}
If you need stdio transport instead:
{
  "mcpServers": {
    "eagle-mcp-server": {
      "command": "uvx",
      "args": [
        "--from", "git+https://github.com/tuki0918/eagle-mcp-server@fastmcp-stdio",
        "eagle-mcp-server"
      ]
    }
  }
}

See #17 for more details.

Tools

SupportedEagle API endpointOperation IDEnabled (default)Category
-connectMCP
/api/application/infoget_application_info⚫︎Application
/api/folder/createcreate_folder⚫︎Folder
/api/folder/renamerename_folderFolder
/api/folder/updateupdate_folder⚫︎Folder
/api/folder/listget_folder_list⚫︎Folder
/api/folder/listRecentget_folder_list_recentFolder
/api/item/addFromURLadd_item_from_urlItem
/api/item/addFromURLsadd_items_from_urlsItem
/api/item/addFromPathadd_item_from_path⚫︎Item
/api/item/addFromPathsadd_items_from_pathsItem
/api/item/addBookmarkadd_bookmarkItem
/api/item/infoget_item_info⚫︎Item
-get_item_source⚫︎Item
/api/item/thumbnailget_item_thumbnailItem
/api/item/listget_item_list⚫︎Item
/api/item/moveToTrashmove_item_to_trash⚫︎Item
/api/item/refreshPaletterefresh_item_paletteItem
/api/item/refreshThumbnailrefresh_item_thumbnailItem
/api/item/updateupdate_item⚫︎Item
/api/library/infoget_library_info⚫︎Library
/api/library/historyget_library_historyLibrary
/api/library/switchswitch_libraryLibrary
/api/library/iconget_library_iconLibrary

MCP Server API docs:

Enabling Disabled Tools

Some tools are disabled by default (shown as empty cells in the "Enabled (default)" column above). To enable these disabled tools:

  1. Locate the tool definition in the source code
  2. Remove the tags=["Disabled"] line from the tool configuration
  3. Restart the MCP server

This will make the previously disabled tools available for use.

Use Cases

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) Other Host (MCP Client) + Same Host (MCP Server, Eagle App)

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.