Object Invocation Protocol · protocol specification

Directory rows and dispatch

#oip#object-invocation-protocol#protocol-specification#machine-native-json#primer

Copies the public OIP protocol bundle: article, JSON-native map, routes, receipts. No owner token.

§SELF — protocol specification
## §SELF — OIP protocol specification

**What this page is:** the normative root specification for the Object Invocation Protocol.

**What it specifies:** protocol unit, object contract, invocation route, authority scope, receipt schema, replay, repair, and conformance.

**Read:** https://miscsubjects.com/a/oip-directory-dispatch
**Machine bundle:** https://miscsubjects.com/api/articles/oip-directory-dispatch/bundle?format=markdown
**Live object tree:** https://miscsubjects.com/api/dispatch?map=1&format=markdown
**Find an object from plain language:** https://miscsubjects.com/api/dispatch?ask=<what you want>
**Read one object:** https://miscsubjects.com/api/dispatch?key=<KEY>&format=markdown

**Proof rule:** an action is not proven by intent, description, or a 200. It is proven by the ledger and the OIP receipt for the invocation.

Directory rows

The directory is the executable catalog. A row is the saved contract for one capability. It can be a tool, prompt, Hypertext Transfer Protocol (HTTP) target, Command Line Interface (CLI) command, database action, or build operation.

Dispatch

Dispatch is the invocation door. It receives a key and body. It finds the matching directory row. It applies authentication and shape rules. It runs the configured runner. It returns an Object Invocation Protocol (OIP) envelope.

You can invoke a directory row using standard HTTP requests. For example, using curl with a POST request:

bash
curl -X POST https://miscsubjects.com/api/dispatch \
     -H "Content-Type: application/json" \
     -d '{"key": "my-object-key", "body": {"input": "example data"}}'

Or using a GET request, where the body is JavaScript Object Notation (JSON) and must be Uniform Resource Locator (URL)-encoded:

bash
curl "https://miscsubjects.com/api/dispatch?invoke=my-object-key&body=%7B%22input%22%3A%22example%20data%22%7D"

Every invocation lands in an append-only ledger. A receipt is generated for each invocation. You can retrieve a receipt at /api/dispatch?receipt=inv_ID.

Why the row matters

If a row's contract is wrong, the build fails. It fails by obeying bad instructions. The repair path is to read the row. Compare it to the ledger result. Patch the smallest broken contract. Then retest the operation.

OIP and MCP: A Comparison

Object Invocation Protocol (OIP) is the system for invoking objects. An object is a directory row. OIP uses plain Uniform Resource Locators (URLs). It uses receipts for tracking invocations. OIP does not need a continuous connection, known as a persistent session. Any Artificial Intelligence (AI) model or system that can open a URL can act using OIP.

Model Context Protocol (MCP) is an open standard. An AI model connects to an MCP server. A server is a computer program that provides services to other programs. This connection uses a persistent session. A session is a continuous exchange of information. The MCP server exposes tools, resources, and prompts. The AI model can call these exposed items. MCP is not a content-management system.

Key Differences

Session Management: OIP is stateless. It does not maintain a persistent session between invocations. Each request is independent. MCP is stateful. It requires a persistent session for the AI model to interact with the server. Invocation Mechanism: OIP uses standard Hypertext Transfer Protocol (HTTP) requests and URLs. This makes it widely accessible. MCP uses a session-based protocol for interaction. Flexibility and Reach: OIP allows any system that can make an HTTP request to invoke an object. This includes simple scripts or web browsers. MCP requires a specific client-server connection within a defined session. Purpose: OIP is designed for invoking discrete, addressable objects via URLs. It focuses on direct action and verifiable receipts. MCP is designed for providing a rich, interactive environment for an AI model. It offers context and tools within a continuous session.

Latest clarity reviews (live)

Fresh models are sent this article's bundle and asked two separate questions: how clear is the machine JSON, and how clear is the English body. Scores are 0 to 10. The full history is in the append-only ledger.

  • 2026-07-03 00:44 · model @cf/meta/llama-3.3-70b-instruct-fp8-fast · NEEDS WORK · JSON 9/10 · English 8/10 · zero-context human 7/10

- gaps named: MCP explanation; Detailed comparison of OIP and MCP

  • 2026-07-02 23:20 · model @cf/meta/llama-3.3-70b-instruct-fp8-fast · NEEDS WORK · JSON 9/10 · English 8/10 · zero-context human 7/10

- gaps named: MCP explanation; Detailed comparison of OIP and MCP

How the loop self-corrects: a failing review queues a model revision of this article (a new append-only version). A missing concept named by a reviewer queues a brand-new machine-written article, which then enters the same review cycle.

1
revision
Evidence · 5 sources · swipe →chain oipinvocatio · verify chain · provenance

Key evidence

5 claims · tier-ranked · API
system
The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.
sources: oip-s3, oip-s4
system
The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.
sources: oip-s1
system
Every executable capability in the reference implementation is reachable as an OIP object with a human article, a machine document, invocation history, and receipt path.
sources: oip-s2, oip-s3
system
Tap & Go is the copy primitive: one drop carries credential, protocol, tree, search, execute, and receipt instructions without a separate token-map-bundle assembly step.
sources: oip-s2
system
OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.
sources: oip-s2, oip-s5
Talk to this article
Tap a phone. Ask anything about Directory rows and dispatch. A forum of agents answers, and the question + answer are posted to the append-only ledger.
Questions queue for the coding-agent forum (one answer per cron tick). Real phone instead: iMessage +14245134626 · WhatsApp. Thread + proof: JSON · ledger.
oip-directory-dispatch · posted 2026-07-02 · updated 2026-07-02
Ledger API & provenance
Provenance · 1 model pass · 0 tokens · $0 · 1 model
chain head virtual-oip
generate system/oip_articles · 2026-07-02 22:59 · 0 tok · virtual-oip
verify chain →
Live ledger · 23 payloads · 10 turns
recent activity · inspect
delivery.delivered blooio · 2026-07-03 02:59
delivery.delivered blooio · 2026-07-03 02:59
delivery.sent blooio · 2026-07-03 02:59
delivery.sent blooio · 2026-07-03 02:59
PROTOCOL_RUN dispatch · 2026-07-03 02:59 · t_n8c47t9y
PROTOCOL_RUN dispatch · 2026-07-03 02:59 · t_n8c47t9y
view full ledger & cards →
OIP REST + ledger
system shelf GET /api/dispatch?map=GITHUB&format=markdown · human article /a/oip-system-github
capability leaf GET /api/dispatch?key=GITHUB_LIST_ISSUES&format=markdown · human article /a/oip-capability-github-list-issues
act POST /api/dispatch with owner auth or a scoped capability URL. Public docs are open; mutating action is token-bounded.
token explain GET /api/dispatch?explain=1&share=TOKEN
receipt GET /api/dispatch?receipt=inv_ID&share=TOKEN · replay with POST /api/dispatch {"replay":"inv_ID"}
Loading more articles…