Total CMS

co.totalcms由 totalcms.co 發布官方發布者v1.0.2更新於 Oct 29, 2026

Total CMS docs, guides and CMS comparisons: Twig, field types, schemas, CLI, REST API and releases.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶開發者工具

概覽

AI 產生的概覽

以唯讀方式透過 MCP 存取 Total CMS 網站:瀏覽集合與物件、執行資料檢視,並檢索其文件、指南與競品比較頁。

可以做什麼
  • 探索集合與資料檢視,查看其 schema、屬性與可查詢欄位
  • 查詢、搜尋並取得集合中的物件,支援分頁結果與 tcms:// 資源 URI
  • 執行並分頁讀取以 Twig 定義的快取資料檢視
  • 搜尋網站內容並取得完整文件以便引用
  • 搜尋、閱讀並查找 Total CMS 文件:Twig、欄位類型、REST API、CLI 與 schema 設定項
  • 讀取指南、競品比較頁、版本發布說明以及待複核頁面
適用情境
適合需要回答關於某個線上 Total CMS 網站內容的問題,或需要查閱 Total CMS 文件與 API 細節而非憑猜測的場合。也適合需要搜尋並引用網站頁面的研究型用戶端。
執行需求
需要一個位於 Total CMS 網站的遠端 MCP 端點,不需本機執行環境或安裝套件。所述連線為唯讀且匿名,讀取不需金鑰。寫入與管理工具需要 API key 或 OAuth 權杖,而此連線並未具備。
安裝前請注意
此連線為唯讀;寫入與管理操作(schema、集合、快取)需要 API key 或 OAuth 權杖,應向使用者說明而非嘗試執行。草稿對匿名呼叫者隱藏,因此結果可能與已發布網站不同。查詢與搜尋內容會傳送到遠端 Total CMS 網站。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Total CMS,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "total-cms": {
      "type": "http",
      "url": "https://totalcms.co/mcp"
    }
  }
}

README

Total CMS

A modern flat-file CMS for PHP — no database required

[Latest stable version on Packagist] [Required PHP version] [Commercial license]

Website • Documentation • Pricing • Free trial


About

Total CMS is a content management system built on PHP 8.2+ and Slim 4 that stores content as flat JSON files instead of in a database. There is no MySQL to provision, no migrations to run, and no plugin ecosystem to keep patched — content lives on disk, so it version-controls, backs up, and deploys like the rest of your code.

It is designed for web designers, freelancers, and agencies who want structured content and a polished admin for their clients, on any commodity PHP host.

  • No database — content is JSON on disk; deploy by copying files
  • 33 built-in collection types — blog, image, gallery, file, and more — plus unlimited custom schemas
  • Twig templating — 89 custom filters and 49 functions on top of stock Twig 3
  • Site Builder — add a page in the admin and it is live; no build or generate step
  • REST API — full CRUD for headless use, with API-key or OAuth 2.1 authentication
  • Built-in MCP server — exposes your site's collections and search to AI agents (Pro)
  • Automations — schedule, webhook, and event-triggered handlers with a job queue
  • Extensions — a register/boot lifecycle with capability-based permissions
  • Admin interface — form builder with 20+ field types, media management, passkey login
  • CLI (tcms) — collections, schemas, objects, import/export, sync, and deploys
  • Image processing — on-the-fly resizing, watermarking, and OKLCH color handling

Requirements

  • PHP 8.2+ (8.4 supported)
  • Composer 2.0+
  • Apache or Nginx with URL rewriting
  • PHP extensions: GD or ImageMagick, JSON, Fileinfo, OpenSSL

No database server. No Node.js runtime in production.

Installation

bash
composer create-project totalcms/totalcms mysitecd mysite

Point your web server's document root at public/, then open the site in a browser — the setup wizard handles the admin account, data directory, and license from there.

The installer also offers a subpath layout, which serves Total CMS from /tcms/ and leaves public/ free for your own frontend build. See the Installation Guide for web server configuration.

Twig templates

twig
{% for post in cms.collection.objects('blog') %}    <article>        <h2>{{ post.title }}</h2>        {{ post.content|markdown }}    </article>{% endfor %}

See the Twig documentation for the full filter and function reference.

CLI

bash
vendor/bin/tcms collection:listvendor/bin/tcms jumpstart:export backup.jsonvendor/bin/tcms cache:clearvendor/bin/tcms deploy

For AI agents

Total CMS is built to be worked on by coding agents:

  • llms.txt and llms-full.txt — the complete documentation in one fetch
  • Agent skill — installed into .claude/skills/ automatically on composer install, covering collections, schemas, the CLI, and the Site Builder workflow
  • Built-in MCP server — point an agent at a live site to query its collections and schemas directly (Pro edition)

Documentation

Full documentation is at docs.totalcms.co.

Support

License

Total CMS is commercial software. A license is required for production use. See LICENSE.md for terms.

Free 45-day trials are available — no credit card required. Visit totalcms.co for details.

來源:README.md,提交 6450ab3

工具

20

describe_collection

Describe Collection

Describe one collection in detail. Returns the collection metadata plus a properties array — each entry is a property with its type, description, and indexed/filterable/sortable flags. Call list_collections first to find a collection id, then describe_collection to see what is queryable inside it. `indexed: true` means the property appears in query_collection / search_collection results (and may be filterable/sortable). `indexed: false` means the property exists on objects but is not returned by query/search — retrieve it through get_object instead.

輸入參數collection必填

describe_view

Describe Data View

Describe one data view in detail. Returns metadata (id, name, description, last_built, access, total_items) plus output_shape — the list of keys present on the first cached item, sampled so agents can compose effective query_view / get_view calls. Admin callers also receive the view's Twig definition for dev visibility. Use list_views to discover view ids first.

輸入參數id必填

docs_get

Get Documentation Page

Fetch a full Total CMS documentation page as markdown by its path (as returned by docs_search), e.g. "twig/data" or "site-builder/overview".

輸入參數path必填

docs_lookup

Look Up Reference Entry

Look up a specific Total CMS reference entry: Twig functions/filters, field types, REST API endpoints, schema configuration keys, CLI commands, extension API, or builder API. Omit `name` to list all entries of a kind.

輸入參數kind必填name

fetch

Fetch

Fetch the full document for a search result id. Returns {id, title, text, url, metadata}; `text` is the readable body for citation. Pass an id returned by the `search` tool.

輸入參數id必填

find_comparison

Find Comparison

Find the head-to-head comparison page for a competitor by name (case-insensitive partial match). Returns the full page content including the feature table. Parameters: - competitor (string, required): Competitor name, e.g. "Kirby" or "Craft". Returns: paginated comparisons objects with url per item.

輸入參數competitor必填

get_object

Get Object

Fetch a single object by its id from a collection. Returns the full object as a flat map of fields, decorated with a `url` field where the collection has a public URL pattern configured. This tool does not search or filter — use query_collection for paginated lists or search_collection for free-text search. Available collections and filterable properties: - articles — id (id, sortable), title (text), author (select), summary (textarea), date (date, sortable), draft (toggle), updated (datetime, sortable) - comparisons — competitor (text), competitorUrl (url), heading (text), lede (textarea), reviewed (date, sortable), draft (toggle), sort (number, sortable), id (id, sortable) - extension — id (id, sortable), name (text), extensionId (text), soldAs (text), summary (textarea), category (select), price (number, sortable), currency (select), minEdition (select), minVersion (text), bundled (toggle), beta (toggle), docsUrl (url), productUrl (url), draft (toggle), owner (select), featured (toggle), approved (datetime, sortable), submitted (datetime, sortable), weight (range, sortable) - guides — heading (text), lede (textarea), reviewed (date, sortable), draft (toggle), sort (number, sortable), id (id, sortable), kind (select), product (select) - releases — id (id, sortable), version (text), title (text), date (date, sortable), draft (toggle), urgent (toggle), fullnotesurl (url), announce (toggle) - showcase — name (text), url (url), industry (select), id (id, sortable), owner (select), draft (toggle), featured (toggle), approved (datetime, sortable), submitted (datetime, sortable), weight (range, sortable)

輸入參數id必填formatlocalecollection必填

get_resource

Get Resource

Resolve a tcms:// resource URI to its underlying object. Format: tcms://{collection}/{id} — e.g. tcms://blog/hello-world. Equivalent to calling get_object with the parsed collection and id; returns the same shape. Use this when a URI has been surfaced to you (in other tool output, in user input, etc.); use get_object directly when you have a separate collection + id pair. Extension-registered URIs (other schemes) are reachable via the resources/read transport surface.

輸入參數uri必填

get_view

Get Data View

Fetch a data view's full cached result by id. Output is freeform — each item's field set depends on the view's Twig definition. Call describe_view first to learn the expected shape. Capped at 50 items; larger views return the first 50 plus a hint to call query_view for pagination. For per-item paginated access use query_view directly.

輸入參數id必填formatlocale

latest_release

Latest Release

The most recent Total CMS release: version, title, date and the release summary. Returns: paginated releases objects with url per item.

無需輸入參數。

list_collections

List Collections

Discover the collections visible to you. Lean overview — one entry per collection. Returns id, name (display label), schema (the schema id this collection uses), description, url_pattern, access level, and total_objects (so you can decide whether to paginate or enumerate). For the per-property detail of one collection (which properties exist, which are filterable/sortable), call describe_collection. Then query_collection / search_collection / get_object for the data.

無需輸入參數。

list_guides

List Guides

The site's Guides: evergreen buying-guide pages served at /guides/{id}. Returns every guide in display order with its id, heading, lede, reviewed date and draft flag. A guide's full content (contenders, choose, howToChoose, faqs, sources) is on the object itself: get_object with collection "guides". Returns: paginated guides objects with url per item.

無需輸入參數。

list_views

List Data Views

Discover the pre-computed data views visible to you. Lean overview — one entry per view. Data views are Twig-defined queries that aggregate across collections; their result is cached and accessible by id. Returns id, name, description, last_built, and access. Use the id with query_view (paginated query), get_view (fetch the whole cached result), or describe_view (output shape + metadata). For raw collection content use list_collections instead.

無需輸入參數。

needs_review

Needs Review

Comparison pages ordered by how long ago their competitor facts were last verified, oldest first. Pass `before` (ISO date) to return only pages last verified before that date. Each page shows its verification date publicly, so keeping these fresh matters. Parameters: - before (string, optional): Only pages whose reviewed date is on or before this ISO date (optional). Returns: paginated comparisons objects with url per item.

輸入參數before

query_collection

Query Collection

Query a collection for paginated content. Returns the matching items plus pagination metadata (total, limit, offset, has_more); each item is decorated with a public `url` field where one is configured. Use REST-style `include` / `exclude` filter strings (comma-separated field:value pairs; AND-semantics for include, OR-semantics for exclude) and `sort` (e.g. `date:desc`). Only properties listed in the catalog below are queryable — other schema properties exist on objects but are not filterable here; use get_object if you need the full record or describe_collection to see every property. This tool does not free-text search content — use search_collection for that. It does not fetch a single object by id — use get_object. Available collections and filterable properties: - articles — id (id, sortable), title (text), author (select), summary (textarea), date (date, sortable), draft (toggle), updated (datetime, sortable) - comparisons — competitor (text), competitorUrl (url), heading (text), lede (textarea), reviewed (date, sortable), draft (toggle), sort (number, sortable), id (id, sortable) - extension — id (id, sortable), name (text), extensionId (text), soldAs (text), summary (textarea), category (select), price (number, sortable), currency (select), minEdition (select), minVersion (text), bundled (toggle), beta (toggle), docsUrl (url), productUrl (url), draft (toggle), owner (select), featured (toggle), approved (datetime, sortable), submitted (datetime, sortable), weight (range, sortable) - guides — heading (text), lede (textarea), reviewed (date, sortable), draft (toggle), sort (number, sortable), id (id, sortable), kind (select), product (select) - releases — id (id, sortable), version (text), title (text), date (date, sortable), draft (toggle), urgent (toggle), fullnotesurl (url), announce (toggle) - showcase — name (text), url (url), industry (select), id (id, sortable), owner (select), draft (toggle), featured (toggle), approved (datetime, sortable), submitted

輸入參數sortlimitformatlocaleoffsetexcludeincludecollection必填

query_view

Query Data View

Paginated query against a data view's cached result. REST-syntax include/exclude/sort, same vocabulary as query_collection. View data is freeform — call describe_view first to learn the field set before composing filters. `limit` is capped at 50; use offset to paginate larger views.

輸入參數id必填sortlimitformatlocaleoffsetexcludeinclude

search_collection

Search Collection

Free-text search within a single collection. Returns matching items decorated with a public `url`; total reflects what was found. Supports AND (default), OR, and "quoted phrases". Searches across the properties listed in the catalog below — other schema properties exist on objects but are not searchable here; use get_object for the full record or describe_collection to see every property. This tool does not filter by field value — use query_collection with `include`/`exclude` for that. Drafts are auto-hidden from anonymous callers. Available collections and filterable properties: - articles — id (id, sortable), title (text), author (select), summary (textarea), date (date, sortable), draft (toggle), updated (datetime, sortable) - comparisons — competitor (text), competitorUrl (url), heading (text), lede (textarea), reviewed (date, sortable), draft (toggle), sort (number, sortable), id (id, sortable) - extension — id (id, sortable), name (text), extensionId (text), soldAs (text), summary (textarea), category (select), price (number, sortable), currency (select), minEdition (select), minVersion (text), bundled (toggle), beta (toggle), docsUrl (url), productUrl (url), draft (toggle), owner (select), featured (toggle), approved (datetime, sortable), submitted (datetime, sortable), weight (range, sortable) - guides — heading (text), lede (textarea), reviewed (date, sortable), draft (toggle), sort (number, sortable), id (id, sortable), kind (select), product (select) - releases — id (id, sortable), version (text), title (text), date (date, sortable), draft (toggle), urgent (toggle), fullnotesurl (url), announce (toggle) - showcase — name (text), url (url), industry (select), id (id, sortable), owner (select), draft (toggle), featured (toggle), approved (datetime, sortable), submitted (datetime, sortable), weight (range, sortable)

輸入參數limitquery必填formatlocalecollection必填

search_collections

Search Across Collections

Full-text search across every collection you can see, in one call. Returns matching items each decorated with `collection` (which collection the hit came from) and `url`. Pair `collection` + `id` to fetch the full record via get_object. Call list_collections for the available collections and describe_collection on any one for its full property list; properties not flagged filterable there exist on objects but are not searched here (use get_object for the full record). For a single-collection search use search_collection instead — same query syntax, scoped tighter. Drafts are auto-hidden from anonymous callers.

輸入參數limitquery必填formatlocale

版本歷史

2
  1. v1.0.2最新Oct 29, 2026
  2. v1.0.1Oct 24, 2026

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Totalcms 整合