🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

oprocess

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

oprocess

AI-native process classification MCP Server

pipPyPI
Version
0.6.4
Weekly downloads
155
28.1%
Maintainers
1
Weekly downloads
 

O'Process

MCP GB/T 48000.3 RDF License

AI-native process classification MCP Server. Query 2,835 processes and 3,284 KPIs from APQC PCF 8.0 (cross-industry + consumer products + consumer electronics) + ITIL V5 + SCOR DS 14.0 + AI-era extensions.

Version: 0.6.0 | MCP SDK: Anthropic official mcp 1.26.0 | Protocol: 2025-11-25 | Coverage: 88.8%

What It Does

O'Process gives AI assistants (Claude, GPT, etc.) real-time access to enterprise process knowledge. Connect it as an MCP Server, then ask natural language questions — the AI will call the right tools automatically.

Core capabilities:

  • Process Search — "采购流程有哪些?" → returns matching process nodes with hierarchy, description, and confidence score
  • Process Tree Navigation — browse the 5-level taxonomy (L1 categories → L5 activities)
  • KPI Recommendations — get metrics for any process node (name, unit, formula, direction)
  • Role-Process Mapping — "HRBP manages which processes?" → curated mappings with confidence scores and relation types (primary/shared/supporting)
  • Role Knowledge Base — 54 curated IT roles across 4 layers (strategy/architecture/delivery/operations) with explicit process mappings
  • Team Planning — recommend IT roles by team size (small/medium/large)
  • Process Comparison — side-by-side diff of 2+ process nodes across all attributes
  • Responsibility Document — generate complete job descriptions with provenance appendix

Why It Matters

Without O'ProcessWith O'Process
Manually search APQC PCF Excel (2017 rows)Natural language query, instant results
Guess which KPIs apply to a processStructured KPI suggestions from 3,284 metrics
Write job descriptions from scratchAuto-generated with process-backed provenance
Cross-reference APQC + ITIL + SCOR manuallyUnified 2,436-node taxonomy, one query

Use Cases

Management Consulting — Process diagnostics. A manufacturing company's delivery cycle is 30% slower than competitors. Use search_process to locate SCOR Plan/Deliver/Make nodes, then get_kpi_suggestions to build a measurement framework.

HR Digital Transformation — Role-process mapping. CHRO needs to know what processes HR actually owns. Use get_process_tree on node 7.0 (Human Capital) to get the full L1→L4 hierarchy, then map_role_to_processes to map "HRBP" to standard processes.

Legal Due Diligence — Compliance audit. Cross-border M&A requires checking 12+ regulatory domains. Use search_process to locate relevant PCF nodes (corporate governance, tax, labor, environmental), then compare_processes to identify coverage gaps.

Internal Audit — KPI system design. Use get_kpi_suggestions for each process node, review coverage across efficiency/quality/cost/timeliness dimensions, identify missing metrics.

Quick Start

# Install
uv sync

# Run MCP Server (stdio — default)
uv run python -m oprocess.server

# Run with SSE transport
uv run python -m oprocess.server --transport sse --port 8000

# Run with streamable-http transport
uv run python -m oprocess.server --transport streamable-http --port 8000

Claude Desktop Configuration

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "oprocess": {
      "command": "uv",
      "args": ["run", "python", "-m", "oprocess.server"],
      "cwd": "/path/to/O-Process"
    }
  }
}

Tools

11 MCP tools with full input validation, structured output, and ToolAnnotations:

ToolDescriptionKey Parameters
search_processSemantic search for process nodesquery (1-500 chars), lang (zh/en), limit (1-50), level (1-5)
get_process_treeGet process subtree with childrenprocess_id (e.g. "1.0"), max_depth (1-5)
get_kpi_suggestionsGet KPIs for a process nodeprocess_id
compare_processesCompare 2+ process nodes side-by-sideprocess_ids (comma-separated, 2+)
get_responsibilitiesGenerate role responsibilitiesprocess_id, lang, output_format (json/markdown)
map_role_to_processesMap job role to processes (curated-first, semantic fallback)role_description (1-500 chars), lang, limit, industry
export_responsibility_docExport full responsibility documentprocess_ids (1+), lang, role_name
list_rolesList all 54 curated IT roleslang, layer (strategy/architecture/delivery/operations)
get_role_definitionGet role profile with mapped processesrole_id (e.g. "sre"), lang
plan_it_rolesRecommend IT roles by team sizeteam_size (small/medium/large), lang
health_checkHealth check — server status and data counts(none)

All tools return structured content (structuredContent + text) with result, provenance_chain, session_id, and response_ms. Each tool has outputSchema auto-generated from Pydantic models.

Invalid inputs raise ToolError (Tool Execution Error for LLM self-correction). All tools are annotated with readOnlyHint, idempotentHint, destructiveHint, and openWorldHint.

Role Knowledge Base (v0.5.0)

54 curated IT roles organized in 4 layers:

LayerRolesExamples
Strategy & Governance10CIO/CTO, CISO, Enterprise Architect, IT Auditor
Requirements & Architecture8Business Analyst, Solution Architect, Data Architect, UX/UI Designer
Delivery & Engineering15Developer, QA Engineer, DevOps, Release Manager, Scrum Master
Operations & Service21SRE, Capacity Planner, Service Desk, Change Manager, SOC Manager

Each role includes bilingual (zh/en) definitions, aliases for fuzzy matching, explicit process mappings with confidence scores, and min_team_size thresholds for team planning.

Prompts

3 guided prompt templates for common workflows:

PromptDescriptionParameters
analyze_processStep-by-step process analysis workflowprocess_id, lang
generate_job_descriptionRole responsibility document generationprocess_ids, role_name, lang
kpi_reviewKPI review and gap analysis workflowprocess_id, lang

Resources

6 MCP resources for direct data access:

URITitleDescription
oprocess://process/{id}Process NodeComplete process node data
oprocess://category/listCategory ListAll L1 process categories
oprocess://role/{role_name}Role-Process MappingProcess mappings for a role
oprocess://audit/session/{id}Audit Session LogAudit log for a session
oprocess://schema/sqliteSQLite SchemaPublic table schema (processes, kpis)
oprocess://statsFramework StatisticsProcess/KPI counts and version

Authentication

For HTTP transports (SSE, streamable-http), authentication is handled at the reverse-proxy layer (e.g. Caddy with forward_auth or bearer_token directive). See deploy/README.md for Caddy configuration.

stdio mode requires no authentication (local process communication).

Environment Variables

VariableRequiredDescription
DASHSCOPE_API_KEYNoEnables semantic vector search via DashScope text-embedding-v3 (768-dim; reachable from mainland China).
GOOGLE_API_KEYNoEnables semantic vector search via gemini-embedding-001 (768-dim).
EMBED_PROVIDERNoForce the embedding provider: dashscope or gemini (default: auto-detect from available keys).
OPROCESS_API_KEYNoBearer token for reverse-proxy auth layer.
OPROCESS_ALLOWED_ORIGINSNoComma-separated allowed origins for CORS.
LOG_LEVELNoLogging level (default: INFO)

No API key is required to run the server. All 11 tools work out of the box. Setting DASHSCOPE_API_KEY or GOOGLE_API_KEY upgrades search_process and map_role_to_processes from text matching to semantic vector search (dual-track quality gate: lineage-aware Top-3 recall 92%, exact-node 80%).

Logging

Structured JSON logging (no extra dependencies):

# Default level: INFO (all tool calls logged)
export LOG_LEVEL=DEBUG  # DEBUG, INFO, WARNING, ERROR

# Output format (JSON):
# {"ts":"2026-03-16 12:00:00","level":"INFO","logger":"oprocess","msg":"tool.execute","tool":"search_process","session_id":"...","ms":4}

Configuration

Server behavior can be tuned via [tool.oprocess] in pyproject.toml:

KeyDefaultDescription
boundary_threshold0.45Cosine distance threshold for BoundaryResponse
audit_log_enabledtrueEnable/disable SessionAuditLog
default_language"zh"Default language (zh/en)
rate_limit_max_calls60Max tool calls per window
rate_limit_window_seconds60Rate limit window duration (seconds)

Rate limiting is enforced via thread-safe RateLimiter. Exceeding the limit returns MCP error code -32000.

Governance-Lite

Transparent governance layer (non-blocking):

  • SessionAuditLog — Append-only invocation log per session (failure-tolerant with escalation)
  • BoundaryResponse — Structured fallback when semantic confidence is low (threshold: 0.45)
  • ProvenanceChain — Derivation trail attached to every tool response
  • Prompt Injection Mitigation — Description fields sanitized with [DATA_BEGIN]/[DATA_END] markers

Semantic Layer (GB/T 48000.3—2026)

O'Process publishes a semantic projection of the framework, self-declared aligned with GB/T 48000.3—2026 Ontology Modeling Requirements (effective 2026-08-01). SQLite/JSON stay the single source of truth; RDF is generated.

IRIWhatFormat
/ns/opfOPF-O ontology: 3 classes, 14 properties, Chapter-8 axiomsTurtle · HTML
/ns/opf.jsonldJSON-LD 1.1 context for framework.jsonJSON-LD
/ns/opf-shapesSHACL shapes, incl. SPARQL global-uniqueness + irreflexivityTurtle · HTML
/opfConcept scheme — 2,835 nodes dual-typed skos:Concept + opf:ProcessNodeTurtle · HTML

Reproduce and validate locally:

uv run python -m scripts.export_semantic     # regenerate RDF from framework.json
uv run python -m scripts.validate_semantic   # SHACL + Appendix-A self-check (exit 0 = conforms)

Self-declared alignment, not a certification. Clause-by-clause mapping, boundaries and licensing: oprocess.net/conformance (source: docs/oprocess-framework/semantic/CONFORMANCE.md).

Data Sources

SourceEntriesLicense
APQC PCF 8.0 (cross-industry)2,017 processesRoyalty-free with attribution
APQC PCF Consumer Products 7.2.2232 nodesRoyalty-free with attribution
APQC PCF Consumer Electronics 7.2.1161 nodesRoyalty-free with attribution
ITIL V5145 nodesPractice names only (industry terms)
SCOR DS 14.0175 nodesOpen-access standard
AI-era + food-safety extensions105 nodesOriginal (MIT)
Total2,835 processes
Element definitions written by O'Process339Original (MIT) — APQC's industry editions ship these elements without a definition
KPI metrics3,284From APQC PCF 8.0 Metrics
Role definitions86 roles, 339 mappingsCurated (MIT)

Bilingual: Chinese (zh) + English (en).

Third-Party Attribution

APQC Process Classification Framework® (PCF) is an open standard developed by APQC, a nonprofit that promotes benchmarking and best practices worldwide. Used under APQC's royalty-free license for derivative works. To download the original PCF, visit apqc.org/pcf.

ITIL® is a registered trademark of PeopleCert group. This project references ITIL V5 practice names as industry-standard terminology. All descriptions are independently written and are not reproduced from ITIL publications.

SCOR® (Supply Chain Operations Reference) is a product of ASCM. This project references SCOR DS 14.0 process names as open-access industry-standard terminology. All descriptions are independently written.

Development

# Install dependencies
uv sync

# Lint
ruff check .

# Test (395 tests, 88.8% coverage)
pytest

# Full check (lint + test + benchmark)
ruff check . && pytest && pytest --benchmark-only

# Build release artifacts — the hatch hook automatically bundles a LEAN
# runtime DB (no research/scan archives, no local audit logs)
uv build

Project Structure

src/oprocess/
├── server.py              # MCP entry point (stdio/SSE/HTTP)
├── gateway.py             # ToolGatewayInterface + PassthroughGateway
├── config.py              # pyproject.toml config loader
├── validators.py          # Input validation + sanitization
├── prompts.py             # 3 MCP prompt templates
├── tools/
│   ├── registry.py        # Tool registration orchestrator
│   ├── search.py          # search_process + map_role_to_processes
│   ├── roles.py           # list_roles + get_role_definition + plan_it_roles
│   ├── resources.py       # 6 MCP resources
│   ├── _models.py         # Pydantic response models
│   ├── export.py          # Responsibility document builder
│   ├── helpers.py         # Provenance + comparison utilities
│   ├── serialization.py   # ToolResponse → ToolEnvelope
│   └── rate_limit.py      # Thread-safe rate limiter
├── governance/
│   ├── audit.py           # SessionAuditLog
│   ├── boundary.py        # BoundaryResponse
│   └── provenance.py      # ProvenanceChain
└── db/
    ├── connection.py       # SQLite + sqlite-vec connection
    ├── queries.py          # Process + KPI SQL queries
    ├── role_queries.py     # Role knowledge base queries
    ├── embedder.py         # Gemini embedding (with timeout + retry)
    └── vector_search.py    # sqlite-vec vector search

Tech Stack

  • Runtime: Python 3.10+
  • MCP SDK: Anthropic official mcp 1.26.0 (mcp.server.fastmcp)
  • Protocol: MCP 2025-11-25 (structured output, ToolAnnotations, title)
  • Validation: Pydantic 2.x (Annotated[..., Field(...)])
  • Database: SQLite + sqlite-vec (optional vector search)
  • Embeddings: DashScope text-embedding-v3 or gemini-embedding-001 (768-dim, unit-normalized, timeout + retry)
  • Packaging: uv + hatchling

Deployment

See deploy/README.md for production deployment on Alibaba Cloud with Caddy reverse proxy.

Live endpoint: http://8.138.46.17/mcp (streamable-http)

License

MIT — applies to all source code and AI-era original content.

Third-party framework data (APQC PCF, ITIL, SCOR) is used under their respective licenses. See Third-Party Attribution for details.

Keywords

apqc

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts