Files
mcp-mokosuite-api/docs/INSTALLATION.md
T
Jonathan Miller ea0a028128
Changelog Validation / Validate CHANGELOG.md (push) Has been cancelled
Standards Compliance / Secret Scanning (push) Has been cancelled
Standards Compliance / License Header Validation (push) Has been cancelled
Standards Compliance / Repository Structure Validation (push) Has been cancelled
Standards Compliance / Coding Standards Check (push) Has been cancelled
Standards Compliance / Workflow Configuration Check (push) Has been cancelled
Standards Compliance / Documentation Quality Check (push) Has been cancelled
Standards Compliance / README Completeness Check (push) Has been cancelled
Standards Compliance / Git Repository Hygiene (push) Has been cancelled
Standards Compliance / Script Integrity Validation (push) Has been cancelled
Standards Compliance / Line Length Check (push) Has been cancelled
Standards Compliance / File Naming Standards (push) Has been cancelled
Standards Compliance / Insecure Code Pattern Detection (push) Has been cancelled
Standards Compliance / Version Consistency Check (push) Has been cancelled
CodeQL Security Scanning / Analyze (actions) (push) Has been cancelled
CodeQL Security Scanning / Analyze (javascript) (push) Has been cancelled
Standards Compliance / Dead Code Detection (push) Has been cancelled
Standards Compliance / File Size Limits (push) Has been cancelled
Standards Compliance / Binary File Detection (push) Has been cancelled
Standards Compliance / TODO/FIXME Tracking (push) Has been cancelled
Standards Compliance / Code Complexity Analysis (push) Has been cancelled
Standards Compliance / Broken Link Detection (push) Has been cancelled
Standards Compliance / API Documentation Coverage (push) Has been cancelled
Standards Compliance / Accessibility Check (push) Has been cancelled
Standards Compliance / Performance Metrics (push) Has been cancelled
Standards Compliance / Code Duplication Detection (push) Has been cancelled
Standards Compliance / Unused Dependencies Check (push) Has been cancelled
Standards Compliance / Dependency Vulnerability Scanning (push) Has been cancelled
Standards Compliance / Terraform Configuration Validation (push) Has been cancelled
CodeQL Security Scanning / Security Scan Summary (push) Has been cancelled
Standards Compliance / Enterprise Readiness Check (push) Has been cancelled
Standards Compliance / Repository Health Check (push) Has been cancelled
Standards Compliance / Compliance Summary (push) Has been cancelled
Sync Version from README / Propagate README version (push) Has been cancelled
docs: add installation guide, architecture overview, and API reference
- docs/INSTALLATION.md: setup instructions, config format, troubleshooting
- docs/ARCHITECTURE.md: component overview and design decisions
- docs/API.md: complete MCP tool reference with all parameters

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 12:36:31 -05:00

3.8 KiB

Installation

Prerequisites

  • Node.js 20.0.0 or later
  • npm (included with Node.js)
  • A Joomla 4/5/6 site with the Web Services API enabled
  • A Joomla API token (generated in Users > Edit User > API Token tab)

Install

git clone https://git.mokoconsulting.tech/MokoConsulting/joomla-api-mcp.git
cd joomla-api-mcp
npm install
npm run build
npm run setup

The setup wizard will prompt for:

  1. Connection name — a label for this site (e.g. production, staging)
  2. Joomla site URL — the base URL of the site (e.g. https://www.example.com)
  3. API token — the Joomla API token for authentication
  4. TLS verification — whether to skip certificate verification (for self-signed certs)

Run npm run setup again to add more connections.

Register with Claude Code

Add to your global Claude Code config (~/.claude.json):

{
  "mcpServers": {
    "joomla-api": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/joomla-api-mcp/dist/index.js"]
    }
  }
}

Or add to a project-level .mcp.json:

{
  "mcpServers": {
    "joomla-api": {
      "command": "node",
      "args": ["/path/to/joomla-api-mcp/dist/index.js"]
    }
  }
}

Restart Claude Code after adding the server.

Generating a Joomla API Token

  1. Log in to the Joomla admin panel
  2. Go to Users > Manage > select your user
  3. Click the API Token tab
  4. Click Save to generate a token
  5. Copy the token value — it will not be shown again

The token must belong to a user with sufficient permissions for the operations you want to perform (e.g. Super Users for full access).

Configuration File

The config is stored at ~/.joomla-api-mcp.json:

{
  "defaultConnection": "production",
  "connections": {
    "production": {
      "baseUrl": "https://www.example.com",
      "apiToken": "your-api-token"
    },
    "staging": {
      "baseUrl": "https://staging.example.com",
      "apiToken": "your-staging-token",
      "insecure": true
    }
  }
}
Field Required Description
defaultConnection Yes Name of the default connection
connections Yes Map of named connections
baseUrl Yes Joomla site URL (no trailing slash)
apiToken Yes Joomla API token (Bearer auth)
insecure No Set true to skip TLS verification

Verification

After setup, verify the server starts correctly:

npm start

If configured correctly, the server will start listening on stdio. If the config is missing or invalid, it will print an error with instructions.

Troubleshooting

"Failed to load config" error

The config file ~/.joomla-api-mcp.json is missing or malformed. Run npm run setup to create it.

"terminated" or connection errors

  • Verify the Joomla site is reachable from your machine
  • For self-signed certs, set "insecure": true in the connection config
  • Ensure the API token is valid and not expired

"Resource not found" on certain endpoints

Some Joomla API endpoints require specific components to be installed and enabled. For example, the menus API requires com_menus to expose its Web Services routes.

Revision History

Date Version Author Notes
2026-04-23 0.0.1 jmiller Initial installation guide