O2C Deployment Workbench MCP Server
Provides deterministic tools and resources for order-to-cash deployment, enabling payment investigation, collection prioritization, and controlled benchmark runs on synthetic ERP data.
README
O2C Deployment Workbench
A complete, clearly synthetic customer implementation for ERP receivables: source onboarding, canonical data, cash application, deductions, collections, controls, KPI benchmarking, MCP access, multi-agent exception review, observability, UAT, cutover, and hypercare.
All SAP S/4HANA-style, Oracle Fusion-style, and NetSuite-style files in this repository are generated simulations. They are not genuine exports or live integrations. KPI movement is a controlled implementation benchmark on synthetic data, not customer impact.
Why this is an implementation project
The workbench starts with customer configuration and three incompatible source layouts, not a clean analytics table. It applies validation gates, preserves payment residuals, routes exceptions, prioritizes collections, shows unmet targets, and produces the artifacts a deployment team would use from discovery through go-live.
The architecture deliberately keeps financial matching deterministic and auditable. Agents handle judgment-heavy work: exception investigation, data-quality diagnosis, collection planning, and go-live monitoring. They cannot post to an ERP, issue a refund, write off debt, or alter master data.
flowchart LR
A["Three simulated ERP export sets"] --> B["Configuration-driven adapters"]
B --> C["Seven canonical receivables tables"]
C --> D["Validation control gate"]
D --> E["Deterministic cash matching"]
E --> F["Exception and collections queues"]
F --> G["MCP evidence tools"]
G --> H["Supervisor agent"]
H --> I["Cash Application Agent"]
H --> J["Data Quality Agent"]
H --> K["Collections Agent"]
I --> L["Human approval gate"]
J --> L
K --> L
E --> M["Controlled KPI benchmark"]
M --> N["Go Live Monitor Agent"]
O["OpenTelemetry traces"] -.-> B
O -.-> E
O -.-> H
O -.-> N
Run it
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
o2c-workbench --project-root .
streamlit run app.py
The reproducible seed-42 run creates 1,908 canonical records, detects 18 intentional duplicate bank transactions as warnings, and leaves zero validation errors. Open the static dashboard or use the Streamlit app.
MCP server
The server uses the current MCP Python SDK and exposes structured tools, resources, and prompts. Local clients should use stdio; deployed clients can use Streamable HTTP.
o2c-mcp --transport stdio
o2c-mcp --transport streamable-http --port 8000
Tools: get_implementation_summary, investigate_payment, get_collection_priority, and run_controlled_benchmark. Resources: o2c://configuration, o2c://benchmark, and o2c://observability.
Multi-agent paths
The default path is offline and deterministic so a reviewer can reproduce handoffs and controls with no account or API key. It produces output/agent_decisions.csv, output/agent_control_summary.json, and OpenTelemetry spans.
An optional model-backed review uses the OpenAI Agents SDK with specialist handoffs and structured output:
pip install -e ".[ai]"
export OPENAI_API_KEY="..."
o2c-agent-review SAP-P001-09 --project-root .
The model path is intentionally not required for benchmark KPIs. It can recommend but cannot execute controlled financial actions.
Repository map
config/— implementation configuration, mappings, tolerances, weights, routes, controls, KPI targets, agent limits.data/raw/— generated, visibly labeled simulated ERP exports.data/canonical/— normalized customers, invoices, payments, remittances, deductions, promises, and activities.src/o2c_workbench/— adapters, matching, collections, controls, agents, MCP, observability, KPI logic.output/— benchmark evidence, queues, traces, and dashboards.docs/— process designs, mapping, controls, RTM, 28 UAT cases, cutover, monitoring, training, and research basis.deliverables/— implementation workbook.demo/— five-minute narrated implementation walkthrough and script.
Seed-42 benchmark
| KPI | Current state | Configured future state | Movement |
|---|---|---|---|
| Auto-match rate | 10.0% | 80.7% | +70.7 pp |
| Manual-review rate | 90.3% | 21.9% | -68.5 pp |
| Unapplied cash | $2,192,667 | $550,209 | -$1,642,459 |
| DSO | 115.9 days | 51.6 days | -64.3 days |
| CEI | 8.7% | 75.7% | +67.0 pp |
| Past-due AR | 69.5% | 44.9% | -24.6 pp |
| Processing time | 67.7 hours | 13.0 hours | -54.7 hours |
Four stretch targets remain unmet, so the monitor recommends a conditional go, not a victory lap. That is intentional implementation realism: proceed only with human approval controls and focused hypercare for unapplied cash and residual overpayments.
Verification
pytest -q
See research basis for the primary sources that informed the payment cases, MCP transport choice, agent handoffs, and telemetry conventions.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.