Val Town

town.val由 val.town 發布官方發布者v1.0.0更新於 Oct 24, 2026

Deploy serverless TypeScript on Val Town: HTTP vals, cron, SQLite, email, OAuth.

已驗證Streamable HTTP可網頁執行雲端與基礎設施開發者工具

概覽

AI 產生的概覽

由 Val Town 託管的 MCP 伺服器,讓助理在 Val Town 上建置與部署無伺服器 TypeScript,涵蓋 HTTP val、排程工作、SQLite、電子郵件與 OAuth。

可以做什麼
  • 在 Val Town 上部署與管理無伺服器 TypeScript,包括 HTTP val 與排程 cron
  • 使用 Val Town 的 SQLite 儲存、寄送電子郵件與處理 OAuth 流程
  • 透過隨附的平台技能了解 HTTP val、cron、SQLite、電子郵件、OAuth、前端與 API 整合
  • 經由託管的遠端端點連線,並在瀏覽器中完成 OAuth 登入
適用情境
適合想讓 AI 程式助理直接建置、部署或維護 Val Town 專案(小型 TypeScript HTTP 端點、排程工作或整合)的情境。對已在用 Val Town 的 Claude Code、Codex 與 Cursor 使用者特別合適。
執行需求
需要 Val Town 託管的遠端 MCP 端點,未宣告本機套件或環境變數。必須使用 OAuth 驗證,首次呼叫工具時助理會在瀏覽器中完成 OAuth 流程。README 也說明安裝外掛的方式,為 Claude Code、Codex 或 Cursor 加入平台技能。
安裝前請注意
安裝後助理會取得經 OAuth 授權的 Val Town 帳號連線,可在該帳號下代為操作。伺服器涉及部署、排程工作、SQLite、電子郵件與 OAuth,因此可能出現建立、修改或寄送資料的動作,使用前應確認助理的行為。README 的安裝步驟會為程式助理加入第三方外掛市集。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Val Town,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/town.val%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "val-town": {
      "type": "http",
      "url": "https://api.val.town/v3/mcp"
    }
  }
}

README

Agent plugins for Val Town

Installs the Val Town MCP server and Skills for Claude Code, Codex, and Cursor.

Skills are markdown files with platform guidance for building on Val Town. Used by Val Town's own tools (Townie, the MCP server) and by AI coding agents. Skills include HTTP vals, crons, SQLite, email, OAuth, frontend, and API integrations.

Install

Installing the plugin makes platform skills available to your agent and registers the hosted Val Town MCP server (https://api.val.town/v3/mcp). On first use of an MCP tool, the agent runs the OAuth flow in your browser.

  1. Claude Code
  2. Codex
  3. Cursor

Claude Code

Install the Val Town plugin by running:

claude plugin install valtown@claude-plugins-official

Codex

codex CLI

First, run:

codex plugin marketplace add val-town/plugins

Then fire up codex and run:

/plugins

Search for Val Town, hit install, and it'll take you through the OAuth path.

Codex desktop app
  1. Click "Plugins" in the sidebar
  2. In the dropdown that says "Built by OpenAI" click "Add more +"
  3. Copy-paste https://github.com/val-town/plugins and select "Add marketplace"

Cursor

In Cursor, run:

/add-plugin valtown

Or in Cursor Settings, copy-paste https://github.com/val-town/plugins in the search box and select "Add to Cursor."

Contributing

Authoring skills

Skills live in plugin/skills/<name>/SKILL.md with YAML frontmatter:

markdown
---name: http-endpointsdescription: Use when building an HTTP val — a web endpoint, API route, webhook...triggers: [http, endpoint, webhook, api, request, response]---
# HTTP Endpoints
...guide body...
  • name (required) — must match the directory name; lowercase, hyphens, ≤64 chars.
  • description (required) — written as "Use when…"; this is how Claude decides to load the skill. ≤1024 chars.
  • triggers (optional) — keyword hints that boost searchSkills ranking; ignored by Claude Code's native loader.

Keep content audience-neutral: only platform knowledge true for every consumer. No product-flow or chat-only advice.

Then build:

npm installnpm run build   # generate src/generated/skills.ts, then tscnpm test        # build + smoke tests

npm run generate validates every skill against both our schema and Claude Code's frontmatter constraints — a skill that wouldn't load in Claude Code fails the build.

Relationship to the Val Town monorepo

This package is the source of truth for skill content. The Val Town app and MCP server consume it as a dependency rather than holding their own copy. See docs/SKILLS_PLUGIN.md in the main repo for the full design.

Versioning

This repository uses Changesets for publishing. See their documentation for more information.

  • For each change that should trigger a new version, you should run npx @changesets/cli and fill out the interactive prompts to describe the changes. This will generate a new changeset in the .changesets directory.
  • Each change in that directory will prompt the release.yml GitHub action to create a new release PR.
  • Merging a release PR will automatically publish a new version of this module.

Configuration

Claude Code

The official Claude plugin marketplace pulls from .plugins/marketplace.json.

Codex

Codex reads the native marketplace at .agents/plugins/marketplace.json (and falls back to the Claude .claude-plugin/marketplace.json for compatibility).

Cursor

Cursor reads .cursor-plugin/marketplace.json and the per-plugin plugin/.cursor-plugin/plugin.json.

來源:README.md,提交 555ff74

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分