MCP App Store
by KeenEthics

Overview

microfn is a sandboxed cloud environment for building, deploying, and running tiny JavaScript functions, designed to be AI-friendly. It gives Claude its own workspace to write functions, deploy them, manage their code and secrets, and run the functions you've already built. With microfn, Claude can: - Write and deploy a new JavaScript function on request - Inspect, update, and validate the code of existing functions - Manage function settings and secrets - Run your functions and use their results in the conversation Each function runs in an isolated sandbox, so Claude can create and combine its own tools: fetch a weather API, keep data in a key-value store, post to Slack, or send a Telegram message. Sign in with your microfn account over OAuth. The free plan includes 3 active functions and 100 executions per day, and Pro ($4.99/month) removes both limits.

Tools

checkCode

ChatGPT
Validate and lint TypeScript code snippet for MicroFn. Returns validation results and package extraction summary.

checkDeployment

ChatGPT
Check the deployment status of a function. Requires functionName parameter in format 'username/functionName'.

createFunction

ChatGPT
Create a new MicroFn workspace/function with TypeScript code. The code must export either: 1) A 'main' function as the entry point, OR 2) Any named function (which will be auto-wrapped with a main function). Examples: 'export async function main() { return "hello" }', 'export async function sayHello(name) { return "hello " + name }' (auto-wrapped), 'export async function main() { const btc = await fetch("..."); return btc.json() }'. IMPORTANT: Import @microfn/* modules as defaults: 'import kv from "@microfn/kv"' NOT 'import { kv } from "@microfn/kv"'. Common patterns: use @microfn/secret for env vars, @microfn/kv for persistent storage (e.g., counters, cache), and fetch() for HTTP requests. Input: 'name' (string) - the function name, 'code' (string) - the TypeScript code. Output: the created workspace object with its name and metadata.

createSecret

ChatGPT
Creates a new secret for the specified function. Secrets cannot be overwritten; if the key already exists, delete it first.

deleteSecret

ChatGPT
Deletes a secret from the specified function. Call getSecrets first to obtain the secret's id.

executeFunction

ChatGPT
Execute a function with given input. Requires functionName (format: 'username/functionName') and optional inputData parameters.

generateFunction

ChatGPT
Generate a new function from a natural language prompt. Returns one or more code variations.

getExecution

ChatGPT
Get one execution of a function, including its trigger, arguments, response, error and logs. Takes the id or execution_id reported by listExecutions. Requires functionName in format 'username/functionName'.

getFunction

ChatGPT
Get details of a function (no source code). Use getFunctionCode for code. Requires functionName parameter in format 'username/functionName'.

getFunctionCode

ChatGPT
Get the source code of a function. Requires functionName parameter in format 'username/functionName'.

getSecrets

ChatGPT
Retrieves all secrets for the specified function

listExecutions

ChatGPT
List recent executions of a function, newest first, to find a run worth inspecting. Returns each run's status, trigger, error and timestamps, but not its arguments, response or logs (call getExecution for those). Requires functionName in format 'username/functionName'.

listFunctions

ChatGPT
List available MicroFn workspaces/functions, 20 per page in 'username/name' order, for use with the other tools. When 'hasMore' is true, request the next 'page' for the rest of the account.

listPackages

ChatGPT
Lists packages from the latest deployment. Requires functionName parameter in format 'username/functionName'.

ping

ChatGPT
Simple ping tool to test connectivity

renameFunction

ChatGPT
Rename a function/workspace

searchFunctions

ChatGPT
Find MicroFn functions whose name contains a substring, case-insensitively. Matches the function name only, not the username. Pages like listFunctions, with 'total' counting every match.

updateFunctionCode

ChatGPT
Update the source code of a function. The code can export either: 1) A 'main' function directly, OR 2) Any named function (auto-wrapped). Examples: Bitcoin price fetcher: 'export async function main() { const res = await fetch("https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd"); return { price_usd: (await res.json()).bitcoin.usd }; }'. With KV counter: 'import kv from "@microfn/kv"; export async function main() { const count = (await kv.get("visits")) || 0; await kv.set("visits", count + 1); return { visits: count + 1 }; }'. IMPORTANT: Always use default imports for @microfn/* modules. Requires functionName (format: 'username/functionName') and code parameters.

updateFunctionSettings

ChatGPT
Update settings for a function, such as enabling/disabling MCP tool exposure.

waitForFunctionDeployment

ChatGPT
Wait for a function deployment to complete. Uses PubSub integration for real-time updates with 30-second timeout. Returns immediately if not currently deploying.

checkCode

Claude

checkDeployment

Claude

createFunction

Claude

createSecret

Claude

deleteSecret

Claude

executeFunction

Claude

generateFunction

Claude

getExecution

Claude

getFunction

Claude

getFunctionCode

Claude

getSecrets

Claude

listExecutions

Claude

listFunctions

Claude

listPackages

Claude

ping

Claude

renameFunction

Claude

searchFunctions

Claude

updateFunctionCode

Claude

updateFunctionSettings

Claude

waitForFunctionDeployment

Claude

Capabilities

Writes

App Stats

40

Tools

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily