MCP Reference

Overview

MCP (Model Context Protocol) lets AI assistants like Claude interact with OtherFunc directly — creating, managing, and executing functions without the user ever touching esoteric code. The OtherFunc MCP server exposes 8 tools that map to the OtherFunc API.

Setup

Prerequisites: an OtherFunc API key. Sign in on the home page to get one.

Install the MCP server binary:

cargo install --path crates/otherfunc-mcp

Set the OTHERFUNC_API_KEY environment variable (required). Optionally set OTHERFUNC_API_URL to point at a different API endpoint (defaults to https://api.otherfunc.com).

Configuration — Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "otherfunc": {
      "command": "otherfunc-mcp",
      "env": { "OTHERFUNC_API_KEY": "of_your_key_here" }
    }
  }
}

Configuration — Claude Code

claude mcp add otherfunc otherfunc-mcp -e OTHERFUNC_API_KEY=of_your_key_here

Tools

ToolDescriptionParameters
list_languages List available languages (none)
execute_code Run code without saving language, code, input?
execute_function Run a saved function id, input?, version?
create_function Create and deploy a function slug, language, name, code, description?, is_published?
get_function Get details and source code id
list_functions List your functions (none)
update_function Update metadata or code id, name?, description?, code?, is_published?
delete_function Permanently delete a function id

Parameter Details

ToolParameterTypeRequiredDescription
execute_codelanguagestringyesLanguage to execute (brainfuck, forth, apl, lisp)
execute_codecodestringyesSource code to run
execute_codeinputstringnoStdin input for the program
execute_functionidstringyesFunction ID (UUID)
execute_functioninputstringnoStdin input for the function
execute_functionversionintegernoSpecific version to run (defaults to latest)
create_functionslugstringyesURL slug for the public endpoint
create_functionlanguagestringyesLanguage for the function
create_functionnamestringyesHuman-readable name
create_functioncodestringyesSource code
create_functiondescriptionstringnoDescription of what the function does
create_functionis_publishedbooleannoWhether the function is publicly accessible (default false)
get_functionidstringyesFunction ID (UUID)
update_functionidstringyesFunction ID (UUID)
update_functionnamestringnoNew name
update_functiondescriptionstringnoNew description
update_functioncodestringnoNew source code (creates a new version)
update_functionis_publishedbooleannoUpdate publish status
delete_functionidstringyesFunction ID (UUID)

Example Workflow

A typical interaction where an AI assistant creates a function on your behalf:

  1. User: “Make me an endpoint that reverses a string”
  2. AI calls list_languages → picks Brainfuck
  3. AI writes an implementation, calls execute_code to test it
  4. AI calls create_function to deploy it with slug reverse-string
  5. AI calls execute_function to verify the saved version works
  6. AI returns the public URL: https://api.otherfunc.com/fn/reverse-string