Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Ayx Mcp Wrapper

    A Model Context Protocol (MCP) server that provides a comprehensive interface to Alteryx Servers.

    9 stars
    Python
    Updated Sep 29, 2025

    Table of Contents

    • ⚠️ DISCLAIMER
    • Features
    • Prerequisites
    • Installation
    • Quick Start with uv (Recommended)
    • Using pip
    • From Source
    • Configuration
    • Environment Variables
    • Configuration File
    • Usage
    • Claude Desktop Integration
    • Cursor Integration
    • Command Line Interface
    • Available Tools
    • Collections Management
    • Workflow Operations
    • User Management
    • Schedule Management
    • Job Monitoring
    • Credentials & Connections
    • Development
    • Setup Development Environment
    • Contributing
    • License
    • Related Projects

    Table of Contents

    • ⚠️ DISCLAIMER
    • Features
    • Prerequisites
    • Installation
    • Quick Start with uv (Recommended)
    • Using pip
    • From Source
    • Configuration
    • Environment Variables
    • Configuration File
    • Usage
    • Claude Desktop Integration
    • Cursor Integration
    • Command Line Interface
    • Available Tools
    • Collections Management
    • Workflow Operations
    • User Management
    • Schedule Management
    • Job Monitoring
    • Credentials & Connections
    • Development
    • Setup Development Environment
    • Contributing
    • License
    • Related Projects

    Documentation

    AYX-MCP-Wrapper

    Python 3.10+

    License: MIT

    MCP Protocol

    ⚠️ DISCLAIMER

    This is NOT an official implementation.

    This project is a personal initiative and is not affiliated with, endorsed by, or supported by any company. Even if the maintainer is an employee of a related company, this project is developed independently without any official backing or support.

    ---

    A Model Context Protocol (MCP) server that provides a comprehensive interface to Alteryx Servers. This wrapper enables AI assistants and other MCP clients to interact with Alteryx Server for managing workflows, collections, users, schedules, credentials, and more.

    Features

    • Advanced Search: Find users, workflows, and assets with flexible search options
    • Workflow Operations: Execute, transfer, and manage workflows with full control
    • Workflow Assets: Download workflow packages and extract XML for analysis
    • Job Monitoring: Track and manage workflow execution jobs in real-time
    • Collections Management: Create, update, delete, and organize collections
    • User Management: Manage users, their assets, and permissions efficiently
    • Schedule Management: Create and manage workflow schedules and automation
    • Credential Management: Handle server credentials and secure connections

    Prerequisites

    • Python 3.10+ - Modern Python with type hints support
    • Alteryx Server - With API access enabled
    • OAuth2 Credentials - Client ID and Secret for authentication

    Installation

    Quick Start with uv (Recommended)

    bash
    # Install uv if you haven't already
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Install the MCP server
    uv pip install mcp-server-alteryx

    Using pip

    bash
    pip install mcp-server-alteryx

    From Source

    bash
    git clone https://github.com/jupiterbak/AYX-MCP-Wrapper.git
    cd AYX-MCP-Wrapper
    uv sync
    uv run pip install -e .

    Configuration

    Environment Variables

    Set up your Server credentials using environment variables:

    bash
    # Required: Server API URL
    export ALTERYX_API_HOST="https://your-server.com/webapi/"
    
    # Required: OAuth2 Client Credentials
    export ALTERYX_CLIENT_ID="your-client-id"
    export ALTERYX_CLIENT_SECRET="your-client-secret"
    
    # Optional: SSL Verification (default: true)
    export ALTERYX_VERIFY_SSL="1"
    
    # Optional: temporary folder
    export ALTERYX_TEMP_DIRECTORY="your-temp-directory"
    
    # Optional: Logging level
    export LOG_LEVEL="INFO"

    Configuration File

    Alternatively, create a .env file in your project root:

    env
    ALTERYX_API_HOST=https://your-server.com/webapi/
    ALTERYX_CLIENT_ID=your-client-id
    ALTERYX_CLIENT_SECRET=your-client-secret
    ALTERYX_VERIFY_SSL=1
    ALTERYX_TEMP_DIRECTORY=your-temp-directory
    LOG_LEVEL=INFO

    Usage

    Claude Desktop Integration

    To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop settings:

    json
    {
      "mcpServers": {
        "alteryx": {
          "command": "uvx",
          "args": ["mcp-server-alteryx", "--transport", "stdio"],
          "env": {
            "ALTERYX_API_HOST": "https://your-server.com/webapi/",
            "ALTERYX_CLIENT_ID": "your-client-id",
            "ALTERYX_CLIENT_SECRET": "your-client-secret",
            "ALTERYX_VERIFY_SSL": "1",
            "ALTERYX_TEMP_DIRECTORY": "your-temp-directory"
          }
        }
      }
    }
    code
    However, we recommend to use it in combination with the "Sequential Thinking" tool:

    { "mcpServers": {

    "sequential-thinking": {

    "command": "npx",

    "args": [

    "-y",

    "@modelcontextprotocol/server-sequential-thinking"

    ]

    },

    "alteryx": {

    "command": "uvx",

    "args": ["mcp-server-alteryx", "--transport", "stdio"],

    "env": {

    "ALTERYX_API_HOST": "http://localhost/webapi/",

    "ALTERYX_CLIENT_ID": "your-client-id",

    "ALTERYX_CLIENT_SECRET": "your-client-secret",

    "ALTERYX_VERIFY_SSL": "1",

    "ALTERYX_TEMP_DIRECTORY": "your-temp-directory"

    }

    }

    }

    }

    code
    **Configuration Options:**
    - `command`: The uvx executable to use
    - `args`: Command line arguments for the MCP server
    - `env`: Environment variables for Server authentication
    
    **Transport Options:**
    - `stdio`: Standard input/output (recommended for Claude Desktop)
    - `sse`: Server-Sent Events
    - `streamable-http`: HTTP streaming
    
    ### Cursor Integration
    
    For Cursor IDE integration, add to your Cursor settings:

    {

    "mcpServers": {

    "alteryx": {

    "command": "uvx",

    "args": ["mcp-server-alteryx", "--transport", "stdio"],

    "env": {

    "ALTERYX_API_HOST": "https://your-alteryx-server.com/webapi/",

    "ALTERYX_CLIENT_ID": "your-client-id",

    "ALTERYX_CLIENT_SECRET": "your-client-secret",

    "ALTERYX_TEMP_DIRECTORY": "your-temp-directory"

    }

    }

    }

    }

    code
    ### Command Line Interface
    
    The MCP server can be run with different transport options:

    Using stdio transport (default)

    uvx run src.main --transport stdio

    Using Server-Sent Events (SSE)

    uvx run src.main --transport sse

    Using HTTP streaming

    uvx run src.main --transport streamable-http

    Set log level

    uvx run src.main --log-level DEBUG

    Run with custom configuration

    uvx run src.main --transport stdio --log-level INFO

    code
    ## Available Tools
    
    The MCP server provides comprehensive tools organized by functionality:
    
    ### Collections Management
    
    | Function | Description | Parameters |
    |----------|-------------|------------|
    | `get_all_collections()` | Retrieve all accessible collections | None |
    | `get_collection_by_id(collection_id)` | Get specific collection details | `collection_id: str` |
    | `create_collection(name)` | Create a new collection | `name: str` |
    | `update_collection_name_or_owner(collection_id, name, owner_id)` | Update collection properties | `collection_id: str, name: str, owner_id: str` |
    | `add_workflow_to_collection(collection_id, workflow_id)` | Add workflow to collection | `collection_id: str, workflow_id: str` |
    | `remove_workflow_from_collection(collection_id, workflow_id)` | Remove workflow from collection | `collection_id: str, workflow_id: str` |
    | `add_schedule_to_collection(collection_id, schedule_id)` | Add schedule to collection | `collection_id: str, schedule_id: str` |
    | `remove_schedule_from_collection(collection_id, schedule_id)` | Remove schedule from collection | `collection_id: str, schedule_id: str` |
    | `delete_collection(collection_id)` | Delete a collection | `collection_id: str` |
    
    ### Workflow Operations
    
    | Function | Description | Parameters |
    |----------|-------------|------------|
    | `get_all_workflows()` | Retrieve all accessible workflows | None |
    | `get_workflow_by_id(workflow_id)` | Get specific workflow details | `workflow_id: str` |
    | `update_workflow_name_or_comment(workflow_id, name, comment)` | Update workflow properties | `workflow_id: str, name: str, comment: str` |
    | `transfer_workflow(workflow_id, new_owner_id)` | Transfer workflow ownership | `workflow_id: str, new_owner_id: str` |
    | `get_workflow_jobs(workflow_id)` | Get jobs for a workflow | `workflow_id: str` |
    | `start_workflow_execution(workflow_id, input_data)` | Start workflow execution and return job ID | `workflow_id: str, input_data: List[InputData]` |
    | `execute_workflow_with_monitoring(workflow_id, input_data)` | Execute workflow and monitor completion | `workflow_id: str, input_data: List[InputData]` |
    | `download_workflow_package_file(workflow_id, output_directory)` | Download workflow package | `workflow_id: str, output_directory: str` |
    | `get_workflow_xml(workflow_id)` | Extract workflow XML | `workflow_id: str` |
    
    ### User Management
    
    | Function | Description | Parameters |
    |----------|-------------|------------|
    | `get_all_users()` | Retrieve all accessible users | None |
    | `get_user_by_id(user_id)` | Get specific user details | `user_id: str` |
    | `get_user_by_email(email)` | Find user by email | `email: str` |
    | `get_user_by_name(name)` | Find user by name | `name: str` |
    | `get_user_by_first_name(first_name)` | Find user by first name | `first_name: str` |
    | `get_all_user_assets(user_id)` | Get all assets owned by user | `user_id: str` |
    | `get_user_assets_by_type(user_id, asset_type)` | Get specific asset types | `user_id: str, asset_type: str` |
    | `update_user_details(user_id, first_name, last_name, email)` | Update user information | `user_id: str, first_name: str, last_name: str, email: str` |
    | `transfer_all_assets(user_id, new_owner_id, transfer_workflows, transfer_schedules, transfer_collections)` | Transfer user assets | `user_id: str, new_owner_id: str, transfer_workflows: bool, transfer_schedules: bool, transfer_collections: bool` |
    | `deactivate_user(user_id)` | Deactivate a user | `user_id: str` |
    | `reset_user_password(user_id)` | Reset user password | `user_id: str` |
    
    ### Schedule Management
    
    | Function | Description | Parameters |
    |----------|-------------|------------|
    | `get_all_schedules()` | Retrieve all accessible schedules | None |
    | `get_schedule_by_id(schedule_id)` | Get specific schedule details | `schedule_id: str` |
    | `deactivate_schedule(schedule_id)` | Deactivate a schedule | `schedule_id: str` |
    | `activate_schedule(schedule_id)` | Activate a schedule | `schedule_id: str` |
    | `update_schedule_name_or_comment(schedule_id, name, comment)` | Update schedule properties | `schedule_id: str, name: str, comment: str` |
    | `change_schedule_owner(schedule_id, new_owner_id)` | Change schedule ownership | `schedule_id: str, new_owner_id: str` |
    
    ### Job Monitoring
    
    | Function | Description | Parameters |
    |----------|-------------|------------|
    | `get_all_job_messages(job_id)` | Get messages for a specific job | `job_id: str` |
    | `get_job_by_id(job_id)` | Get job details | `job_id: str` |
    | `get_job_output_data(job_id)` | Get output data files from completed job | `job_id: str` |
    
    ### Credentials & Connections
    
    | Function | Description | Parameters |
    |----------|-------------|------------|
    | `get_all_credentials()` | Retrieve all accessible credentials | None |
    | `get_credential_by_id(credential_id)` | Get specific credential details | `credential_id: str` |
    | `lookup_connection(connection_id)` | Lookup DCM connection | `connection_id: str` |
    | `get_connection_by_id(connection_id)` | Get connection details | `connection_id: str` |
    
    ## Development
    
    ### Setup Development Environment

    Clone the repository

    git clone https://github.com/jupiterbak/AYX-MCP-Wrapper.git

    cd AYX-MCP-Wrapper

    Install dependencies

    uv sync

    Install in development mode

    uv run pip install -e .

    code
    ## Contributing
    
    We welcome contributions! Please follow these steps:
    
    1. **Fork** the repository
    2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
    3. **Commit** your changes (`git commit -m 'Add amazing feature'`)
    4. **Push** to the branch (`git push origin feature/amazing-feature`)
    5. **Open** a Pull Request
    
    ## License
    
    This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
    
    ## Related Projects
    
    -  - The MCP specification
    -  - Claude Desktop application
    
    ---
    
    **Made with ❤️ for the community**

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • GG

      Gget Mcp

      Python·
      17

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • GG

      Gget Mcp

      Python·
      17

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k