使用说明
黑客马拉松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。
