Skip to main content

NetApp AI Data Engine (AIDE) MCP Server

Description

netapp-aide-mcp is an MCP server (Python package) that exposes the NetApp AI Data Engine's RAG (Retrieval-Augmented Generation) search functionality via MCP. The server exposes a tool named netapp_data_engine_search, which provides the ability to search for documents using AIDE's RAG API. This RAG API implements a vector-based semantic similarity search engine that retrieves relevant documents based on the provided query.

[!NOTE] This MCP server uses the stdio transport, making it a "local MCP server".

Quick start

Prerequisites

  • Python >= 3.10
  • uv (manages all installations automatically)

Configuration

Before running the server, you need to create a .netapp file in your home directory with the necessary configuration.

  1. Create the .netapp file:

    • Open a terminal or file explorer.
    • Navigate to your home directory (e.g., ~ on Unix-like systems or C:\Users\YourUsername on Windows).
    • Create a new file named .netapp.
  2. Add the JSON configuration:

    • Open the .netapp file in a text editor.
    • Add the following JSON configuration, replacing the example values with your own:

    For PKCE flow: (Recommended if you have a browser available on your machine)

    {
      "rag_search_api_endpoint_url": "https://example.com/api",
      "verify_ssl": true,
      "auth_flow": "pkce",
      "token_request_endpoint_url": "https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize",
      "token_exchange_endpoint_url": "https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token",
      "token_request_params": {
        "client_id": "your_client_id",
        "redirect_uri": "http://localhost:8888",
        "scope": "api://your-app/.default",
        "use_pkce": true,
        "auth_timeout_seconds": 300
      }
    }
    

    For device code flow: (Use this if you do not have a browser on your machine. A short code will be printed in the logs — copy it, open the provided verification URL on any device, and enter the code to complete authentication.)

    {
      "rag_search_api_endpoint_url": "https://example.com/api",
      "verify_ssl": true,
      "auth_flow": "device_code",
      "device_code_endpoint_url": "https://login.microsoftonline.com/<tenant>/oauth2/v2.0/devicecode",
      "token_request_endpoint_url": "https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token",
      "token_request_params": {
        "client_id": "your_client_id",
        "scope": "api://your-app/.default"
      }
    }
    

    Only PKCE (web-based) and Device Code flows are supported.

  3. Set file permissions:

    • Ensure that the .netapp file is not readable by other users/groups for security reasons.

    • On Unix-like systems, you can set the permissions using the following command:

      chmod 600 ~/.netapp
      
    • On Windows, you can set the file permissions through the file properties dialog.

[!TIP] There is an Examples folder in the repository that contains a .netapp.example file. This file provides examples of how your .netapp file should look. You can use this as a reference when creating your own .netapp file.

Running with uvx

You can run the MCP server instantly, without installing anything globally.

[!NOTE] Authentication is initiated on the first tool call, not at server startup. When the first tool call is initiated: if you are using the PKCE flow, a browser window will open; if you are using the device code flow, the device code details will be printed to the MCP server's console logs.

Run pre-built package from PyPI

# Run the latest stable version
uvx --from netapp-aide-mcp server

# Run a specific version
uvx --from netapp-aide-mcp==1.0.0 server
  • server script launches the MCP server

Build and run from source

# Clone the repo
git clone https://github.com/NetApp/aide-mcp-server
cd aide-mcp-server

# Optional: check out a specific release
# git checkout tags/release-v1.0.0

# Retrieve the directory path for the cloned repo
export AIDE_MCP_REPO_PATH=$(pwd)

uvx --from $AIDE_MCP_REPO_PATH server
  • server script launches the MCP server

Example JSON config

To use this MCP server with an MCP client, you need to configure the client to use this server. For many clients (such as VS Code, Claude Desktop, and LMStudio), this requires editing a config file in JSON format (often named mcp.json). Below is an example. Refer to the documentation for your MCP client for specific formatting details.

[!NOTE] Most MCP clients will take care of starting the MCP server. You typically do not need to start the server yourself. As always, it's best to refer to the documentation for your MCP client for details on how it handles MCP servers.

{
	"servers": {
		"netapp-aide-mcp": {
			"type": "stdio",
			"command": "uvx",
			"args": [
				"--from",
				"netapp-aide-mcp",
				"server"
			]
		}
	}
}

Troubleshooting

  • Ensure your .netapp file is present and correctly formatted.
  • Check that Python 3.10+ and uv are installed.
  • Ensure that your MCP client is compatible with the stdio transport; most desktop clients (e.g. VS Code, Claude Desktop, LMStudio) are, but some hosted clients are not.
  • If you are using the device code auth flow, check the MCP server console logs for the device code details. The device code details will be printed to the logs when the first tool call is initiated.
  • If your client is not invoking an MCP tool, try adding "Be sure to use NetApp AIDE" to your prompt.

MCP Registry metadata

mcp-name: io.github.NetApp/aide-mcp-server

License

Distributed under the terms of the BSD 3-Clause License (see the LICENSE file in the repository).

Metadata

Release files for netapp-aide-mcp 1.0.0.post2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netapp-aide-mcp 1.0.0.post2
File Size Uploaded
netapp_aide_mcp-1.0.0.post2.tar.gz 10.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netapp-aide-mcp 1.0.0.post2
File Interpreter ABI Platform
netapp_aide_mcp-1.0.0.post2-py3-none-any.whl Python 3 none any Details

Total release size: 22.3 kB

Release files / netapp_aide_mcp-1.0.0.post2.tar.gz

Download URL netapp_aide_mcp-1.0.0.post2.tar.gz
Size 10.0 kB
Tags Source
SHA-256 checksum
How to use checksums
65cd10702ee97a49df9f746bd17c91c08e743d3ea2764b8dc162f98828129117
BLAKE2b-256 checksum
How to use checksums
a8c425509f1b43a85efc09596dbd6066c2f6dee4dc2361447dff2227ee01df6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6

Release files / netapp_aide_mcp-1.0.0.post2-py3-none-any.whl

Download URL netapp_aide_mcp-1.0.0.post2-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44db6b756f0c8103f3ca490162d600b66ee1afb6e3e19f69e3b93f98c46e22e3
BLAKE2b-256 checksum
How to use checksums
fa7548b90f61b39e4dcfde8c23c0c5f951452e92d40f8d8314c6495d31f51d87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page