gatling_mcp
一个内部有alita mcp的docker容器,用于执行Gatling脚本、Claude自动化,并为本地mcp服务器提供可扩展的工具。
1.如何构建容器
使用以下命令构建Docker镜像:
docker build -t getcarrier/gatling_mcp:claude .2.如何启动容器
使用所需的环境变量运行容器:
docker run -d -ti \
-e GIT_USER=your_git_user \
-e GIT_EMAIL=your_git_email \
-e GIT_TOKEN=your_git_token \
-e GIT_URL=git.epam.com \
-e deployment_url=https://next.elitea.ai \
-e auth_token=your_alita_token \
-e project_id=your_alita_project \
-e timeout=900 \
-e CLAUDE_CODE_USE_BEDROCK=1 \
-e AWS_ACCESS_KEY_ID=your_access_key \
-e AWS_SECRET_ACCESS_KEY=your_secret_access_key \
-e ANTHROPIC_MODEL=global.anthropic.claude-sonnet-4-5-20250929-v1:0 \
-e IS_SANDBOX=1 \
-e AWS_REGION=us-east-1 \
getcarrier/gatling_mcp:claude参数描述
- GIT_USER:Git身份验证的用户名(用于私有仓库访问)
- GIT_邮件:Git提交的电子邮件
- GIT_TOKEN:Git的个人访问令牌或密码
- GIT_URL:Git域(没有协议,例如Git.epam.com)
- 部署url:Elitea部署URL(覆盖config.json)
- auth_token:Elitea身份验证令牌(覆盖config.json)
- 项目id:项目ID(数字,覆盖config.json)
- 超时:MCP操作超时(秒,覆盖config.json)
- CLAUDE_CODE_USE_BEDROCK:设置为1以启用Claude Bedrock集成
- AWS_ACCESS_KEY_ID:Bedrock的AWS访问密钥
- AWS_SECRET_ACCESS_KEY:Bedrock的AWS秘密访问密钥
- 人向模型:克劳德模型标识符(例如全局。人择。克劳德连接-4-5-20250929-v1:0)
- IS_SANDBOX:设置为1以启用沙盒模式
- AWS_REGION:基岩的AWS区域(例如us-east-1)
3.使用MCP服务器
容器运行本地MCP服务器(mcp-local-server.js)使用一组可通过MCP协议访问的工具。关键工具包括:
- execute_python_script:运行带有可选参数的Python脚本。
- execute_gatling_模拟:通过Maven运行Gatling模拟。支持自定义仿真类、工作目录、Maven可执行文件、Gatling参数和超时。
- git_clone:按URL克隆git存储库并签出特定分支。(可选)指定目标目录。
- git_pull:从指定工作目录中的git存储库中提取最新更改。
- git_commit_and_push:添加、提交和推送所有更改(除了
target/和errors.json)在回购中。接受提交消息。 - get_errors:从Gatling模拟错误日志中分析和分组错误。接受工作目录参数。
- claude_code:在用户提示下运行Claude CLI。仅返回输出的最后20行。使用由环境变量配置的基岩和人为克劳德模型。
您可以通过MCP协议(例如,使用Elitea代理)与这些工具进行交互。
4.克劳德整合
- Claude CLI 安装在容器中,可以通过执行
claude_codeMCP工具。 - Claude使用基岩和人类环境变量进行配置(见上文)。
- 这
claude_code该工具允许您使用自定义提示运行Claude CLI,返回简洁的摘要(最后20行输出)。 - 示例用法:工具运行
claude --permission-mode bypassPermissions -p ""在指定的工作目录中。
5.扩展和更新工具
要添加或更新工具,请执行以下操作:
- 编辑
mcp-local-server.js并定义新的处理程序方法(例如。,handleMyNewTool). - 在中注册该工具
ListToolsRequestSchema处理程序及其名称、描述和输入模式。 - 在中为您的工具添加案例
CallToolRequestSchemahandler调用您的handler方法。 - 您可以使用GitHub Copilot或类似的AI助手来帮助快速安全地生成或更新工具代码。
提示: 编辑或添加工具后,重建Docker镜像并重新启动容器。
6.在本地使用Claude运行alita mcp(不使用Docker)
您可以在本地运行MCP服务器和Claude工具进行开发或调试:
- 安装要求:
- Python 3、Node.js 20+、Maven以及来自 package.json. - 安装 alita-mcp Python包: pip install alita-mcp==0.1.33 - 全局安装Claude CLI(请参阅Anthropic/Bedrock文档)。
- 准备配置:
- 复制和编辑 config.json 到 ~/.config/alita-mcp-client/config.json (更新 deployment_url, auth_token, project_id, timeout等等)。
- 设置环境变量:
- 导出所有必需的变量,如上面的Docker run命令所示。
- 配置Git凭据:
- 运行:
git config --global credential.helper store
echo "https://${GIT_USER}:${GIT_TOKEN}@${GIT_URL}/" > ~/.git-credentials
git config --global user.email "${GIT_EMAIL}"
git config --global user.name "${GIT_USER}"- 启动MCP服务器:
- 运行:
alita-mcp serve- 或者,要使用本地Node.js服务器:
node mcp-local-server.js- 用途:
- 与Docker容器中的MCP工具(包括Claude和Git工具)相同。
7.附加信息
- 容器基于
getcarrier/gatling_mcp:claude包括Node.js、Python、Maven、Claude CLI以及运行Gatling和MCP工具的所有依赖项。 - Git凭据在启动时配置用于私有仓库访问。
- 配置文件(
config.json)在运行时使用环境变量进行修补,以便与CI/CD和云平台轻松集成。 - 错误日志解析由处理
errors_parser.py,可以扩展为自定义错误格式。 - 所有脚本和服务器代码都位于
/opt在容器内。 - 对于故障排除,请检查容器日志和MCP工具调用的输出。
______________________________________________________________________
有关更多详细信息,请参阅此存储库中的源文件或联系维护人员。
