PHP MCP计算服务器

一个运行在Docker中的简单PHP MCP计算服务器,提供数据库查询和计算功能,适用于AI工具集成和开发测试。

  • by vagkalosynakis
  • PHP
  • 本地部署
  • 更新于
在 GitHub 查看 vagkalosynakis/hackathon-mcp

使用说明

黑客马拉松mcp

在Docker中运行的简单PHP MCP计算器服务器。

先决条件

  • Docker&Docker编写
  • Node.js(仅用于MCP检查器测试)
  • 可选:Claude Desktop(或任何支持MCP的客户端)

快速入门(Docker)

# From repo root
docker compose up -d

# Install PHP deps inside the container
docker compose exec -T -w /app php-mcp composer install

# Sanity-check the server (runs until stopped)
docker compose exec -T -w /app php-mcp php server.php

TalentLMS数据库支持的工具(只读)

服务器公开了从MySQL数据库获取原始行的只读MCP工具(没有HTTP/auth调用):

  • get_users (user)
  • get_courses (course)
  • get_certification (user_to_certification)
  • get_learner_progress (course_progress)
  • get_learning_path (learning_path)
  • get_skill_content (skill)

数据库配置

  • DB_HOST (默认值: mysql)
  • DB_PORT (默认值: 3306)
  • DB_NAME (默认值: local_sandbox)
  • DB_USER (默认值: usr_local_sandbox176580221027)
  • DB_PASSWORD (默认值: 5GyGpkvv@l)

MySQL服务预计可以在外部Docker网络上访问 talentlms_backend-network (可通过以下方式配置 TALENTLMS_NETWORK_NAME).如果凭据或连接无效,启动会快速失败,并出现可操作的错误。

使用MCP检查员进行测试

npx @modelcontextprotocol/inspector docker compose exec -T -w /app php-mcp php server.php

检查员应展示工具 add, calculate和资源 config://calculator/settings.

添加到AI工具(例如Claude Desktop)

使用绝对的Compose文件路径,这样即使在其他地方启动,AI工具也能找到它。

~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "hackathon-mcp": {
      "command": "docker",
      "args": [
        "compose",
        "-f",
        "/Users/ekalosynakis/projects/hackathon-mcp/docker-compose.yml",
        "exec",
        "-T",
        "-w",
        "/app",
        "php-mcp",
        "php",
        "server.php"
      ]
    }
  }
}

然后重新启动/重新加载AI客户端的MCP服务器。如果您看到“缺少编写配置文件”,请仔细检查绝对值 -f 路径指向此仓库 docker-compose.yml.

备注

  • 该项目取决于 mcp/sdk;Composer配置已经允许所需的插件。
  • 容器在以下位置装载仓库 /app 并暴露端口 8080:80 (从 docker-compose.yml).

我的第一个PR。