Provides a comprehensive interface to Alteryx Servers for managing workflows, collections, users, schedules, and credentials. Enables advanced search, workflow execution, asset management, job monitoring, and secure connection handling.
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
Quick Start with uv (Recommended)
Using pip
From Source
Configuration
Environment Variables
Set up your Alteryx Server credentials using environment variables:
Configuration File
Alternatively, create a .env
file in your project root:
Usage
Claude Desktop Integration
To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop settings:
However, we recommend to use it in combination with the "Sequential Thinking" tool:
Configuration Options:
command
: The uvx executable to useargs
: Command line arguments for the MCP serverenv
: Environment variables for Alteryx Server authentication
Transport Options:
stdio
: Standard input/output (recommended for Claude Desktop)sse
: Server-Sent Eventsstreamable-http
: HTTP streaming
Cursor Integration
For Cursor IDE integration, add to your Cursor settings:
Command Line Interface
The MCP server can be run with different transport options:
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 |
execute_workflow(workflow_id, input_data) | Execute a workflow with input data | 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 |
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
Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects
- Model Context Protocol - The MCP specification
- Alteryx Server API - Official Alteryx Server documentation
- Claude Desktop - Claude Desktop application
Made with ❤️ for the Alteryx community
This server cannot be installed
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.
Related MCP Servers
- AsecurityAlicenseAqualityA 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 -8440PythonMIT License
- AsecurityFlicenseAqualityA 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 -538210TypeScript
- AsecurityAlicenseAqualityA 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 -93TypeScriptMIT License
- -securityFlicense-qualityA 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 -16TypeScript