快速开始PHP MCP开发的步骤指南

以下为快速开始PHP MCP开发的步骤指南,整合主流开发实践:

一、环境准备

  1. PHP版本要求
    需PHP 8.1+环境,推荐使用Composer管理依赖

    composer require php-mcp/server
    
  2. 开发工具配置
    在Cursor/VS Code中创建mcp.json配置文件,声明SSE传输协议:

    {
      "mcpServers": {
        "MyServer": {
          "url": "http://localhost:3000/sse",
          "type": "sse"
        }
      }
    }
    

二、核心开发步骤

  1. 声明MCP工具方法
    使用PHP 8属性注解暴露业务逻辑:

    use PhpMcp\Server\Attributes\McpTool;
    
    class WeatherService {
        #[McpTool(name: "get_weather", description: "获取城市天气")]
        public function execute(string $city): array {
            // 调用第三方API实现
            return ['city' => $city, 'temp' => 28, 'condition' => '晴'];
        }
    }
    
  2. 配置传输协议(二选一)

    • SSE模式(推荐Web应用):

      // 创建HTTP+SSE服务器
      $server = new \PhpMcp\Server\SseHttpServer();
      $server->addService(new WeatherService());
      $server->start(3000); // 监听3000端口
      
    • Stdio模式(适合CLI工具):

      $stdio = new \PhpMcp\Server\StdioTransport();
      $stdio->registerService(new WeatherService());
      $stdio->listen(); // 监听标准输入输出
      
  3. 客户端集成验证
    在Cursor中激活MCP服务:

    1. 点击@Add context图标
    2. 选择配置的mcp.json
    3. 输入自然语言指令(如“杭州天气”)
    4. 自动调用get_weather工具返回结构化数据

三、调试与优化

sequenceDiagram
    Cursor客户端->>+MCP服务器: SSE连接请求
    MCP服务器-->>-客户端: 返回sessionID
    客户端->>服务器: 调用get_weather工具
    服务器->>第三方API: 请求天气数据
    第三方API-->>服务器: JSON响应
    服务器-->>客户端: 格式化结果

调用时序图参考

四、进阶能力

功能实现方式应用场景
动态工具发现$server->scanDirectory('src/')插件系统扩展
数据库直连在工具方法内集成Eloquent业务数据查询
多传输协议兼容同时配置SSE+Stdio混合环境部署

注意事项:生产环境需在.env设置MCP_MAX_RETRIES=3防止SSE断连,并通过try/catch处理工具方法异常。

07-07
<think>我们正在讨论1Panel面板,这是一个现代化的服务器管理面板。根据引用内容,1Panel可以简化网站部署流程,支持自然语言控制服务器(通过MCP Server项目),并且安装过程通常通过运行一个shell脚本来完成。用户想了解1Panel的功能、使用教程和部署指南。 我将从功能、使用教程和部署指南三个方面来组织回答。 ### 1Panel 功能 1Panel 是一个开源的 Linux 服务器运维管理面板,具有以下主要功能: - **网站管理**:支持部署网站、管理域名、SSL证书等。 - **数据库管理**:支持MySQL、Redis等数据库的安装和管理。 - **容器管理**:支持Docker容器的创建、启动、停止和删除,以及Compose编排。 - **应用商店**:提供一键安装各种应用(如WordPress、Nextcloud等)。 - **文件管理**:提供在线文件管理器,支持上传、下载、编辑文件等操作。 - **计划任务**:支持定时任务的创建和管理。 - **安全防护**:提供防火墙管理、安全审计等功能。 - **MCP Server**:引用[2]提到,1Panel自带MCP Server项目,支持自然语言控制服务器。例如,输入自然语言指令(如“启动一个Redis容器并开放端口”),系统会自动识别并执行相应命令,还能根据服务器环境自动调整参数。 ### 1Panel 部署指南 根据引用[1]和[3],1Panel的安装通常通过运行一个Shell脚本完成。以下是部署步骤: 1. **准备环境**:确保你有一台运行Linux的服务器(推荐Ubuntu或CentOS),并确保服务器可以访问互联网。 2. **执行安装脚本**:在服务器上以root用户或具有sudo权限的用户执行以下命令: ```bash curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh ``` 安装过程中会提示设置面板的访问端口(默认是80端口)和登录密码。 3. **访问面板**:安装完成后,通过浏览器访问 `http://服务器IP地址:端口`,使用设置的用户名(默认为`admin`)和密码登录。 注意:如果服务器开启了防火墙,需要放行相应的端口(如80、443等)。 ### 1Panel 使用教程 以在1Panel上部署WordPress为例(引用[1]): 1. **登录1Panel**:输入用户名和密码登录面板。 2. **创建网站**: - 点击左侧菜单的“网站”选项,然后点击“创建网站”。 - 填写域名(如果没有域名,可以直接使用服务器IP地址),选择PHP版本(WordPress需要PHP环境)。 3. **安装数据库**: - 在创建网站时,可以选择同时创建MySQL数据库,填写数据库名称、用户名和密码。 4. **安装WordPress**: - 在网站创建完成后,进入网站管理界面,点击“一键部署”或“应用商店”。 - 在应用商店中找到WordPress,点击安装,按照提示填写网站信息、数据库信息等。 5. **完成安装**:安装完成后,访问你的域名或服务器IP地址,即可进入WordPress安装向导。 此外,1Panel还提供了其他功能的使用界面,例如: - **容器管理**:在“容器”菜单中,可以管理Docker容器和Compose项目。引用[2]提到的自然语言控制功能可以在MCP Server界面中使用(如果已安装该功能)。 - **文件管理**:在“文件”菜单中,可以上传、下载、编辑文件。 - **计划任务**:在“计划任务”菜单中,可以设置定时任务(如备份网站、数据库等)。 ### 总结 1Panel是一个功能强大的服务器管理面板,适合不熟悉命令行操作的运维人员使用。通过图形化界面,用户可以轻松管理服务器上的网站、数据库、容器等。同时,其自然语言控制功能(MCP Server)为运维提供了新的交互方式。 §§相关问题§§ 1. 1Panel支持哪些操作系统? 2. 如何备份和恢复1Panel的配置? 3. 1Panel与宝塔面板相比有什么优势? 4. 如何在1Panel中配置SSL证书? 5. 1Panel的MCP Server功能如何使用?</think>### 1Panel 功能详解 1Panel 是一款现代化的开源 Linux 服务器运维管理面板,核心功能包括: 1. **网站管理** - 支持 PHP/Java/Python 等环境部署 - 域名绑定与 SSL 证书自动签发(Let's Encrypt) - 流量监控与访问日志分析 *示例:引用[1]中通过 1Panel 成功部署 WordPress 博客* 2. **容器化管理** - Docker 容器可视化操作(启动/停止/编排) - 支持自然语言指令控制(MCP Server 功能) *如引用[2]所述:输入“启动 Redis 容器并开放端口”,系统自动执行* 3. **应用商店** - 提供 50+ 一键安装应用(MySQL/Nginx/Redis 等) - 支持自定义应用模板 4. **安全防护** - 实时防火墙配置 - 安全漏洞扫描 - 登录双因素认证 5. **资源监控** - CPU/内存/磁盘实时图表 - 网络流量可视化 --- ### 部署指南(基于引用[3]) #### 安装要求 - 操作系统:Ubuntu 20.04+/CentOS 7+ - 硬件:1核CPU/1GB内存(推荐2核4G如引用[1]配置) #### 安装步骤 ```bash # 执行官方安装脚本 curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh sudo bash quick_start.sh ``` 安装过程将提示: 1. 设置管理员邮箱/密码 2. 选择监听端口(默认 80) 3. 自动配置防火墙规则 安装完成后访问:`http://服务器IP:端口` --- ### 使用教程 #### 部署 WordPress(引用[1]实践) 1. **环境准备** - 在 1Panel 应用商店安装 OpenResty + PHP 8.2 + MySQL 8.0 2. **创建网站** ```mermaid graph TD A[网站管理] --> B[添加站点] B --> C{绑定域名} C -->|有域名| D[配置DNS解析] C -->|无域名| E[直接使用服务器IP] ``` 3. **数据库配置** - 在 MySQL 容器中创建专属数据库 - 设置用户名/密码(建议强密码) 4. **安装 WordPress** - 上传 WordPress 安装包到网站根目录 - 访问站点完成安装向导 - 启用 SSL 证书(面板自动申请) 5. **日常维护** - 在「计划任务」设置自动备份 - 通过「文件管理」编辑主题代码 --- ### 进阶功能 1. **自然语言控制(MCP Server)** - 在命令行窗口输入: `启动一个 PostgreSQL 容器,映射端口 5432,挂载数据卷到 /data` *系统自动解析并执行 Docker 命令(引用[2]特性)* 2. **AI 集成(引用[3]方案)** 通过 1Panel 部署 MaxKB + Ollama: ```bash # 在1Panel终端执行 1pctl install maxkb --with-ollama ``` 实现本地大模型运维助手 --- ### 常见问题解决方案 | 问题类型 | 解决方式 | |---------|----------| | 无法访问面板 | 检查防火墙放行端口 `sudo ufw allow 80/tcp` | | 应用安装失败 | 在「设置」>「镜像加速」切换国内源 | | 容器启动异常 | 查看 `/opt/1panel/logs/app.log` 日志 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值