DataMaker MCP Server
The Automators DataMaker MCP (Model Context Protocol) server provides a seamless integration between DataMaker and the Model Context Protocol, enabling AI models to interact with DataMaker's powerful data generation capabilities.
🚀 Features
- Generate synthetic data using DataMaker templates
- Fetch and manage DataMaker templates
- Fetch and manage DataMaker connections
- Push data to DataMaker connections
- Large dataset handling: Automatically stores large endpoint datasets to S3 and provides summary with view links
- Execute Python scripts: Dynamically execute Python code by saving scripts to S3 and running them using the DataMaker runner
📦 Installation
Add the following to your mcp.json file:
{
"mcpServers": {
"datamaker": {
"command": "npx",
"args": ["-y", "@automators/datamaker-mcp"],
"env": {
"DATAMAKER_API_KEY": "your-datamaker-api-key"
}
}
}
}
📋 Prerequisites
- Node.js (LTS version recommended)
- pnpm package manager (v10.5.2 or later)
- A DataMaker account with API access
- AWS S3 bucket and credentials (for large dataset storage)
🏃♂️ Usage
Large Dataset Handling
The get_endpoints tool automatically detects when a large dataset is returned (more than 10 endpoints) and:
- Stores the complete dataset to your configured S3 bucket
- Returns a summary showing only the first 5 endpoints
- Provides a secure link to view the complete dataset (expires in 24 hours)
This prevents overwhelming responses while maintaining access to all data.
Python Script Execution
The execute_python_script tool allows you to dynamically execute Python code:
- Saves the script to S3 using the
/upload-textendpoint - Executes the script using the DataMaker runner via the
/execute-pythonendpoint - Returns the execution output once the script completes
Usage Example:
# The tool accepts Python script code and a filename
execute_python_script(
script="print('Hello from DataMaker!')",
filename="hello.py"
)
This enables AI models to write and execute custom Python scripts for data processing, transformation, or any other computational tasks within the DataMaker environment.
Development Mode
Create a .env file in your project root. You can copy from env.example:
cp env.example .env
Then edit .env with your actual values:
DATAMAKER_URL="https://dev.datamaker.app"
DATAMAKER_API_KEY="your-datamaker-api-key"
# S3 Configuration (optional, for large dataset storage)
S3_BUCKET="your-s3-bucket-name"
S3_REGION="us-east-1"
S3_ACCESS_KEY_ID="your-aws-access-key"
S3_SECRET_ACCESS_KEY="your-aws-secret-key"
Run the server with the MCP Inspector for debugging:
pnpm dev
This will start the MCP server and launch the MCP Inspector interface at http://localhost:5173.
🔧 Available Scripts
pnpm build- Build the TypeScript codepnpm dev- Start the development server with MCP Inspectorpnpm changeset- Create a new changesetpnpm version- Update versions and changelogspnpm release- Build and publish the package
🚢 Release Process
This project uses Changesets to manage versions, create changelogs, and publish to npm. Here's how to make a change:
- Create a new branch
- Make your changes
- Create a changeset:
pnpm changeset - Follow the prompts to describe your changes
- Commit the changeset file along with your changes
- Push to your branch
- Create a PR on GitHub
The GitHub Actions workflow will automatically:
- Create a PR with version updates and changelog
- Publish to npm when the PR is merged
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
MIT License - See LICENSE for details.