Skip to content

ADR-019 — UC-BoK MCP Server

Status: Accepted Date: 2026-07-07 Author: Architecture Board


Context

UC-BoK contains a rich, machine-validated knowledge graph: 46 business objects, 25 capabilities, 107 domain events, 15 processes, 3 reference architectures, and a UCMI assessment engine. All content is stored in structured YAML catalogs under catalogs/ and is currently queryable via the queries/ runtime.

AI coding agents (GitHub Copilot, Claude, Cursor, etc.) support the Model Context Protocol (MCP) — a standard interface for exposing tool functions to LLMs at inference time. An MCP server turns UC-BoK into a live tool that any compliant agent can call directly, without pasting content into context.

Decision

Implement a UC-BoK MCP server as scripts/mcp_server.py.

The server exposes UC-BoK catalogs as MCP tools. It is a local dev-mode service; deployment to a hosted endpoint is a future milestone (ADR-020 when needed).

The server lives in scripts/ — consistent with the existing Python tooling. No new top-level directory is created.

Tools Exposed

Tool Description
get_business_object Return full ontology record for a business object by ID
list_business_objects List all BOs, optionally filtered by domain or classification
get_capability Return full record for a capability by ID
list_capabilities List all capabilities, optionally filtered by domain
get_process Return full record for a process by ID
list_events List events, optionally filtered by domain
get_reference_architecture Return RA record by ID (fashion-retail, grocery-retail, specialty-retail)
run_assessment Compute UCMI score for an assessment profile
search_catalog Free-text search across all catalogs
get_ontology_summary Return the UC-BoK ontology overview (domains, counts, rules)

Runtime

pip install fastmcp
python scripts/mcp_server.py

MCP endpoint: http://localhost:8000 (stdio or SSE transport).

Consequences

  • UC-BoK becomes queryable as a live tool by any MCP-compatible agent.
  • No new top-level directory is created (ARCH-001 preserved).
  • fastmcp is added to requirements.txt as an optional dependency.
  • Future: deploy as a hosted endpoint and register as a Copilot Extension (ADR-020).