mcpbeat Sign in

Total CMS MCP Server

answering

Total CMS is answering right now. Last checked 8 min ago. It exposes 20 tools. Last commit 28 Oct 2026.

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

Uptime history 10 days of history · worst day 98%
10 days agonow
100.0%
Uptime 24h
91 of 91 checks
20
Tools
read from the server
646 ms
Response time
average over 24h
10
Stars
last commit 28 Oct 2026

What changed 8

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 27 October 2026. No other catalogue keeps this.

29 Oct 3 tool descriptions were rewritten get_object, query_collection, search_collection
28 Oct a tool changed version
27 Oct 4 tool descriptions were rewritten get_object, list_guides, query_collection and 1 more

What the code does

We read the source, 1 h ago · tools taken from the live server · rules 995398eba69f

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

    $installationSettings = require $projectTcms;
Builds a database query by concatenation public/assets/chunk-6DTRDB76.js:1
…f(m.state===ar)return un(s);m.state===ou?(m.state=fn,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete i[h]):+h<e&&(m.state=fn,m.timer.stop(),m.on.call("cancel",t,t.__data__,m.index,m.group),delete i[h])}if(un(function(){n.state===ar&&(n.state=ou,n.timer.r…
Runs an external command public/assets/chunk-TOF65V7T.js:4
…=V.id();if(L.length>0)for(z.unshift(L);c[G];){var F=c[G];z.unshift(F.edge),z.unshift(F.node),V=F.node,G=V.id()}return o.spawn(z)},"pathTo")}},"dijkstra")},ld={kruskal:v(function(e){e=e||function(w){return 1};for(var t=this.byGroup(),a=t.nodes,n=t.edges,i=a.length,s=new Array(i),o…

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add docs --transport http https://totalcms.co/mcp
Settings → Connectors → Add custom connector, then paste this address
https://totalcms.co/mcp
~/.codex/config.toml
[mcp_servers.docs]
url = "https://totalcms.co/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "docs": {
      "url": "https://totalcms.co/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "docs": {
      "type": "http",
      "url": "https://totalcms.co/mcp"
    }
  }
}

Available tools 20

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

docs
docs_get
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".
docs_lookup
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.
docs_search
Search the Total CMS documentation. Returns matching pages with their path, title, group, and section headings. Use docs_get with a returned path to read the full page.
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 (datetime, sortable), weight (range, sortable)
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)
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.
search_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.
describe
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.
describe_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.
view
get_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.
query_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.
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.
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.
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.
latest
latest_release
The most recent Total CMS release: version, title, date and the release summary. Returns: paginated releases objects with url per item.
needs
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.
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)
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.
search
search
Search site content across all collections you can see. Returns matching results as {id, title, url}; pass a result id to `fetch` to read the full document. Drafts are hidden from anonymous callers.
views
list_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.

Endpoints

URLTransportStateLatencyChecked
https://totalcms.co/mcp streamable-http answering 565 ms 8 min ago

Alternatives to Total CMS

same job, measured the same way
Lium Docs
by datura-ai

Search and read the Lium GPU rental docs: pods, CLI, SDK, REST API and agent guides.

11 tools answering
Diff Anything
by martingryner

Compare local files, folders and API schemas through the installed Diff Anything CLI.

258 installs/wk local only
smm.guide
by smm

SMM panel catalog: cheapest services across panels, Trust Scores, reviews, comparisons, panel tools

9 tools answering
Taxact MCP
by taxact

Tax filing guidance, cost comparison, document checklists, and refund estimates by TaxAct.

8 tools answering
Clirank
by alexanderclapp

Search, compare, and get docs for 210+ APIs ranked by CLI and agent relevance.

51 installs/wk local only
One AI Guide
by oneaiguide

Read-only approved AI tools, public stacks, guides, and evidence-aware comparisons.

7 tools answering
Aidocs
by cloudcorprecords

OpenAI docs, guides, changelog and API reference as MCP tools.

local only
CutGPT Research & Fact-Check
by cutgpt

Free fact-checks, papers, source vetting, plus verified AI pricing, comparisons, guides, and tools.

14 tools answering

Total CMS — questions

Answers built from our own checks of this server.

What can Total CMS do?
It exposes 20 tools, read directly from the server on our last check. Among them: describe_collection, describe_view, docs_get, docs_lookup, docs_search, fetch and 14 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Total CMS mostly used for?
Its tools cluster around docs, view and collection. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Total CMS working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 646 ms. The bar chart above shows every period we have measured.
How do I connect Total CMS?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Total CMS need an API key?
No. Total CMS completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 20 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Total CMS?
It answers our handshake in 646 ms on average, which is faster than 16% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Total CMS open source?
We cannot say either way: written in PHP, 10 stars on GitHub and 29 open issues, but we could not determine the licence, and without one the code is not open source by default.