puter

Puter MCP lets your AI tools (Claude Code, Codex, or any other MCP-compatible client) interact with your Puter resources: managing files, publishing websites…

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные

Что умеет

  • Whoami: Get the authenticated Puter user's account info — including username, uuid, and the home_directory (/<username>) that ALL filesystem paths must live under. Call this first to learn your userna
  • Fs Read File: Read the contents of a file in Puter. Returns UTF-8 text by default; pass encoding="base64" for binary files. Supports optional byte offset/length. Equivalent to PuterJS puter.fs.read(pa
  • Fs Stat: Get metadata (name, size, type, timestamps, uid) for a file or directory in Puter. Equivalent to PuterJS puter.fs.stat(path).

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

Puter MCP lets your AI tools (Claude Code, Codex, or any other MCP-compatible client) interact with your Puter resources: managing files, publishing websites, deploying workers, and more.

Список инструментов сервера (25)

Технические названия из tools/list. Нужны только разработчикам.

whoamiGet the authenticated Puter user's account info — including username, uuid, and the home_directory (/<username>) that ALL filesystem paths must live under. Call this first to learn your username so you can build valid absolute paths (e.g. "/<username>/portfolio/index.html") instead of invalid bare root paths. Equivalent to PuterJS puter.auth.getUser().
fs_read_fileRead the contents of a file in Puter. Returns UTF-8 text by default; pass encoding="base64" for binary files. Supports optional byte offset/length. Equivalent to PuterJS puter.fs.read(path).
fs_statGet metadata (name, size, type, timestamps, uid) for a file or directory in Puter. Equivalent to PuterJS puter.fs.stat(path).
fs_write_fileWrite (create or overwrite) a file in Puter. Provide content as UTF-8 text, or set encoding="base64" to write binary data. Equivalent to PuterJS puter.fs.write(path, data).
fs_mkdirCreate a directory in Puter (optionally creating missing parents). Equivalent to PuterJS puter.fs.mkdir(path).
fs_deleteDelete a file or directory in Puter. Directories are removed recursively by default. Equivalent to PuterJS puter.fs.delete(path).
fs_readdirList the entries (files and subdirectories) of a directory in Puter. Equivalent to PuterJS puter.fs.readdir(path).
hosting_listList all websites (hosting subdomains) the authenticated Puter user has published. Each entry includes the subdomain (served at https://<subdomain>.puter.site) and the Puter directory it is hosted from. Use this to discover existing sites before creating or updating one. Equivalent to PuterJS puter.hosting.list().
hosting_getGet a single published website (hosting subdomain) by its subdomain label, including the Puter directory it serves from. The live site is reachable at https://<subdomain>.puter.site. Equivalent to PuterJS puter.hosting.get(subdomain).
hosting_createPublish a new static website by creating a hosting subdomain. The site goes live at https://<subdomain>.puter.site. Point it at a Puter directory (root_dir) to serve that directory's files (e.g. an index.html) as a website; omit root_dir to reserve the subdomain and attach a directory later with hosting_update. Typical flow: fs_mkdir a directory, fs_write_file your index.html into it, then hosting_create with that root_dir. Equivalent to PuterJS puter.hosting.create(subdomain, root_dir).
hosting_updateRe-point an existing website (hosting subdomain) at a different Puter directory, changing which files https://<subdomain>.puter.site serves. Use this to attach content to a bare subdomain or to swap the served directory. Equivalent to PuterJS puter.hosting.update(subdomain, root_dir).
hosting_deleteUnpublish a website by deleting its hosting subdomain. This takes https://<subdomain>.puter.site offline but does NOT delete the underlying Puter directory or its files. Equivalent to PuterJS puter.hosting.delete(subdomain).
workers_createDeploy a serverless Puter Worker from a JavaScript file in the Puter filesystem and return its public URL. The worker file MUST define handlers on the global `router` object (router.get/router.post/router.put/router.delete) and may use the global puter.js SDK (`puter`) for storage, KV, AI, and more — authenticated as you, the deployer. Puter Workers are designed to be used WITH puter.js and Puter authentication, so BEFORE writing worker code load the router guide and examples via puter_docs_get with path "Workers/router". Typical flow: fs_write_file the worker code to a path (e.g. "~/workers/api.js"), then workers_create with that file_path. TO UPDATE a deployed worker, simply write the new code to the SAME file with fs_write_file — there is no separate update call; the worker serves the current contents of its associated file (propagation takes ~5-30s). Requires a Puter account with a verified email. Equivalent to PuterJS puter.workers.create(worker_name, file_path).
workers_listList all serverless Workers deployed by the authenticated Puter user, including each worker's name, public URL, and the source file it is deployed from (write to that file to update the worker). Equivalent to PuterJS puter.workers.list().
workers_getGet a single deployed Worker by name, including its public URL and the source file path it serves (write new code to that file with fs_write_file to update it). Equivalent to PuterJS puter.workers.get(worker_name).
workers_execCall a deployed Puter Worker over HTTP as the authenticated user, automatically attaching the Puter auth header so the worker can act on the caller's resources via `user.puter`. Use this to invoke or test a worker endpoint. Equivalent to PuterJS puter.workers.exec(url, options).
workers_deleteDelete (undeploy) a Puter Worker by name, stopping its execution and releasing its URL. Does NOT delete the worker's source file in the filesystem. Equivalent to PuterJS puter.workers.delete(worker_name).
apps_listList the Puter apps the authenticated user owns / can edit. Each entry includes the app name, title, uid, index_url (the URL the app loads), icon, filetype associations, and aggregate usage stats (open_count, user_count). Use this to discover existing apps before creating or updating one. Equivalent to PuterJS puter.apps.list().
apps_getGet a single Puter app the user owns / can edit, by its app name, including its title, uid, index_url, icon, and usage stats. Pass stats_period for detailed open/user counts over a specific window. Equivalent to PuterJS puter.apps.get(name).
apps_createRegister a new Puter app so it appears in the user's app list and can be launched in Puter. You MUST provide a unique name and an index_url (the URL Puter loads when the app runs). The index_url is typically a static site you published with hosting_create (https://<subdomain>.puter.site) or a serverless worker URL, but can be any allowed https URL. Typical flow: fs_write_file the app files -> hosting_create to publish them -> apps_create with index_url set to the resulting URL. Equivalent to PuterJS puter.apps.create(spec).
apps_updateUpdate an existing Puter app, found by its current name. Only the fields you pass are changed; omitted fields keep their current values. Pass new_name to rename the app. Equivalent to PuterJS puter.apps.update(name, spec).
apps_deleteDelete a Puter app by name, removing it from the user's app list. This unregisters the app but does NOT delete the website/worker its index_url points to. Equivalent to PuterJS puter.apps.delete(name).
apps_check_nameCheck whether a Puter app name is available (not already taken) before creating an app with it. Equivalent to PuterJS puter.apps.checkName(name).
puter_docs_indexLoad the index of Puter / puter.js documentation (from docs.puter.com/llms.txt): a list of every topic and its doc path, spanning the whole puter.js SDK — Workers (serverless functions), Hosting, FS, KV, AI (500+ models), Auth, and more. Call this FIRST to discover which doc to read, then fetch the page with puter_docs_get. Puter Workers and the tools in this server are designed to be used WITH puter.js and Puter authentication, so consult these docs before writing any worker or SDK code.
puter_docs_getFetch a specific Puter / puter.js documentation page as Markdown by the topic path listed in puter_docs_index. Examples: "Workers/router" (the Worker router guide + canonical examples — read this before writing a worker), "Workers/create", "AI/chat", "KV/set", "FS/write", "Hosting/create". Use it to read the exact API and copy working examples before writing worker or puter.js code.
puter: подключить к Claude, ChatGPT, Cursor · Connectors.fun