Skip to main content
Glama

AYX-MCP-Wrapper

by jupiterbak
MIT License
2

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

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
    382
    10
    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