Give your agent a place to run JavaScript.

Connect Microfn through MCP. Your agent writes, saves, and runs functions in a sandbox. You can inspect the code and use it again whenever you need it.

Free tier available. No credit card required.

Example request “Create a function that sends the weather in Tokyo to Discord.”
david / get-weather JavaScript
import fn from "@microfn/fn";

export async function main() {
  const response = await fetch(
    "https://wttr.in/Tokyo?format=3&m"
  );
  const weather = await response.text();

  await fn.executeFunction("david/send-discord-message", {
    channelId: "1419082455608197140",
    content: weather,
  });

  return weather;
}
Example return value
Tokyo: Sunny, +24°C

Saved on Microfn. Call it again from your agent, an HTTP request, or a schedule.

Claude ChatGPT Grok Connected through MCP

A new tool is a conversation away.

Ask your agent to build the missing piece. It can create a function, change the code, and run it without leaving your conversation.

Connect through MCP

Things you can ask

01

Build a function that sends a Discord message.

Create a reusable tool

02

Add the weather in Tokyo to that message.

Edit the code

03

Run it and show me what came back.

Execute and inspect the result

04

Now send it every morning.

Configure a scheduled trigger

Build it once. Call it from anywhere.

The function your agent creates also works with webhooks, email, schedules, and Siri. Every connection below leads to the same code.

Your function send-discord JavaScript on Microfn

REUSE WHAT ALREADY WORKS

Your next tool can use the last one.

A weather function. A Discord notifier. Ask your agent to connect them into a morning update, without rewriting either one.

Let your agent build it

EXAMPLE / morning-weather

  1. 09:00 · Scheduled trigger

    Start the morning update

  2. get-weather

    Fetch the weather in Tokyo

  3. send-discord-message

    Pass the result to your notifier

Example Discord message

Good morning. Tokyo: Sunny, +24°C

See how the functions connect
import fn from "@microfn/fn";

export async function main() {
  const weather = await fn.executeFunction(
    "david/get-weather"
  );

  return fn.executeFunction(
    "david/send-discord-message",
    { channelId: "1419082455608197140", content: weather }
  );
}

Your agent writes it. You stay in control.

Code you can inspect

Open any saved function in the editor. Read it, change it, or let your agent make the next edit.

A sandbox for execution

Functions run on Microfn, not on your laptop. No local server to keep alive.

Tools you keep

Saved functions are ready for the next conversation. Call the same code through MCP or your own integrations.

Small tools. Bigger possibilities.

Try your first ideas for free. Go Pro when your agent's toolbox starts to grow.

START HERE

Free

$0 /month

Everything you need to try your first agent tools.

Active functions
3
Executions per day
100

MCP, triggers, secrets, and KV storage included.

Start free

ROOM TO BUILD

Pro

$4.99 /month

Give every good idea a function of its own.

3 → ∞

Active functions

100 → ∞

Daily executions

  • Keep every useful tool

    Create new functions without deleting old favorites to make room.

  • Keep the conversation going

    Run your tools without the Free plan's 100-execution daily cap.

  • Let your automations run

    Scheduled jobs, webhooks, and agent calls share no daily execution quota on Pro.

Everything in Free stays included: MCP access, HTTP and email triggers, schedules, secrets, and persistent KV storage. Runtime and API rate limits still apply.

Get started with Pro

No credit card needed for Free. Pro pricing is shown when available; confirm it before subscribing.

What tool is your agent missing?

Connect Microfn and ask it to build one.

Connect your agent