Skip to content

anthril/business-context-protocol

Repository files navigation

Business Context Protocol (BCP)

License BCP Version

BCP is an open protocol that standardizes how AI agents interact with business operations platforms.

Built as a semantic layer on top of the Model Context Protocol (MCP), BCP provides a common vocabulary, entity model, and governance framework so that AI agents can work with any BCP-compliant business system — CRMs, project management tools, ERPs, billing platforms, and more — without custom integration code.

Why BCP?

MCP standardizes how AI agents communicate with tools. BCP standardizes what business concepts look like.

Without BCP, every integration requires custom mappings: your CRM calls them "leads," your PM tool calls them "tasks," and your billing system calls them "charges." An AI agent needs custom code for each platform. With BCP, all platforms speak the same business language.

+--------------------------------------------------+
|              Protocol Stack                       |
|                                                   |
|  A2A (Agent-to-Agent Protocol)                   |
|    :                                              |
|  ACP (Agent Communication Protocol)              |
|    :                                              |
|  BCP (Business Context Protocol)  <-- You are here|
|    :                                              |
|  MCP (Model Context Protocol)                    |
|    :                                              |
|  LLM / AI Model                                  |
+--------------------------------------------------+

Conformance Levels

BCP is designed for incremental adoption. Implement what you need:

Level Name Capabilities Tools
1 Entity Standardized entity types, core properties, relationship taxonomy bcp_list_entity_types, bcp_list_relationship_types
2 Context Entity context assembly, workspace pulse, relationship graphs, timelines + bcp_get_entity_context, bcp_get_workspace_pulse, bcp_get_relationship_graph, bcp_get_entity_timeline
3 Governed Action proposals, risk classification, approval flows, outcome tracking + bcp_propose_action, bcp_get_action_status, bcp_get_outcome_intelligence

Quick Start

Install the SDK

npm install @businesscontextprotocol/sdk @modelcontextprotocol/sdk zod

Create a BCP-Compliant MCP Server

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { registerBcpTools, type BcpAdapter } from "@businesscontextprotocol/sdk";

// 1. Implement the adapter with your data access logic
const adapter: BcpAdapter = {
  async listEntityTypes() {
    return ["contact", "company", "opportunity"];
  },
  async getEntityContext(entityType, entityId) {
    const entity = await db.find(entityType, entityId);
    return { entity, associations: [], activities: [] };
  },
  async getWorkspacePulse() {
    return {
      pipeline_value: 50000,
      outstanding_invoices: 5,
      active_projects: 3,
      open_tickets: 8,
      pending_approvals: 0,
      recent_outcomes: { positive: 0, negative: 0, neutral: 0, pending: 0 },
      period: "last_30_days",
    };
  },
  async getRelationshipGraph(rootType, rootId) {
    return { nodes: [], edges: [], root_type: rootType, root_id: rootId, depth: 1 };
  },
  async getEntityTimeline(entityType, entityId) {
    return { events: [] };
  },
};

// 2. Register BCP tools on your MCP server
const server = new McpServer({ name: "my-app", version: "1.0.0" });
registerBcpTools(server, adapter);

That's it. Your MCP server now speaks BCP.

Entity Types

BCP defines 17 standard entity types covering common business operations:

Category Types
People contact, company
Sales opportunity, quote, invoice, order, payment
Catalog product, service
Operations booking, ticket, project, task
Legal agreement, subscription
Content form, document

Relationship Taxonomy

25 relationship types across 6 categories:

  • Structural: parent_of, child_of, member_of, contains, part_of
  • Causal: originated_from, resulted_in, triggered_by, converted_from, converted_to
  • Commercial: billed_to, fulfilled_by, governed_by, scoped_by, delivered_for
  • Temporal: renewed_from, supersedes, preceded_by, depends_on, blocks
  • Role: assigned_to, approved_by, referred_by
  • Reference: references, related

Documentation

SDK Package

The @businesscontextprotocol/sdk package provides:

  • Types — Complete TypeScript type definitions for all BCP structures
  • Schemas — Zod validation schemas for runtime validation
  • Taxonomy — Full relationship taxonomy as queryable data
  • Governance — Default risk classification and guard evaluation helpers
  • Outcomes — Outcome tracking definitions and helpers
  • RegistrationregisterBcpTools() for one-line MCP integration

Examples

See the examples/ directory:

  • minimal-server — Minimal BCP-compliant MCP server with in-memory data

Sponsors

This project is maintained by Anthril and funded by our sponsors.

Become a sponsor →

Featured Sponsors

All Sponsors

Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes following Conventional Commits
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

License

This project is licensed under the Apache License 2.0 — see the LICENSE file for details.

Copyright 2026 Anthril Pty Ltd

About

BCP is an open protocol that standardizes how AI agents interact with business operations platforms.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors