Skip to main content
Glama

AYX-MCP-Wrapper

by jupiterbak

AYX-MCP-Wrapper

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

# 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

pip install mcp-server-alteryx

From Source

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 Alteryx Server credentials using environment variables:

# Required: Alteryx Server API URL export ALTERYX_SERVER_URL="https://your-alteryx-server.com/webapi/" # Required: OAuth2 Client Credentials export ALTERYX_CLIENT_ID="your-client-id" export ALTERYX_CLIENT_SECRET="your-client-secret" export ALTERYX_VERIFY_SSL="1" # Optional: Logging level export LOG_LEVEL="INFO"

Configuration File

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

ALTERYX_SERVER_URL=https://your-alteryx-server.com/webapi/ ALTERYX_CLIENT_ID=your-client-id ALTERYX_CLIENT_SECRET=your-client-secret LOG_LEVEL=INFO

Usage

Claude Desktop Integration

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

{ "mcpServers": { "alteryx": { "command": "uvx", "args": ["mcp-server-alteryx", "--transport", "stdio"], "env": { "ALTERYX_SERVER_URL": "https://your-alteryx-server.com/webapi/", "ALTERYX_CLIENT_ID": "your-client-id", "ALTERYX_CLIENT_SECRET": "your-client-secret", "ALTERYX_VERIFY_SSL": "1" } } } }

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" } } } }

Configuration Options:

  • command: The uvx executable to use
  • args: Command line arguments for the MCP server
  • env: Environment variables for Alteryx 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_SERVER_URL": "https://your-alteryx-server.com/webapi/", "ALTERYX_CLIENT_ID": "your-client-id", "ALTERYX_CLIENT_SECRET": "your-client-secret" } } } }

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

Available Tools

The MCP server provides comprehensive tools organized by functionality:

Collections Management

FunctionDescriptionParameters
get_all_collections()Retrieve all accessible collectionsNone
get_collection_by_id(collection_id)Get specific collection detailscollection_id: str
create_collection(name)Create a new collectionname: str
update_collection_name_or_owner(collection_id, name, owner_id)Update collection propertiescollection_id: str, name: str, owner_id: str
add_workflow_to_collection(collection_id, workflow_id)Add workflow to collectioncollection_id: str, workflow_id: str
remove_workflow_from_collection(collection_id, workflow_id)Remove workflow from collectioncollection_id: str, workflow_id: str
add_schedule_to_collection(collection_id, schedule_id)Add schedule to collectioncollection_id: str, schedule_id: str
remove_schedule_from_collection(collection_id, schedule_id)Remove schedule from collectioncollection_id: str, schedule_id: str
delete_collection(collection_id)Delete a collectioncollection_id: str

Workflow Operations

FunctionDescriptionParameters
get_all_workflows()Retrieve all accessible workflowsNone
get_workflow_by_id(workflow_id)Get specific workflow detailsworkflow_id: str
update_workflow_name_or_comment(workflow_id, name, comment)Update workflow propertiesworkflow_id: str, name: str, comment: str
transfer_workflow(workflow_id, new_owner_id)Transfer workflow ownershipworkflow_id: str, new_owner_id: str
get_workflow_jobs(workflow_id)Get jobs for a workflowworkflow_id: str
execute_workflow(workflow_id, input_data)Execute a workflow with input dataworkflow_id: str, input_data: List[InputData]
download_workflow_package_file(workflow_id, output_directory)Download workflow packageworkflow_id: str, output_directory: str
get_workflow_xml(workflow_id)Extract workflow XMLworkflow_id: str

User Management

FunctionDescriptionParameters
get_all_users()Retrieve all accessible usersNone
get_user_by_id(user_id)Get specific user detailsuser_id: str
get_user_by_email(email)Find user by emailemail: str
get_user_by_name(name)Find user by namename: str
get_user_by_first_name(first_name)Find user by first namefirst_name: str
get_all_user_assets(user_id)Get all assets owned by useruser_id: str
get_user_assets_by_type(user_id, asset_type)Get specific asset typesuser_id: str, asset_type: str
update_user_details(user_id, first_name, last_name, email)Update user informationuser_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 assetsuser_id: str, new_owner_id: str, transfer_workflows: bool, transfer_schedules: bool, transfer_collections: bool
deactivate_user(user_id)Deactivate a useruser_id: str
reset_user_password(user_id)Reset user passworduser_id: str

Schedule Management

FunctionDescriptionParameters
get_all_schedules()Retrieve all accessible schedulesNone
get_schedule_by_id(schedule_id)Get specific schedule detailsschedule_id: str
deactivate_schedule(schedule_id)Deactivate a scheduleschedule_id: str
activate_schedule(schedule_id)Activate a scheduleschedule_id: str
update_schedule_name_or_comment(schedule_id, name, comment)Update schedule propertiesschedule_id: str, name: str, comment: str
change_schedule_owner(schedule_id, new_owner_id)Change schedule ownershipschedule_id: str, new_owner_id: str

Job Monitoring

FunctionDescriptionParameters
get_all_job_messages(job_id)Get messages for a specific jobjob_id: str
get_job_by_id(job_id)Get job detailsjob_id: str

Credentials & Connections

FunctionDescriptionParameters
get_all_credentials()Retrieve all accessible credentialsNone
get_credential_by_id(credential_id)Get specific credential detailscredential_id: str
lookup_connection(connection_id)Lookup DCM connectionconnection_id: str
get_connection_by_id(connection_id)Get connection detailsconnection_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 .

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 file for details.

  • Model Context Protocol - The MCP specification
  • Alteryx Server API - Official Alteryx Server documentation
  • Claude Desktop - Claude Desktop application

Made with ❤️ for the Alteryx community

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

A Model Context Protocol server that provides a comprehensive interface to Alteryx Servers, enabling AI assistants to manage workflows, collections, users, schedules, credentials, and more.

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

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.
              Last updated -
              84
              40
              Python
              MIT License
              • Linux
              • Apple
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that enables AI assistants like Claude to access and search Atlassian Confluence content, allowing integration with your organization's knowledge base.
              Last updated -
              5
              288
              14
              TypeScript
              • Apple
            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that enables AI assistants to interact with Confluence content, supporting operations like retrieving, searching, creating, and updating pages and spaces.
              Last updated -
              9
              3
              TypeScript
              MIT License
            • -
              security
              F
              license
              -
              quality
              A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
              Last updated -
              16
              TypeScript

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/jupiterbak/AYX-MCP-Wrapper'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server