Token导航 LogoToken导航TokenDH.com
Bamoe MCP logo
AI代理stdio官方级别未说明来源级核验

Bamoe MCP

MCP Server

一个基于React UI的Web服务器应用,用于访问和交互BAMOE MCP(模型上下文协议),具有AI代理功能和实时通信能力。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
容器化部署JavaScript实时通信AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

IBM-OSS-Support

提供方

IBM-OSS-Support

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -it --rm \

详细介绍

BAMOE MCP Web服务器

面向分销商(建立和推送图像)

先决条件

  • Docker已安装
  • 访问quay.io集装箱登记处
  • 证书 pamoe quay.io上的命名空间

构建和推送图像

只需运行构建脚本:

./build-and-push.sh

脚本将:

  1. 构建Docker镜像
  2. 将其标记为 quay.io/pamoe/bamoe-mcp-web-app:latest
  3. 提示您登录quay.io(使用凭据:用户名 athirakm)
  4. 将图像推送到注册表

手动步骤(如果愿意):

# Build the image
docker build -t bamoe-mcp-web-app .

# Login to quay.io
docker login quay.io
# Username: athirakm
# Password: [your password]

# Tag the image
docker tag bamoe-mcp-web-app quay.io/pamoe/bamoe-mcp-web-app:latest

# Push to registry
docker push quay.io/pamoe/bamoe-mcp-web-app:latest

______________________________________________________________________

一个web服务器应用程序,使用具有AI代理功能的基于React的UI访问BAMOE MCP(模型上下文协议)并与之交互。

特性

  • 基于Web的用户界面,用于与BAMOE MCP服务器交互
  • 内置Ollama LLM,预装花岗岩3.3:8b模型
  • 用于决策和工作流模型的BAMOE MCP服务器
  • 使用BeeAI的ReAct代理框架
  • 基于WebSocket的实时通信
  • 使用Docker Compose进行容器化部署

先决条件

  • Docker和Docker Compose
  • kubectl已安装并配置为可访问Kubernetes集群
  • 具有可访问OpenAPI端点的有效BAMOE部署
  • (可选)Node.js 20+和npm(用于本地开发)

Docker Compose快速入门

1.先决条件设置

在开始之前,您需要创建一个特定于Docker的kubeconfig(这会使您的原始配置保持不变):

# Create a Docker-specific kubeconfig
cp ~/.kube/config ~/.kube/config.docker

# Find your cluster's server address(es)
kubectl config view | grep server:

# Replace 127.0.0.1 with host.docker.internal for each cluster
# On macOS:
sed -i '' -e 's|https://127.0.0.1:PORT|https://host.docker.internal:PORT|g' ~/.kube/config.docker

# On Linux:
sed -i 's|https://127.0.0.1:PORT|https://host.docker.internal:PORT|g' ~/.kube/config.docker

# If you have multiple clusters, replace PORT with each actual port number
# Verify the change
grep "server:" ~/.kube/config.docker

请参阅 Kubernetes配置 详细说明部分。

2.配置环境变量(可选)

创建一个 .env 示例中的文件:

cp .env.example .env

您可以自定义以下设置:

  • PORT (默认值:3000)
  • K8S_NAMESPACE (默认:本地kie沙盒开发部署)

注:

  • 包含Olama with granite3.3:8b型号,可自动运行-无需设置!
  • 您不再需要设置 DEPLOYMENT_ID -现在它在UI中动态选择!

3.启动应用程序

使用单个命令运行应用程序:

docker-compose up -d

4.访问应用程序并选择部署

打开浏览器并导航到:

http://localhost:3000

在UI中:

  1. 部署下拉列表将显示Kubernetes集群中所有可用的BAMOE部署
  2. 从下拉列表中选择部署
  3. MCP服务器将自动为所选部署进行部署
  4. 开始聊天!

5.停止应用程序

docker-compose down

配置

动态部署选择

此应用程序具有以下功能 动态部署选择 -您不再需要硬编码部署ID。相反:

  1. UI从Kubernetes集群中获取所有可用的BAMOE部署
  2. 用户从下拉菜单中选择部署
  3. MCP服务器容器会自动为所选部署进行部署
  4. 切换部署动态重新部署MCP服务器

注: 部署ID不再通过环境变量设置。它是在运行时在UI中选择的。

环境变量

变量描述默认值
PORTWeb应用程序端口3000
OLLAMA_MODEL使用Olama模型granite3.3:8b
BAMOE_HOSTBAMOE服务器主机host.docker.internal
K8S_NAMESPACE用于BAMOE部署的Kubernetes命名空间local-kie-sandbox-dev-deployments

注: Ollama以集装箱服务的形式运行,无需手动设置!

Docker的Kubernetes配置

为了使动态部署功能在Docker容器中工作,您需要将kubeconfig配置为可从Docker访问。

先决条件

  • kubectl 在您的主机上安装和配置
  • 通过BAMOE部署访问Kubernetes集群
  • 在配置的命名空间中运行的BAMOE部署

Kubeconfig安装程序,适用于kind或Docker桌面

如果你正在使用 善良的 (Docker中的Kubernetes)或 Docker桌面Kubernetes,群集API服务器通常绑定到 127.0.0.1 (本地主机)。然而在Docker容器中, 127.0.0.1 指的是容器本身,而不是主机。

解决方案: 创建一个特定于Docker的kubeconfig,它使用 host.docker.internal 而不是 127.0.0.1。此方法保持原始kubeconfig不变。

第一步:创建Docker特定的kubeconfig

cp ~/.kube/config ~/.kube/config.docker

步骤2:更新服务器地址

替换 127.0.0.1 随着 host.docker.internal 在Docker特定的配置中:

查找您的群集端口:

kubectl config view | grep server:

在macOS上:

# For kind cluster (example port: 49558)
sed -i '' 's|https://127.0.0.1:49558|https://host.docker.internal:49558|g' ~/.kube/config.docker

# For Docker Desktop cluster (example port: 64226)
sed -i '' 's|https://127.0.0.1:64226|https://host.docker.internal:64226|g' ~/.kube/config.docker

# If you have multiple clusters, you can update them all at once:
sed -i '' -e 's|https://127.0.0.1:49558|https://host.docker.internal:49558|g' -e 's|https://127.0.0.1:64226|https://host.docker.internal:64226|g' ~/.kube/config.docker

在Linux上:

# For kind cluster (example port: 49558)
sed -i 's|https://127.0.0.1:49558|https://host.docker.internal:49558|g' ~/.kube/config.docker

# For Docker Desktop cluster (example port: 64226)
sed -i 's|https://127.0.0.1:64226|https://host.docker.internal:64226|g' ~/.kube/config.docker

# If you have multiple clusters, you can update them all at once:
sed -i -e 's|https://127.0.0.1:49558|https://host.docker.internal:49558|g' -e 's|https://127.0.0.1:64226|https://host.docker.internal:64226|g' ~/.kube/config.docker

步骤3:验证更改

grep "server:" ~/.kube/config.docker

您应该看到类似以下内容:

server: https://host.docker.internal:49558

注: 最初 ~/.kube/config 保持不变,并将继续在您的主机上使用kubectl正常工作。

TLS证书处理

kind/Docker Desktop集群的TLS证书是为特定主机名颁发的(如 kubernetes, localhost, kind-*-control-plane),但不是为了 host.docker.internal.

应用程序通过使用 --insecure-skip-tls-verify 在Docker中运行kubectl命令时的标志。这对于使用kind/Docker Desktop集群的本地开发是安全的。

注: 对于生产部署或远程集群,请考虑使用适当的证书管理或服务帐户令牌。

验证Kubernetes连接

在启动应用程序之前测试Docker特定的kubeconfig:

# Test the Docker config from your host
kubectl --kubeconfig ~/.kube/config.docker get services -n local-kie-sandbox-dev-deployments --insecure-skip-tls-verify

启动应用程序后,验证它是否可以连接到Kubernetes集群:

# Check if deployments are being fetched
docker-compose logs web-app | grep "deployments"

# You should see logs like:
# Fetched deployments successfully

测试API端点:

curl http://localhost:3000/api/deployments

预期响应:

{
  "success": true,
  "deployments": [
    {
      "workspaceName": "fiserv-Regulatory-Reporting",
      "deploymentId": "qdd901b130",
      "workspaceId": "5cdb50be-1b37-48c3-a94c-18d33ea9db9f"
    }
  ]
}

传递环境变量

您可以通过多种方式传递环境变量:

选项1:使用.env文件

# Edit .env file with your values
docker-compose up -d

选项2:命令行

PORT=3001 docker-compose up -d

选项3:导出到shell

export PORT=3001
export K8S_NAMESPACE=my-custom-namespace
docker-compose up -d

建筑

该应用程序使用 动态部署架构:

服务

  1. Ollama LLM服务 (始终运行)

- 预装granite3.3:8b型号的Olama服务器 - 暴露在端口11434上 - 为web应用程序提供LLM功能 - 无需手动设置或模型拉取

  1. Web应用程序 (始终运行)

- Node.js/Express服务器,带web UI - 暴露在端口3000上(可配置) - 与Ollama集成以实现LLM功能 - 为实时交互提供WebSocket API - 从Kubernetes获取可用部署 - 管理MCP服务器容器生命周期

  1. BAMOE MCP服务器 (按需部署)

- 当用户选择部署时自动部署 - 暴露在端口18080上 - 已配置所选部署的OpenAPI URL - 当用户切换部署时自动重新部署

动态部署工作流

  1. 启动时:Ollama和Web应用程序容器自动启动
  2. 用户操作:用户打开UI,看到从Kubernetes获取的可用部署
  3. 部署选择:用户从下拉列表中选择部署
  4. MCP部署:应用程序自动运行 docker run 使用所选部署ID部署MCP服务器容器
  5. 部署交换机:当用户选择其他部署时:

- 旧的MCP服务器容器已停止并删除 - 使用新的部署ID部署新的MCP服务器容器 - 为新部署重新加载工具

Kubernetes集成

  • 应用程序连接到Kubernetes集群以获取可用的BAMOE部署
  • 部署由与模式匹配的服务名称标识 dev-deployment-*
  • 工作区名称从Kubernetes服务注释中提取
  • kubeconfig从以下位置挂载 ~/.kube/config 放入集装箱

地方发展

如果你想在没有Docker的情况下运行:

1.安装依赖项

npm install

2.配置环境

cp .env.example .env
# Edit .env with your configuration

3.启动BAMOE MCP服务器

docker run -it --rm \
  --platform linux/amd64 \
  -p 18080:8080 \
  --name mcp-server \
  -e MCP_SERVER_OPENAPI_URLS=http://host.docker.internal/dev-deployment-y95ykp145/docs/openapi.json \
  quay.io/yamer/mcp-server:latest

4.启动Web应用程序

npm start

5.访问应用程序

http://localhost:3000

Docker命令

构建web应用程序映像

docker-compose build

查看日志

# All services
docker-compose logs -f

# Specific service
docker-compose logs -f web-app
docker-compose logs -f bamoe-mcp-server

重新启动服务

docker-compose restart

移除容器和卷

docker-compose down -v

部署选项

部署此应用程序有两种方法:

选项1:从源部署(推荐)

这是 当前和推荐的方法 因为它允许定制和轻松更新。

要求:

  • 完整存储库克隆
  • 已安装Docker和Docker Compose

步骤:

  1. 克隆存储库:
git clone 
cd bamoe-mcp
  1. 创建特定于Docker的kubeconfig(请参阅 Kubernetes配置):
cp ~/.kube/config ~/.kube/config.docker
# Follow the sed commands to update server addresses
  1. 创建环境配置(可选):
cp .env.example .env
# Customize settings like PORT, OLLAMA_MODEL, K8S_NAMESPACE if needed
  1. 启动应用程序:
docker-compose up -d

docker-compose up 命令将自动从源构建映像并启动所有服务。

优势:

  • 易于自定义代码和配置
  • 可以修改UI、服务器逻辑或添加新功能
  • 通过提取最新代码进行简单更新
  • 无需管理Docker注册表

选项2:使用预构建的Docker镜像进行部署

如果你想在没有源代码的情况下分发应用程序,你可以构建一个Docker镜像并将其推送到注册表。

创建和推送图像的步骤:

  1. 使用标签构建Docker镜像:
docker build -t your-dockerhub-username/bamoe-mcp-web-app:latest .
  1. 推送到Docker Hub或任何容器注册表:
docker push your-dockerhub-username/bamoe-mcp-web-app:latest

用户部署包:

用户只需要这些文件:

  • docker-compose.yml (修改为使用图像而不是构建)
  • .env.example (作为模板)

修改后的docker-compose.yml:

更换 web-app 服务的 build 部分与 image:

web-app:
  image: your-dockerhub-username/bamoe-mcp-web-app:latest  # Use image instead of build
  container_name: bamoe-web-app
  ports:
    - "${PORT:-3000}:3000"
  environment:
    - PORT=${PORT:-3000}
    - DEPLOYMENT_ID=${DEPLOYMENT_ID:-y95ykp145}
    - BAMOE_HOST=host.docker.internal
    - OLLAMA_MODEL=${OLLAMA_MODEL:-granite3.3:8b}
    - OLLAMA_BASE_URL=${OLLAMA_HOST:-http://host.docker.internal:11434}
  # ... rest of configuration

用户部署步骤:

  1. 创建特定于Docker的kubeconfig(请参阅 Kubernetes配置):
cp ~/.kube/config ~/.kube/config.docker
# Follow the sed commands to update server addresses
  1. (可选)创建 .env 自定义文件:
cp .env.example .env
# Customize PORT, OLLAMA_MODEL, K8S_NAMESPACE if needed
  1. 拉取和启动服务:
docker-compose pull
docker-compose up -d
  1. 打开http://localhost:3000并从下拉列表中选择一个部署

优势:

  • 较小的部署包(只有docker-compose.yml和.env)
  • 部署时没有构建时间
  • 更容易分发给非技术用户
  • 通过图像标签进行版本控制

缺点:

  • 需要访问容器注册表(Docker Hub等)
  • 如果不重建和推送图像,则无法轻松自定义
  • 用户无法查看或修改源代码

选择哪个选项?

  • 使用选项1 如果你正在开发、需要定制或想要简单的代码更新
  • 使用选项2 如果您要分发给只需要运行应用程序的最终用户

故障排除

查看日志

查看所有服务的日志:

docker-compose logs -f

查看特定服务的日志:

# Web application logs
docker-compose logs -f web-app

# BAMOE MCP server logs
docker-compose logs -f bamoe-mcp-server

# Get last 100 lines
docker-compose logs --tail 100 web-app

端口冲突

如果端口3000或18080已在使用中,请在您的 .env 文件:

PORT=3001

集装箱问题

检查集装箱状态:

docker-compose ps

如果容器不断重新启动,请检查日志中的错误:

docker-compose logs web-app --tail 50

从头开始重建容器:

docker-compose down
docker-compose build --no-cache
docker-compose up -d

Ollama连接问题

症状: 错误如 APICallError, Connection refused,或 404 not found 处理查询时

解决方案:

  1. 验证Ollama容器是否正在运行:
docker ps --filter "name=bamoe-ollama"
  1. 检查Ollama集装箱日志:
docker-compose logs ollama
  1. 从您的主机测试Ollama API:
curl http://localhost:11434/api/tags
  1. 测试来自web应用程序容器的连接:
docker exec bamoe-web-app wget -qO- http://ollama:11434/api/tags
  1. 验证容器中的环境变量:
docker exec bamoe-web-app sh -c 'env | grep OLLAMA'

预期产量:

OLLAMA_BASE_URL=http://ollama:11434/api
OLLAMA_MODEL=granite3.3:8b
  1. 检查Ollama初始化的应用程序日志:
docker-compose logs web-app | grep "Initializing Ollama"

预期产量:

Initializing Ollama with model: granite3.3:8b, baseURL: http://ollama:11434/api
  1. 如果Ollama容器未启动,请重新启动所有服务:
docker-compose down
docker-compose up -d

BAMOE连接问题

症状: 错误如 fetch failed[BAMOE] Error: fetch failed 执行DMN模型时

解决方案:

  1. 验证BAMOE部署是否可以从您的主机访问:
# Replace {DEPLOYMENT_ID} with your selected deployment ID from the UI
curl http://localhost/dev-deployment-{DEPLOYMENT_ID}/docs/openapi.json
  1. 检查日志中的BAMOE配置:
docker-compose logs web-app | grep "\[BAMOE\] Configuration"

预期产量:

[BAMOE] Configuration: DEPLOYMENT_ID=qdd901b130, BAMOE_HOST=host.docker.internal, BAMOE_BASE_URL=http://host.docker.internal/dev-deployment-qdd901b130

重要提示:BAMOE_HOST 必须 host.docker.internal 在Docker中运行时,不 localhost.

  1. 验证您在UI中选择了部署:

- 打开http://localhost:3000 - 检查部署下拉列表是否显示可用部署 - 如果选择“无”,请选择部署

  1. 从容器中测试BAMOE端点:
# Replace with your actual deployment ID
docker exec bamoe-web-app wget -qO- http://host.docker.internal/dev-deployment-qdd901b130/docs/openapi.json
  1. 检查MCP服务器容器是否正在运行:
docker ps --filter "name=bamoe-mcp-server"

如果未运行,请在UI中选择一个部署以触发部署。

Kubernetes部署获取问题

症状: 部署下拉菜单显示“未找到部署”或“加载部署时出错”

解决方案:

  1. 验证kubectl是否可以从主机访问集群:
kubectl get services -n local-kie-sandbox-dev-deployments
  1. 检查Docker特定的kubeconfig是否配置正确:
grep "server:" ~/.kube/config.docker
# Should show: server: https://host.docker.internal:
  1. 验证kubeconfig是否安装在容器中:
docker exec bamoe-web-app ls -la /root/.kube/config
  1. 从容器内部测试kubectl:
docker exec bamoe-web-app kubectl get services -n local-kie-sandbox-dev-deployments --insecure-skip-tls-verify
  1. 检查日志中的部署获取错误:
docker-compose logs web-app | grep -i "deployment\|kubectl"
  1. 验证Kubernetes命名空间是否正确:

- 检查 K8S_NAMESPACE 环境变量 - 确保BAMOE服务存在于该命名空间中

环境变量问题

验证所有环境变量是否设置正确:

# Check in the container
docker exec bamoe-web-app sh -c 'env | grep -E "OLLAMA|BAMOE|K8S"'

预期产量:

OLLAMA_BASE_URL=http://ollama:11434/api
OLLAMA_MODEL=granite3.3:8b
BAMOE_HOST=host.docker.internal
K8S_NAMESPACE=local-kie-sandbox-dev-deployments

注: DEPLOYMENT_ID 不再设置为环境变量。当用户在UI中选择部署时,它会动态设置。

如果环境变量缺失或不正确:

  1. 更新您的 .env 文件
  2. 重新启动容器:
docker-compose down
docker-compose up -d

调试代理错误

如果AI代理无法处理查询,请检查详细的错误信息:

docker-compose logs web-app --tail 200 | grep -A 20 "Error\|error"

常见代理错误:

  1. ChatModelError:未处理的错误

- 通常表示Ollama连接问题 - 检查Ollama配置和连接

  1. 代理错误:代理遇到错误

- 检查工具是否正确装载 - 验证BAMOE MCP服务器是否已连接

  1. 获取失败

- BAMOE端点不可访问 - 检查BAMOE_HOST配置

测试单个组件

直接测试Olama:

# Test if Ollama is running
curl http://localhost:11434/api/tags

# Test chat endpoint
curl -X POST http://localhost:11434/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "model": "granite3.3:8b",
    "messages": [{"role": "user", "content": "test"}],
    "stream": false
  }'

测试BAMOE MCP服务器:

# Note: MCP server only runs after selecting a deployment in the UI
docker ps --filter "name=bamoe-mcp-server"

测试web应用程序启动:

docker-compose logs web-app | grep "Server running"

预期产量:

Server running at http://localhost:3000
No MCP tools loaded yet. Please select a deployment in the UI.

测试Kubernetes部署获取:

curl http://localhost:3000/api/deployments

预期产量:

{
  "success": true,
  "deployments": [
    {
      "workspaceName": "fiserv-Regulatory-Reporting",
      "deploymentId": "qdd901b130",
      "workspaceId": "5cdb50be-1b37-48c3-a94c-18d33ea9db9f"
    }
  ]
}

强制清理重建

如果您遇到持续存在的问题:

# Stop and remove everything
docker-compose down -v

# Remove the built image
docker rmi bamoe-mcp-web-app

# Rebuild from scratch
docker-compose build --no-cache

# Start fresh
docker-compose up -d

# Watch logs
docker-compose logs -f

性能问题

如果Ollama反应缓慢:

  1. 检查GPU支持是否可用,并在docker-compose.yml中启用它:
ollama:
  deploy:
    resources:
      reservations:
        devices:
          - driver: nvidia
            count: 1
            capabilities: [gpu]
  1. 监控资源使用情况:
docker stats
  1. 检查Ollama容器日志以检测GPU:
docker-compose logs ollama | grep -i gpu

MCP服务器配置

该应用程序使用在中配置的BAMOE MCP服务器 mcp-servers.json:

  • 巴莫:用于BAMOE决策和工作流模型的自定义MCP服务器

可用的BAMOE工具

BAMOE MCP服务器提供以下工具:

  • execute_dev_deployment_qx_gh_DMN_model:执行欺诈检测DMN模型
  • fetching_dev_deployment_qx_gh_BPMN_process_workflow_instance:获取BPMN工作流实例
  • update_dev_deployment_qx_gh_BPMN_process_workflow_model:更新BPMN工作流模型
  • delete_dev_deployment_qx_gh_BPMN_process_workflow_model:删除BPMN工作流模型

许可证

ISC

作者

迪利潘Somasundaram

目录标签

目录标签

容器化部署JavaScript实时通信AI代理Web服务器本地部署Kubernetes集成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP