On-Platform MCP Endpoint Discovery Uses External Route Instead of apps.internal — Tanzu Platform (VMware Tanzu Platform for Cloud Foundry / AI Services, MCP Gateway)
search cancel

On-Platform MCP Endpoint Discovery Uses External Route Instead of apps.internal — Tanzu Platform (VMware Tanzu Platform for Cloud Foundry / AI Services, MCP Gateway)

book

Article ID: 447310

calendar_today

Updated On:

Products

VMware Tanzu Platform Core VMware Tanzu Application Platform VMware Tanzu Application Service VMware Tanzu Platform VMware Tanzu Platform - Cloud Foundry

Issue/Introduction

An application deployed to Tanzu Platform for Cloud Foundry exposes an MCP (Model Context Protocol) endpoint. App has both an external and an internal (apps.internal) route mapped. After binding the app to an MCP Gateway service instance, the gateway (or any consuming client performing MCP endpoint discovery) resolves and communicates with the app over its external route instead of the internal one.

Environment

AI Services 
Tanzu Platform 
Tanzu Platform for Cloud Foundry

Cause

The MCP Gateway service offering supports two distinct registration models, and only one of them guarantees internal-only routing:

  • Off-platform MCP servers — registered via the mcp-servers provisioning/update parameter with an explicit url field (e.g. https://my-server.apps.internal/mcp). Because the URL is supplied explicitly, the operator fully controls which host — internal or external — the gateway talks to.
  • On-platform (app-bound) MCP servers — registered via a plain cf bind-service <APP_NAME> <GATEWAY_INSTANCE>. The documented bind parameters for this offering (as of AI Services 10.4) only cover the auth block (OIDC / OAuth / GitHub Enterprise service-instance references for authenticating the bound route). There is no documented bind-time parameter to specify or prefer an internal route for on-platform bindings. When an app exposes multiple routes, the broker's route resolution at bind time is not guaranteed to select the internal route, and in this case it selected the external one.

Resolution

Choose one of the following, depending on requirements:

Option A — Publish the app as a proper on-platform MCP server via Service Publisher (recommended if you want platform-managed internal routing), you can refer to this blog https://blogs.vmware.com/tanzu/building-an-enterprise-mcp-server-marketplace-with-tanzu-platform/  for details.

Option B — Remove the ambiguity by unmapping the external route