Toolkit · Self-Service Conversion

Migrate from SAS with your coding agents

Alchemist MCP and Skills put deterministic SAS‑to‑PySpark conversion inside the coding agent you already use. It is the same engine behind enterprise Databricks migrations.

Video: converting SAS to PySpark from a coding agent with Alchemist Skill and MCP
See it

SAS in. PySpark out.

The agent asks. Alchemist parses the SAS into a syntax tree and rewrites it, with the same output every time, whichever agent asked.

SAS orders.sas
data work.big_orders;
  set sales.orders;
  where amt > 1000;
  tier = 'Key';
  net = amt * 0.9;
run;

proc sql;
  create table work.by_region as
  select region, sum(net) as net
  from work.big_orders
  group by region;
quit;
PySpark orders.py
# Converted by Alchemist
from pyspark.sql import functions as F

big_orders = (
  spark.table("sales.orders")
  .filter(F.col("amt") > 1000)
  .withColumn("tier", F.lit("Key"))
  .withColumn("net", F.col("amt") * 0.9)
)

by_region = (
  big_orders.groupBy("region")
  .agg(F.sum("net").alias("net"))
)
by_region.createOrReplaceTempView(
  "by_region"
)
The problem

Why doesn't manual migration scale?

With thousands of SAS programs, three things limit a manual rewrite: time, consistency across many hands, and how few people can do the work. A deterministic engine addresses all three.

  1. Time

    A manual SAS rewrite is measured in months, and most of that time goes to repetitive translation rather than design.

  2. Consistency

    Each developer translates a little differently, and across hundreds of programs those differences add up to logic drift.

  3. Who can take part

    When only engineers can convert, business and analytics teams queue for their turn. Agents let them run their own scope.

How it works

Your agent talks to Alchemist

Ask your coding agent to convert SAS code. It delegates the work to Alchemist through MCP (the protocol agents use to call tools) or a skill. The converted code comes back to your notebook for review, refinement and a run. The conversion stays deterministic; the agent only orchestrates it.

  1. 1 · Your agentDatabricks Genie, Snowflake Cortex, Claude Code, any MCP client
  2. 2 · AlchemistMCP server / Skillapi.getalchemist.io
  3. 3 · Your notebookReview, refine, run
Works with your stack

Bring your own agent

Alchemist skills and MCP are available in your local agents, or in your cloud platform's agent. If it speaks MCP, it can drive a conversion.

  • Databricks Genie
  • Snowflake Cortex
  • Claude Code
  • Any other MCP client
Deployment

Cloud or air-gapped, your call

Run conversions through Alchemist's hosted service, or deploy the full stack inside your own network with Docker. Same engine, same output.

Alchemist Cloud

Connect your agent to the hosted service over the public internet. Nothing to install; connection details are in your Alchemist account.

api.getalchemist.io

Air-gapped (Docker)

Deploy Alchemist in your private network. Full control; no code leaves your environment.

docker load -i alchemist.tar
Start

Set up Alchemist MCP or Skills for your team

Register for the free trial or read the documentation. Or tell us which agent and platform you are on, and we will point you at the right setup.