An AI agent for managing factory operations — supply chain status, manufacturing stages, and car order processing — deployed on Tanzu Platform using the new Agentic buildpack
Ensure you are logged in and targeting the correct org and space:
cf login
cf target -o <your-org> -s <your-space>The MCP Gateway is the entry point that routes agent tool calls to the MCP server instances. Deploy it first:
cf create-service mcp-gateway standard dekt-mcp-gw
cf create-service p-identity uaa dekt-ssoNote the gateway's public URL — you will use it when registering each MCP server as a user-provided service (e.g. https://dekt-mcp-gw.apps.<domain>).
Each MCP server is a standalone Spring Boot app. Clone and push each one, then register it as a user-provided service pointing to its route through the MCP Gateway.
factory-mcp-server — manufacturing stage data and supply chain dashboard, demo as secured MCP with Auth required
git clone https://github.com/dektlong/factory-mcp-server
cd factory-mcp-server
cf push -f manifest.yml
cf bind-service dekt-car-orders-mcp dekt-mcp-gw -c '{
"auth": {
"service-instance": {
"type": "OIDC",
"name": "dekt-sso"
}
}
}' --wait
cd ..
cf create-user-provided-service factory-info \
-p '{"url": "https://dekt-mcp-gw.apps.<domain>/factory-mcp-server/mcp"}' \
-t mcp-servercar-orders-mcp-server — car order management tools, demo as secured MCP with Auth required
git clone https://github.com/dektlong/car-orders-mcp-server
cd car-orders-mcp-server
cf push -f manifest.yml
cf bind-service dekt-car-orders-mcp dekt-mcp-gw -c '{
"auth": {
"service-instance": {
"type": "OIDC",
"name": "dekt-sso"
}
}
}' --wait
cd ..
cf create-user-provided-service factory-orders \
-p '{"url": "https://dekt-mcp-gw.apps.<domain>/car-orders-mcp-server/mcp"}' \
-t mcp-serverdoc-analyzer-mcp — document analysis via RAG (analyze-document tool)
git clone https://github.com/dektlong/doc-analyzer-mcp
cd doc-analyzer-mcp
cf push -f manifest.yml
cd ..
cf create-user-provided-service factory-documents \
-p '{"url": "https://dekt-mcp-gw.apps.<domain>/doc-analyzer-mcp/mcp"}' \
-t mcp-serverchat-poster-mcp — posts agent results to a Google Chat space (post-to-chat tool)
git clone https://github.com/dektlong/chat-poster-mcp
cd chat-poster-mcp
cf push -f manifest.yml
cd ..
cf create-user-provided-service chat-poster \
-p '{"url": "https://dekt-mcp-gw.apps.<domain>/chat-poster-mcp/mcp"}' \
-t mcp-serverWebhook credentials (space id, key, token) are configured on the
chat-poster-mcpapp itself — not on the agent. See that repo's README for credential setup.
Create a GenAI service instance backed by a model that supports tool calling (required for MCP tool invocation and skill execution):
cf create-service genai <tools-capable-plan> factory-genaiThe model plan must support function/tool calling. Examples:
gpt-4o,claude-3-5-sonnet, or any plan advertised withtoolscapability in the CF marketplace (cf marketplace -e genai).
Once all prerequisites are in place:
cf push -f manifest.ymlThe agent_buildpack packages the agent, loads the system prompt from AGENTS.md, and mounts the .agents/skills/ directory.
Skills extend the agent's behaviour for domain-specific workflows. They live in .agents/skills/ and are loaded automatically by the agent buildpack.
| Skill | Trigger | Description |
|---|---|---|
car-orders-matching |
"car order", "ready to paint", "next car order" | Matches a random car order against Final Assembly health. Uses factory-orders and factory-info MCPs. |
supplychain-motivator |
"supply chain" (anywhere in request) | Reads daily supply chain target and generates a motivational team message. |
what is the health of our manufacturing
do we need to motivate our supply chain
do we have out of warranty items
are we ready to paint the next car order
post orders report to google chat