🚀 1C位MCP服务器:站点管理
链接到Marketplace模块:https://marketplace.1c-bitrix.ru/solutions/delight.mcp/
演示模块:https://rutube.ru/video/06d0f3f63a2f588ed5f0695aa674b468/
该模块旨在通过使用AI代理来提高Bitrix项目的开发质量。
该模块根据官方规范实现MCP服务器 模型上下文协议它是一组终端点,用于将开发环境的AI代理直接与站点和服务器通信。
⚙️ MCP服务器功能
资源:
- 添加文档 Bitrix框架 (她https://docs.1c-bitrix.ru/)到代理可以直接访问的MCP服务器资源
工具:
- 环境信息:
- 系统信息: - 操作系统名称; - 主机名; - 当前用户的名称; - 磁盘大小(以字节为单位); - 可用磁盘空间(以字节为单位); - Bitrix信息: - 编辑; - 主模块版本; - 安装的模块; - 关于PHP的信息: - PHP版本; - 连接的扩展; - 限制可用RAM容量; - PHP脚本的最大运行时间; - 数据库信息: - 数据库类型; - 数据库服务器版本; - 连接主机; - 数据库名称;
- 现场API:
- 模块中可用功能列表; - 模块中可用事件列表; - 在索引数据库模块中搜索函数; - 模块函数代码及其描述phpdoc; - 通过反射机制在整个代码中搜索功能;
- 在服务器上执行PHP代码;
- 在服务器上执行shell命令;
- 在服务器上执行SQL查询;
- 搜索Bitrix Framework文档(需要额外的Embeddings生成服务):
- 在索引之前规范Bitrix Framework文档的Markdown文件。 - 以Embeddings格式索引Markdown Bitrix Framework文档文件,以便按意义而不是按输入进行搜索; - 根据人工智能代理的请求,对Bitrix Framework文档进行向量搜索。
🔔 模块中可用的事件
≫事件名称≫何时调用≫参数≫ |-----------------------------|:--------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | *OnForgeExec* 在执行shell命令之前 ['command' => (string) $command] 团队执行。 | *OnAfterExec* shell命令执行后 ['output' => (array) $output] 带有执行命令行输出的数组› | *OnBeforeval* 在执行PHP代码之前 ['code' => (string) $code] 代码执行。 | *事后评估* 完成PHP代码后 ['output' => (string) $output] 执行代码的屏幕输出›\ | *OnForgeSQL* 在执行SQL代码之前 ['query' => (string) $query] SQL执行请求›\ | *OnAfterSQL* SQL代码执行后 [ 'columns' => (array) $columns, 'rows' => (array) $rows, 'rowCount' => (int) count($rows), 'query' => (string) $query ]; SQL查询结果数组› | *未生成嵌入* –在将数据发送到Embadding生成服务之前。 [ 'url' => (string) self::GENERATE_EMBEDDINGS_ENDPOINT, 'data' => Json::encode(['text' => $text]), 'headers' => [ 'Content-Type' => 'application/json', ], 'timeout' => $this->timeout, 'waitResponse' => true ] 查询数据数组› | *OnAfterGenerate嵌入* 从Embadding Generation服务获得数据后 ['response' => (bool\|string) $response] 通过bitrixmainwebhttpclient的post查询结果›
🛡️ 安全
人工智能代理对模块的访问是通过JWT令牌实现的,它可以指定令牌的寿命和对单个终端点的权限。您可以从模块设置页中删除令牌ID,以阻止对以前发布的令牌的访问。
您可以将对模块设置的访问限制在某些用户组中。
可对外部模块API的请求/响应进行日志管理。
该模块具有潜在的危险功能 eval 和 exec防病毒软件可能会将其视为恶意代码。 这些功能允许AI代理在具有令牌权限的情况下在服务器上执行任意代码。 为了避免防病毒误报,建议将模块添加到例外情况中。模块代码是开放的,您可以独立验证这些功能的使用是否安全。
建议只在测试平台上使用具有PHP/Shell/SQL执行权限的代币!请记住,AI代理错误,可能会删除或破坏您的数据。
🔌 MCP服务器连接示例
Cursor
文件 mcp.json:
{
"mcpServers": {
"bitrix": {
"command": "npx",
"args": [
"mcp-remote",
"https://{ВАШ_ДОМЕН}/bitrix/services/main/ajax.php?action=delight:mcp.Rpc.handler",
"--header",
"Authorization: Bearer {ВАШ_ТОКЕН}"
]
}
}
}JetBrains IDE (AI Assistant)
项目文件 /.ai/mcp/mcp.json:
{
"mcpServers": {
"bitrix": {
"command": "npx.cmd",
"args": [
"mcp-remote",
"https://{ВАШ_ДОМЕН}/bitrix/services/main/ajax.php?action=delight:mcp.Rpc.handler",
"--header",
"Authorization: Bearer {ВАШ_ТОКЕН}"
]
}
}
}命令指示功能 npx
字段值 command 可能取决于操作系统和环境。实例:
"command": "npx""command": "npx.cmd""command": "C:\\Program Files\\nodejs\\npx.cmd"如果出现启动错误,请指定完整的路径 npx.
授权功能
在某些系统中,标准标题 Authorization 在后端无法读取,在这种情况下,可以使用标题 X-Authorization.
🧠 Embeddings服务连接
*T.千Bitrix Framework文档将自动添加到MCP服务器资源中,并可根据请求提供给AI代理,因此不迫切需要配置文档搜索,这只能节省上下文。*
Bitrix Framework文档搜索服务需要与Embeddings生成服务交互,而Embeddings生成服务不是按内容而是按意义进行搜索。 主要的方法是在自己的服务器上升级Python微服务(Sentence Transformers),微服务代码也在模块中提供,但您可以使用其他选项(OpenAI、Olama等)-您需要根据事件使用它们。 OnBeforeGenerateEmbedding 覆盖Embeddings生成请求参数和其他事件 OnAfterGenerateEmbedding 将响应发送到JSON视图字符串
"[-0.22979317605495453,-0.1455831080675125,-0.2588725686073303,0.0562337264418602,...]"安装和配置Embeddings微服务
此服务应在后台运行,并在服务器重新启动后自动启动。
下面的说明是为了 BitrixEnv 9+ 假设所有命令都是通过SSH从 根用户。所有的方法都需要更新到你的环境中。
Шаг 1: Установка Python и зависимостей
这些命令将安装Python,为服务创建一个独立的环境,并将所有必要的库加载到其中。
# Устанавливаем Python 3 и менеджер пакетов pip
sudo yum install -y python3 python3-pip
# Задаем путь к модулю
MODULE_PATH="/home/bitrix/www/bitrix/modules/delight.mcp"
# Переходим в директорию, где будет работать сервис
cd $MODULE_PATH/python
# Создаем виртуальное окружение в папке 'venv'
python3 -m venv venv
# Активируем окружение, обновляем pip и устанавливаем библиотеки
source venv/bin/activate
python3 -m pip install --upgrade pip
pip install fastapi uvicorn "sentence-transformers[txt]"
deactivate
# Меняем владельца всех файлов на bitrix, чтобы у сервиса были права доступа
sudo chown -R bitrix:bitrix $MODULE_PATH/pythonШаг 2: Создание фоновой службы (systemd)
以下命令将创建、配置和运行后台进程。
# Задаем имя файла службы
SERVICE_FILE="/etc/systemd/system/delight.embeddings.service"
# Задаем путь к модулю
MODULE_PATH="/home/bitrix/www/bitrix/modules/delight.mcp"
# Создаем unit-файл для systemd с помощью команды tee
# Это позволяет запускать сервис от пользователя bitrix и автоматически перезапускать его
sudo tee $SERVICE_FILE > /dev/null
Шаг 3: Проверка статуса
要确保服务成功运行,请执行以下操作:
sudo systemctl status delight.embeddings.service
您必须查看状态 `active (running)`如果出现错误,可以由团队查看 `sudo journalctl -u delight.embeddings.service`.
### 💡 其他1C Bitrix开发人员解决方案:
- [WebP图像转换器到现代格式“即时”](https://marketplace.1c-bitrix.ru/solutions/delight.webpconverter/) 🏆 2000+安装
- [Lazyload Lite-延迟加载图像](https://marketplace.1c-bitrix.ru/solutions/delight.lazyloadlite/) 🏆 2000+安装
- [LazyLoad Pro-延迟下载图像、视频和iFrame,只需单击](https://marketplace.1c-bitrix.ru/solutions/delight.lazyload/)
- [选择交货日期和时间](https://marketplace.1c-bitrix.ru/solutions/delight.deliverydatetime/)
- [使用购物车规则中的PHP条件,以实现自己的折扣和加价条件](https://marketplace.1c-bitrix.ru/solutions/delight.phpdiscounts/)
- [购物车规则中的高级累积折扣](https://marketplace.1c-bitrix.ru/solutions/delight.cumulativediscounts/)
- [异步器:异步加载组件](https://marketplace.1c-bitrix.ru/solutions/delight.async/)
- [资源加载程序](https://marketplace.1c-bitrix.ru/solutions/delight.resourcepreloader/)
- [HTML/JS/CSS微型化](https://marketplace.1c-bitrix.ru/solutions/delight.minifier/)
### 👨💻 作者
[德米特里·克罗托夫](https://t.me/delighter)
模块有用吗?你可以离开。 [评价](https://marketplace.1c-bitrix.ru/solutions/delight.mcp/) 感谢开发者:
https://yoomoney.ru/to/41001510540341