Several separate teams need their Claude apps to reach the same internal HR system, and the owning team wants to maintain the integration in one place. Which mechanism fits?
Why C is the answer
An MCP server owned by the HR system team
MCP gives one maintained integration that many clients can use. Copied code drifts, and a prompt describing an API cannot actually call it.
In detail
- Many hosts need the same integration, and one team wants to own it.
- An MCP server gives one maintained integration that many clients can use.
- Give the server a named owner and a version policy.
Use case
An illustrative scenario, not a real incident.
Three product teams need HR data. The HR team runs one MCP server, so a change to the HR system is made once, and all three apps benefit.
See it in different ways
flowchart TD
A{"Used by one app?"} -->|Yes| B["Direct tool in that app"]
A -->|No| C{"Many hosts need the same system?"}
C -->|Yes| D["MCP server owned by that team"]
C -->|"Another agent owns the task"| E["Agent to agent"]stateDiagram-v2 [*] --> HowManyApps HowManyApps --> DirectTool: one app HowManyApps --> McpServer: many apps McpServer --> Stdio: local process McpServer --> StreamableHttp: remote, with OAuth
sequenceDiagram participant P0 as App A participant P1 as App B participant P2 as HR MCP server participant P3 as HR system P0->>P2: Tool call P1->>P2: Tool call P2->>P3: Governed access
Key point: Share an integration through one maintained server.
Why the other options are wrong
- A. A nightly export pasted into the context
- A nightly export goes stale, and it cannot perform actions.
- B. A shared system prompt describing the HR API
- A prompt describing an API cannot actually call it.
- D. A copy of the integration code in each app
- Copied code drifts as each app changes it.

