Bagisto MCP服务器
Bagisto MCP Server
Model Context Protocol for Bagisto E-Commerce
Laravel包通过以下方式向Claude等LLM(大型语言模型)公开Bagisto电子商务功能 模型上下文协议(MCP)。这使AI代理能够安全地与您的Bagisto商店交互,以搜索产品、管理购物车、检查订单等,所有这些都可以通过专用的管理面板进行控制。
______________________________________________________________________
📋 目录
______________________________________________________________________
🚀 特性
- 原生PHP MCP服务器:直接在Laravel应用程序中运行
stdio. - 管理面板集成:直接从Bagisto管理员启用/禁用工具和管理设置。
- 精细控制:切换单个工具,如
products.search或customer.profile. - 认证:使用基于令牌的身份验证保护敏感工具(Sanctum)。
- 双重运输:支持本地Stdio(用于Claude Desktop)和HTTP端点方法。
______________________________________________________________________
📦 安装
1.通过Composer安装
composer require heygeeks/bagisto-mcp2.发布资产和配置
发布配置文件和数据库迁移:
php artisan vendor:publish --provider="HeyGeeks\BagistoMCP\MCPServiceProvider"3.运行迁移
为工具设置创建必要的数据库表:
php artisan migrate4.清除缓存
确保新路由和配置已加载:
php artisan route:clear
php artisan config:clear______________________________________________________________________
⚙️ 配置
主配置文件位于 config/mcp.php.
return [
'enabled' => true, // Master switch for the MCP server
'endpoint' => 'mcp', // HTTP Endpoint (e.g., yourstore.com/mcp)
'auth' => 'sanctum', // Auth method for protected tools
'tools' => [ // Registered Tool Classes
'products.list' => \HeyGeeks\BagistoMCP\Tools\ProductListTool::class,
// ...
],
];______________________________________________________________________
🖥️ 管理面板
直接从Bagisto管理面板管理MCP服务器。
- 登录到您的 陌生人.
- 导航至 主控程序 在侧边栏中。
- 仪表盘:查看服务器状态和工具统计信息。
- 设置:配置速率限制和端点URL等全局设置。
- 工具:打开/关闭单个工具并配置其特定设置。
备注:如果禁用管理面板中的工具,则连接的LLM将立即无法使用该工具。
______________________________________________________________________
🤖 Claude桌面集成
要在Claude Desktop中使用Bagisto MCP,您需要将其配置为运行PHP服务器脚本。
1.找到服务器脚本
服务器脚本位于: packages/heygeeks/bagisto-mcp/bin/server.php (或内部 vendor/heygeeks/bagisto-mcp/bin/server.php 如果通过供应商安装)
2.编辑Claude配置
编辑您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"bagisto": {
"command": "php",
"args": [
"/ABSOLUTE/PATH/TO/YOUR/PROJECT/packages/heygeeks/bagisto-mcp/bin/server.php"
]
}
}
}重要:替换 /ABSOLUTE/PATH/TO/YOUR/PROJECT 带有Laravel项目根的实际完整路径。
3.重启克劳德
重新启动克劳德桌面。你应该看看Bagisto工具(例如。, products_search, store_info)在工具选择器中可用。
______________________________________________________________________
🌐 公共访问(HTTP/SSE)
如果需要将MCP服务器暴露给无法使用SSH的用户,可以使用 HTTP端点。这允许客户端通过服务器发送事件(SSE)进行连接。
端点URL
默认端点为: https://your-store.com/mcp
(您可以更改 /mcp 前缀在 config/mcp.php)
客户端连接
要将标准MCP客户端(如Claude Desktop)连接到HTTP端点,您需要一个本地网桥脚本,因为Claude只支持本地命令。
我们提供了一个Node.js桥接脚本 packages/heygeeks/bagisto-mcp/client/.
1.设置客户端网桥
cd packages/heygeeks/bagisto-mcp/client
npm install2.配置克劳德桌面
编辑您的 claude_desktop_config.json:
{
"mcpServers": {
"bagisto-http": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/bagisto-mcp/client/remote-client.js",
"https://your-store.com/mcp"
]
}
}
}(如果您有一个auth令牌,请将其作为第二个参数传递: "args": [..., "https://url...", "YOUR_TOKEN"])
安全警告
\[!警告\] 公开MCP服务器允许任何人查询您的产品目录。 - 认证:默认情况下,端点是公共的,但敏感工具需要令牌。 - 超文本传输安全协议:始终对远程URL使用HTTPS。
______________________________________________________________________
🔒 远程服务器使用(SSH隧道)
对于 管理员和开发人员,推荐的安全方法是使用 SSH隧道.
配置(克劳德桌面)
更新您的本地 claude_desktop_config.json:
{
"mcpServers": {
"bagisto-ssh": {
"command": "ssh",
"args": [
"user@your-server.com",
"php",
"/var/www/html/bagisto/packages/heygeeks/bagisto-mcp/bin/server.php"
]
}
}
}SSH的重要注意事项
- 用户权限:以具有项目读取权限的用户身份运行。
- 加密:流量通过SSH完全加密。
______________________________________________________________________
🛠️ 可用工具
| 类别 | 工具名称 | 描述 | 身份验证 |
|---|---|---|---|
| 产品 | products.list | 列出具有筛选功能的产品 | ❌ |
products.search | 产品全文搜索 | ❌ | |
products.detail | 按ID/SKU获取产品详细信息 | ❌ | |
| 分类 | categories.list | 列出所有产品类别 | ❌ |
| 客户 | customer.login | 验证客户身份 | ❌ |
customer.profile | 获取客户资料 | ✅ | |
| 订单 | orders.status | 检查订单状态 | ❌ |
orders.history | 查看订单历史记录 | ✅ | |
| 购物车 | cart.preview | 查看当前购物车 | ❌ |
| 商店 | store.info | 获取店铺配置 | ❌ |
| 愿望清单 | wishlist.view | 查看客户愿望清单 | ✅ |
______________________________________________________________________
🤝 贡献
我们欢迎捐款!
- 分叉存储库。
- 创建要素分支。
- 提交拉取请求。
📄 许可证
MIT许可证。看 许可证 了解详情。
