MCP server · Content and web

Joomla MCP server

Joomla in any MCP client, through Memtro: Joomla does not publish this server. Memtro's Joomla connector reads Joomla through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.

What the model can do

A Joomla website's content: articles by category, state, tag, author, language, search or last change, an article's full text, categories with article counts, tags, and site menu items; when you ask, can create articles, edit their title, text, category or description, publish, unpublish, archive, trash or feature them, and delete a trashed article.

Reads

  • joomla_list_articlesArticles on the Joomla site: title, state (published, unpublished, archived, trashed), featured, category, byline, created and last changed…
  • joomla_get_articleOne Joomla article in full: title, alias, state, category, tags, dates, publish window, meta description and its text (intro and body, as plain text).
  • joomla_list_categoriesArticle categories: id, title, alias, published state, parent and depth, language, and how many articles each holds by state.
  • joomla_list_tagsTags on the site: id, title, alias, path, published state and parent.
  • joomla_list_menu_itemsThe site's front-end menu items: title, menu, link, type, published state, whether it is the home page, language and depth.

Acts, when you ask

These change something in Joomla. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.

  • joomla_create_articleCreates an article on the Joomla site in a category, as the token's user.
  • joomla_update_articleEdits a Joomla article's title, text (intro and optional body after the read-more), category, alias or meta description…
  • joomla_set_article_statePublishes, unpublishes, archives or trashes a Joomla article, and/or features or unfeatures it.
  • joomla_delete_articlePermanently deletes a Joomla article; Joomla deletes only articles already in the trash (joomla_set_article_state with trashed first)…

Connect it

First connect Joomla on Dashboard → Connections, then add Memtro to your client once. The Joomla tools appear alongside the tools of everything else you have connected; nothing is configured per connector.

Claude Code

The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.

claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...

Cursor

Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.

{
  "mcpServers": {
    "memtro": {
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Claude Desktop

Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…

OpenCode

A remote server in opencode.json.

{
  "mcp": {
    "memtro": {
      "type": "remote",
      "url": "https://platform.memtro.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk-memtro-..."
      }
    }
  }
}

Pi

One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.

Any other client

Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.

Who may use it

The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared Joomla connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.

Ask it like this

  • › Which articles changed on the website this week?
  • › Show the full text of the pricing article.
  • › How many articles does each category hold?
  • › Which articles are unpublished?
  • › Unpublish the summer sale article.

Questions

Is this an official Joomla MCP server?
No. It is Memtro's MCP server with Memtro's Joomla connector behind it: the connector reads Joomla through its API with the credentials you connect on Dashboard → Connections, and Joomla publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
What does it cost?
Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
Can it change anything in Joomla?
Only when you ask, and only what it has been granted: create an article; edit an article's title, text, category or description; publish, unpublish, archive, trash or feature an article; delete an article that is in the trash. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
Which clients work?
Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.

Other MCP servers · Content and web

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time