Skip to main content

Add your description here

Project description

Egnyte MCP Server

An MCP (Model Context Protocol) server that connects to your Egnyte domain and exposes document search and retrieval functionality for use in AI agents like Cursor, Claude, or OpenAI.

This server uses Egnyte’s public APIs and Python SDK to support secure, real-time access to your Egnyte content, enabling smart AI-driven workflows while respecting existing permissions.


📚 About

Model Context Protocol (MCP) is a framework to help AI agents securely query external systems for real-time context.
The Egnyte MCP Server allows agents to:

  • Search for documents by name
  • Retrieve relevant documents from Egnyte
  • Seamlessly integrate enterprise content into generative AI workflows

🛠️ Tools Implemented

Tool Name Description
search_for_document_by_name Searches for a document in your Egnyte domain using its filename.

📋 Requirements

Installing Prerequisites

🔧 Installation

1. Clone the Repository

git clone https://github.com/egnyte/egnyte-mcp-server.git
cd egnyte-mcp-server

2. Install uv (Python environment & dependency manager)

Mac/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (PowerShell):

irm https://astral.sh/uv/install.ps1 | iex

3. Install Egnyte SDK

uv pip install egnyte

📄 Egnyte SDK Documentation
🔗 Egnyte SDK GitHub

4. Setting up Environment Variables

  1. Create a .env File

Create a .env file inside the root directory with the following content:

DOMAIN=your-egnyte-domain.egnyte.com 
ACCESS_TOKEN=your-access-token-here
  1. Update with Your Credentials
  • Replace your-egnyte-domain.egnyte.com with your actual Egnyte domain.

  • Replace your-access-token-here with your actual Egnyte API access token.

    This .env file is necessary for the server to authenticate and connect securely to your Egnyte domain.

🚀 Running the MCP Server

uv run server.py --python 3.11

This will start the MCP server locally and make the tools available to MCP-compliant clients.

⚡ Setting up MCP Clients

This is a sample MCP (Model Context Protocol) client that connects to a locally running MCP server using fastmcp.
It uses Python Stdio Transport to communicate with the server and call specific tools by name.

How it works

  • Connects to the MCP server (server.py) via Python Stdio.
  • Lists available tools exposed by the server.
  • Calls a specific tool by its name, with provided arguments.
  • The response is returned based on the tool execution.

Prerequisites

  • Python 3.11+
  • fastmcp library installed:
    uv pip install fastmcp
    
  • MCP server (server.py) running locally
  • .env file configured

Usage

  1. Ensure the MCP server is running first.
  2. Run the client using the command:
    python client.py
    

Cursor IDE Setup

  1. Open Cursor → Settings → MCP
  2. Click "Add new global MCP server"
  3. Add the following configuration:
{
  "mcpServers": {
    "Egnyte Document Retriever": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/egnyte-mcp-server",
        "run",
        "server.py"
      ]
    }
  }
}

✅ Replace /path/to/egnyte-mcp-server with your actual directory path.

  1. Save and enable the server in the MCP settings.

🖼️ Example Screenshots

Cursor MCP Server Configuration

Cursor MCP Config

Cursor MCP Query in Action

Cursor MCP Run


Claude Desktop Setup

To connect Egnyte’s MCP server to Claude Desktop:

  1. Launch Claude Desktop and open MCP tool configuration
  2. Go to Settings → MCP Tools → Add New Server
  3. Add the following configuration:
{
  "mcpServers": {
    "egnyte": {
      "command": "python3",
      "args": ["server.py"],
      "cwd": "/Users/yourname/path/to/egnyte-mcp-server",
      "env": {
        "DOMAIN": "your-egnyte-domain.egnyte.com",
        "ACCESS_TOKEN": "your-access-token"
      }
    }
  }
}

✅ Replace /Users/yourname/path/to/egnyte-mcp-server with your actual directory path.

  1. Save and Start - Claude should detect the server, list search_for_document_by_name under “Available MCP tools,” and be able to call it with filenames.

🖼️ Example Screenshots

Claude MCP Server Configuration

Claude MCP Config

Claude MCP Query in Action

Claude MCP Run

📈 Roadmap

  • ✅ File search by name
  • ✅ Retrieve relevant documents
  • 🔜 Hybrid search (structured + content)
  • 🔜 Document text extraction

#Helping with development

Please report any problems you find to api-support@egnyte.com or pint@egnyte.com

If you'd like to fix something yourself, please fork this repository, commit the fixes and updates to tests, then set up a pull request with information what you're fixing.

🔗 Helpful Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_egnyte_server-0.1.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_egnyte_server-0.1.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_egnyte_server-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_egnyte_server-0.1.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_egnyte_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cc20b029a8a8f2d50cabe43b5bfe65f0fe96b12c6435c64e0861ee0dfb5a706c
MD5 f8740302520ddef3131487c035b9d5d6
BLAKE2b-256 f7ba51eb78557a5a736c5115aa35759f25d558b8da51ee60790f007ae5281641

See more details on using hashes here.

File details

Details for the file iflow_mcp_egnyte_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_egnyte_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_egnyte_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ad4de8e94dd5661f13501cb69703014a1c33849c513ea634cffe399496ad60c
MD5 55ff1884da83ef145fee21f041a5039c
BLAKE2b-256 492a4226c2650ed4b56276b896a7f99b8f0a9c20e0ed429901bf8152444f7ef8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page