Token导航 LogoToken导航TokenDH.com
Opencart MCP logo
开发工具stdio官方级别未说明来源级核验

Opencart MCP

MCP Server

OpenCart MCP Server是一个通过自然语言查询和编辑OpenCart商店的工具,提供产品、订单、客户、Journal3模块、SEO URL和CMS页面等36种功能,适用于商店所有者、开发者和代理商。

工具数

36

提示词数

0

GitHub Stars

7

资源数

0
PythonClaude开发工具ClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chrisbray85

提供方

chrisbray85

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv .venv && source .venv/bin/activate

详细介绍

OpenCart MCP服务器

从Claude Code查询和编辑您的OpenCart商店。产品、订单、客户、Journal3模块、SEO URL、CMS页面——36个工具,全部通过自然语言。

专为厌倦了SSH+phpMyAdmin+管理面板点击以获得简单答案的商店所有者和开发人员而构建。

"Which products are low on stock?"
"Update the meta description for category 25"
"Show me today's orders over £50"
"Find the Journal3 module that contains our FAQ text and fix the typo"

它只是工作。你问,克劳德调用正确的工具,你就会得到答案。

💻 更喜欢终端? 结账 opencart-cli --相同的OpenCart理解,漂亮的表格,火花线,壳中的AI(opencart ask "...")交互式REPL,实时订单观看。 pip install opencart-cli.

______________________________________________________________________

默认安全

如果你要将AI连接到实时商店,这很重要。这里的每一个决定都考虑到了这一点。

  • 只读查询query() 仅允许选择、显示、描述、解释
  • DDL被阻止 --DROP、ALTER、TRUNCATE、CREATE永远不会运行,即使通过 run_sql()
  • SSH隧道 --数据库凭据保留在加密连接中,从不公开
  • 路径遍历被阻止get_file()write_file() 拒绝 .. 在路径
  • 写确认 --Claude Code会在任何写入工具执行之前提示您
  • 您的服务器上没有运行任何内容 --没有代理,没有守护进程,没有上传PHP文件。服务器在您的计算机上运行,并通过SSH连接

你可以把它指向生产商店,不用担心它会做出愚蠢的事情。

______________________________________________________________________

你实际上能用它做什么?

店主

  • “这周来了多少订单?”→ 每日细分的即时销售摘要
  • “什么快用完了?”→ 按数量排序的库存报告,最低优先
  • “将产品47的价格更新为29.99”→ 完成,单击一次确认
  • “显示“关于我们”页面内容”→ 完整的CMS页面,可随时查看或编辑

开发者

  • “显示oc_order的架构”→ 不打开phpMyAdmin的列定义
  • “列出所有OCMOD修改及其状态”→ 即时审计
  • “安装了哪些扩展?”→ 完整列表,无需管理面板
  • “对订单表运行此SELECT”→ 带有安全栏的自定义SQL

管理多家门店的机构

  • 在同一个Claude会话中作为单独的MCP实例运行dev和live
  • opencart_dev__get_products vs opencart_live__get_products --没有混淆
  • 比较不同环境中的库存水平、设置或模块内容

Journal3用户

  • 列出、检查和编辑J3模块——常见问题解答手风琴、滑块、横幅、产品选项卡
  • 读取并更新主题设置和每个皮肤的皮肤设置
  • 查找/替换模块内部的JSON --安全地更改文本,而无需重写整个模块
  • 如果未安装Journal3,J3工具将返回空结果(而不是错误),因此服务器可以使用任何主题

______________________________________________________________________

如何比较

任务管理面板SSH+SQL此MCP服务器
检查库存水平点击页面写一个查询,运行它“什么库存不足?”
更新产品价格查找产品、编辑、保存手动更新查询“将产品47设置为29.99英镑”
读取J3模块数据库中的JSON blob从phpMyAdmin复制粘贴“显示模块505”
编辑常见问题文本查找模块,解码JSON,编辑,重新编码痛苦“在模块505中将X替换为Y”
销售报告报告页面,手动筛选编写汇总查询“过去7天的销售摘要”
检查SEO URL管理>营销>SEO URL,分页从oc_SEO_URL“显示包含'耳机'的SEO URL”中选择
管理CMS页面管理>目录>信息直接访问数据库“显示关于我们页面”

______________________________________________________________________

快速开始

1.安装

git clone https://github.com/chrisbray85/opencart-mcp.git
cd opencart-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

2.配置

cp .env.example .env

填写您的服务器详细信息:

OPENCART_SSH_HOST=your-server-ip
OPENCART_SSH_USER=your-ssh-username
OPENCART_SSH_KEY=~/.ssh/id_ed25519
OPENCART_DB_USER=your_db_user
OPENCART_DB_PASS=your_db_password
OPENCART_DB_NAME=your_opencart_database
OPENCART_ROOT=/path/to/opencart
OPENCART_STORAGE=/path/to/storage
在哪里找到你的路: - OPENCART_ROOT --包含以下内容的目录 index.php, admin/, catalog/, system/ - OPENCART_STORAGE --检查你的 config.php 为了 DIR_STORAGE 值(通常在OpenCart 3.0.3.3+的web根目录之外)

使用DDEV进行本地开发?

OPENCART_SSH_HOST=ddev 和点 OPENCART_ROOT 在本地项目目录中,命令将通过以下方式运行 ddev exec 在容器内部而不是SSH中:

OPENCART_SSH_HOST=ddev
OPENCART_DB_USER=db
OPENCART_DB_PASS=db
OPENCART_DB_NAME=db
OPENCART_ROOT=/Users/you/Sites/your-opencart-project

容器路径(/var/www/html 等等)是自动解析的——您只需要本地项目路径。(DDEV支持由 @冰熊 --谢谢!)

3.测试连接

source .venv/bin/activate
PYTHONPATH=src python -c "
from opencart_mcp.config import Config
from opencart_mcp.db import OpenCartDB
import json

config = Config.from_env()
db = OpenCartDB(config)
result = db.run_query('SELECT COUNT(*) as product_count FROM oc_product WHERE status = 1')
print(json.dumps(result, indent=2))
db.close()
"

你应该看看这样的东西 [{"product_count": "42"}]如果没有,请检查 故障排除.

4.添加到克劳德代码

VS Code (Claude Code extension)

打开您的VS代码设置JSON(Cmd+Shift+P → “打开用户设置(JSON)”)并添加:

{
  "claude.mcpServers": {
    "opencart": {
      "command": "/absolute/path/to/opencart-mcp/.venv/bin/python",
      "args": ["-m", "opencart_mcp.server"],
      "cwd": "/absolute/path/to/opencart-mcp",
      "env": {
        "PYTHONPATH": "/absolute/path/to/opencart-mcp/src",
        "OPENCART_SSH_HOST": "your-server-ip",
        "OPENCART_SSH_USER": "your-ssh-username",
        "OPENCART_SSH_KEY": "~/.ssh/id_ed25519",
        "OPENCART_DB_USER": "your_db_user",
        "OPENCART_DB_PASS": "your_db_password",
        "OPENCART_DB_NAME": "your_opencart_database",
        "OPENCART_ROOT": "/path/to/opencart",
        "OPENCART_STORAGE": "/path/to/storage"
      }
    }
  }
}

重新启动VS Code,工具将出现在Claude Code面板中。

Claude Code CLI

添加 ~/.claude.json (全球)或 .claude/settings.json (项目层面):

{
  "mcpServers": {
    "opencart": {
      "command": "/absolute/path/to/opencart-mcp/.venv/bin/python",
      "args": ["-m", "opencart_mcp.server"],
      "cwd": "/absolute/path/to/opencart-mcp",
      "env": {
        "PYTHONPATH": "/absolute/path/to/opencart-mcp/src",
        "OPENCART_SSH_HOST": "your-server-ip",
        "OPENCART_SSH_USER": "your-ssh-username",
        "OPENCART_SSH_KEY": "~/.ssh/id_ed25519",
        "OPENCART_DB_USER": "your_db_user",
        "OPENCART_DB_PASS": "your_db_password",
        "OPENCART_DB_NAME": "your_opencart_database",
        "OPENCART_ROOT": "/path/to/opencart",
        "OPENCART_STORAGE": "/path/to/storage"
      }
    }
  }
}

重新启动Claude Code,工具将自动加载。

JetBrains (Claude Code extension)

JetBrains使用相同的 ~/.claude.json 配置为CLI。按照上面的CLI说明重新启动IDE。

______________________________________________________________________

示例提示

这些都是开箱即用的。只需将它们键入Claude Code即可。

产品与库存

"Show me all products with less than 5 in stock"
"Get full details for product 123 including options and images"
"Search for products with 'wireless' in the name"
"Update the price of product 47 to 34.99"

订单和客户

"Show me today's orders"
"Get order 5892 with line items and status history"
"Find customer john@example.com — how many orders have they placed?"
"Sales summary for the last 7 days with top sellers"

SEO和内容

"List all SEO URLs containing 'sale'"
"Update the SEO URL for product 23 to 'wireless-mouse-pro'"
"Show me the FAQ page content"
"Replace 'old company name' with 'new company name' in the About Us page"

日志3主题

"List all Journal3 FAQ modules"
"Show me the full content of module 505"
"Replace 'Free shipping over £50' with 'Free shipping over £75' in the banner module"
"What skin settings are configured for skin 1?"

技术的

"Show the schema for oc_order_product"
"List all tables matching 'journal3'"
"Run: SELECT order_id, total FROM oc_order WHERE total > 100 ORDER BY date_added DESC LIMIT 10"
"What OCMOD modifications are active?"

______________________________________________________________________

全部36个工具

阅读(24)

工具它做什么
get_products搜索有库存、价格、SEO数据的产品。按类别筛选
get_product完整的产品详细信息——图片、选项、类别、属性
get_orders按状态和日期范围筛选的最近订单
get_order包含行项目、总计、状态历史记录的完整订单
get_customers按姓名/电子邮件搜索,包括订单数量和总支出
get_categories包含产品数量和SEO URL的类别树
get_stock_report按库存水平排序的所有产品(最低优先)
get_settings按组/键设置OpenCart核心
get_j3_settingsJournal3主题设置
get_j3_skin_settings日志3每个皮肤的皮肤/布局设置
get_modules按类型分类的Journal3模块--在模块内搜索内容
get_j3_module任何J3模块的完整模块JSON数据
get_information_pages列出带有内容预览的CMS页面(关于我们、常见问题解答、条款和条件)
get_information_page单个CMS/信息页面的完整HTML内容
get_order_statuses所有带有ID的订单状态映射
get_product_attributes产品属性(重量、储存条件等)
sales_summary任何时期的收入、畅销书、每日统计数据
get_modificationsOCMOD修改及其状态
get_extensions已安装扩展列表
get_seo_urls带有过滤功能的SEO URL映射
query自定义只读SQL(仅限选择/显示/描述/解释)
get_table_schema任何表的列定义
list_tables列出与模式匹配的表
get_file从服务器读取文件(路径遍历被阻止)

写作(12)

工具它做什么
update_product更新价格、股票、名称、SEO标题、元描述
update_setting更改OpenCart核心设置
update_j3_setting更改Journal3主题设置
update_j3_skin_setting更改Journal3皮肤设置
update_j3_module在J3模块JSON中查找/替换文本(横幅、常见问题解答、滑块)
update_information在CMS页面HTML中查找/替换文本(关于我们、条款和条件等)
update_seo_url创建或更新SEO URL映射
update_category更新类别名称、元、状态
write_file通过SFTP将文件写入服务器
run_sql执行插入/更新/删除(DDL被阻止)
clear_cache刷新OpenCart+Journal3缓存
refresh_modifications重新编译OCMOD修改缓存

______________________________________________________________________

运作原理

Your machine                          Your server
┌──────────────┐                     ┌──────────────┐
│ Claude Code  │                     │              │
│      ↓       │     SSH tunnel      │   PHP cli    │
│  MCP Server  │ ──────────────────→ │      ↓       │
│  (Python)    │   PHP via stdin     │   MySQL      │
│              │ ←────────────────── │   (JSON)     │
└──────────────┘                     └──────────────┘

服务器正在运行 在您的机器上。它通过SSH连接到您的OpenCart服务器,通过stdin将PHP传输到远程解释器,并返回JSON。您的服务器上没有安装任何东西。没有上传文件,没有清理,没有打开端口。

  • 通过stdin使用PHP --适用于任何PHP版本,不写入磁盘
  • SSH隧道 --凭据永远不会离开加密连接
  • 参数 --纯Python SSH,无Python 3.10以外的系统依赖+

______________________________________________________________________

多家店铺

在同一个Claude会话中作为单独的实例运行dev和live:

{
  "mcpServers": {
    "opencart_dev": {
      "command": "/path/to/opencart-mcp/.venv/bin/python",
      "args": ["-m", "opencart_mcp.server"],
      "cwd": "/path/to/opencart-mcp",
      "env": { "OPENCART_DB_NAME": "my_dev_database", "..." }
    },
    "opencart_live": {
      "command": "/path/to/opencart-mcp/.venv/bin/python",
      "args": ["-m", "opencart_mcp.server"],
      "cwd": "/path/to/opencart-mcp",
      "env": { "OPENCART_DB_NAME": "my_live_database", "..." }
    }
  }
}

Claude自动为工具添加前缀-- opencart_dev__get_products vs opencart_live__get_products --因此,您查询的是哪个商店,这并不令人困惑。

______________________________________________________________________

经过测试

组件版本
OpenCart3.0.3.2-3.0.5.0(任何3.x版本都可以)
PHP5.6+(服务器端)
Python3.10+(本地机器)
Journal33.x(可选——没有它一切正常)
主机VPS、专用服务器、SSH共享主机
客户端Claude Code CLI、VS Code扩展、JetBrains扩展

每天在生产商店使用,有100多种产品、数千份订单和Journal3主题。

______________________________________________________________________

故障排除

SSH连接失败

# Test SSH works
ssh your-user@your-server "echo ok"

# Test PHP is available
ssh your-user@your-server "echo '<?php echo 1;' | php"

如果SSH需要密码而不是密钥:

ssh-copy-id -i ~/.ssh/id_ed25519.pub your-user@your-server

空结果

  • 跑吧 测试脚本 检查凭据
  • OPENCART_ROOT 应指向包含以下内容的目录 index.php
  • OPENCART_STORAGE 应该匹配 DIR_STORAGE 在你的 config.php

cPanel/共享主机

cPanel打印 tput: No value for $TERM SSH上的警告。服务器会自动过滤这些内容。

查询速度慢

默认超时为30秒。如果查询速度较慢,请检查SSH是否通过VPN(增加延迟)或服务器是否负载过重。

未找到日志3表

如果你没有运行Journal3,这很正常。J3工具返回空结果而不是错误。

常见路径问题

托管典型的OPENCART_ROOT典型的OPENCART_STORAGE
cPanel/home/user/public_html/home/user/oc_storage
Plesk/var/www/vhosts/domain/httpdocs网络根目录上方
自定义VPS/var/www/html/var/www/opencart变化多样

检查你的 config.php --两者皆有 DIR_APPLICATIONDIR_STORAGE 在那里定义。

______________________________________________________________________

路线图

  • \[\]支持OpenCart 4.x
  • \[\]优惠券和凭证管理工具
  • \[\]订单状态更新工具
  • \[\]大宗产品进出口
  • \[\]客户群管理
  • \[\]仪表板摘要工具(一个提示,完整商店概览)

有功能请求吗? 打开一个问题.

______________________________________________________________________

更新日志

发布 完整的历史。

______________________________________________________________________

贡献

欢迎发布问题和PR。如果您在上面未列出的托管设置或OpenCart版本上运行此程序,请告诉我们哪些有效,哪些无效。

许可证

麻省理工学院——见 许可证 了解详情。

目录标签

目录标签

PythonClaude开发工具OpenCart管理本地部署自然语言处理商店管理多商店管理

支持客户端

ClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

36

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP