
ash studio
An experimental or starter site aimed at building AI development tools for the Ash Framework
Repository Info
About This Server
An experimental or starter site aimed at building AI development tools for the Ash Framework
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
🧠 Ash Studio
This library is aims to build AI development tools for the Ash Framework. It is not an official Ash module.
Ideas
Resource browser, live updating on compile, bidirectional sync w/ source code, tracing of actions that execute as they execute, resource graph visualizer w/ canvas instead of mermaid, monitor reactors as they run etc.
The premise is to have a single set of Ash resources that can be used by
| Tool | UI | Chat Bot | MCP Server |
|---|---|---|---|
| ash.codegen --check | ✅ | ✅ | ❌ |
| ash.codegen --dry-run | ✅ | ✅ | ❌ |
| ash.codegen <migration_file> | ✅ | ✅ | ❌ |
| ash.gen.domain <domain_name> | ✅ | ✅ | ❌ |
| ash.gen.resource | ✅ | ❌ | ❌ |
🔧 Architecture Overview
- Ash Framework — defines MCP services as embedded, stateless resources.
- Ash AI — exposes the tools in a chat interface.
- Phoenix LiveView — provides a chat interface and forms for human developers to interact with tools.
📍 Goals
- Let AI agents safely interact with your dev environment using domain-aware tools
- Provide consistent, convention-driven automation surfaces for common Ash/Phoenix tasks
- Keep humans in the loop with a LiveView UI
📦 Status
This is an experimental playground — feedback and contributions welcome.
Github Repo
See it here - The site will spin down after a period of inactivity; give it time to rehydrate on first request.
Installation
Mix Dependency
{:ash_studio, "~> 0.1", github: "ketupia/ash_studio", only: :dev},
Config
Add AshStudio.Tasks to your app's `:ash_domains`
```elixir
config :your_app,
ash_domains: [AshStudio.Tasks]
```
Add :ash_studio to your app's `:host_app` config
```elixir
config :ash_studio,
check_migrations: true,
ash_domains: [AshStudio.Tasks],
host_app: :ash_studio_demo,
open_ai_model: "gpt-4o-mini"
```
Tailwind
Add ash_studio files to your module.exports
```
module.exports = {
content: [
"../deps/ash_studio/**/*.*ex",
// other content paths...
]
}
### Routes
In your router file
```elixir
import AshStudioWeb.Router
ash_studio_routes(path: "/studio", pipe_through: [:browser])
```
You must use `/studio` as the path presently.
### Open AI Config
Add your OpenAI API key as an environment variable.
e.g.
```
System.put_env("open_api_key", "your key here")
```
Specify the Open AI model to use
```elixir
config :ash_studio, :open_ai_model, "gpt-4o-mini"
```
Quick Start
Clone the repository
git clone https://github.com/ketupia/ash-studioInstall dependencies
cd ash-studio
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.