Agentic AI instruction encoding. 60%+ compression. Inference-free decode. Any channel.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
OSMP (Octid Semantic Mesh Protocol) is an open encoding standard for agentic AI instruction and computation exchange. It works across any channel — from a 51-byte LoRa radio packet to a high-throughput cloud inference pipeline — using the same grammar, the same dictionary, and the same decode logic.
No cloud required. No inference at the decode layer. No central authority.
35 bytes on the wire. Decoded by dictionary lookup, not inference. Fits a single LoRa packet at maximum-range spreading factor. The same input produces field-for-field identical output in Python, TypeScript, Go, and Rust.
When AI agents communicate in JSON over HTTP, the cost compounds at every hop.
82 bytes of envelope before any content. Tokenization required. Inference required to parse. Fails completely at the 51-byte LoRa minimum payload.
21 bytes. Deterministic decode. Fits a single LoRa packet. No inference at the receiving node — the structured instruction is recovered by dictionary lookup.
What OSMP changes is the output format and the decode layer. Frameworks above it (MCP, A2A, ACP, CrewAI, AutoGen, LangGraph) stay the same. Transports below it (HTTP, LoRa, BLE, WiFi, Meshtastic, satellite) stay the same. The serialization step changes, and the decode becomes inference-free.
Two paths. Both run OSMP in production.
The agent connects to the OSMP MCP server and reads the osmp://system_prompt resource (~390 tokens, under 0.3% of a 200K context window). It learns the grammar, the dictionary, and the composition rules on connect.
The agent then calls osmp_compose with natural-language instructions. The deterministic pipeline returns SAL or NL_PASSTHROUGH if no opcode matches.
Add the Usage Doctrine to your LLM's system prompt. The model composes SAL via SALComposer.compose() (or your language's equivalent). Wire encode / decode / validate into your agent loop.
The validator catches hallucinated opcodes, missing consequence classes, namespace-as-target errors, byte inflation, and regulatory dependency violations. Eight rules. No exceptions.
Not every agent in your system speaks OSMP. The bridge handles the boundary.
The bridge annotates outbound messages with SAL, seeding the remote agent's context window. When the remote agent starts producing valid SAL through exposure, the bridge transitions from FALLBACK to ACQUIRED.
OSMP does not spread by installation. It spreads by contact.
A registered macro is a pre-validated multi-opcode SAL chain template invoked via A:MACRO[name]. The receiver expands the macro deterministically by dictionary lookup — no inference, no ambiguity, no per-message composition cost. Two macro corpora ship today.
Pre-validated SAL templates for Meshtastic protobuf telemetry over LoRa. Bundled with osmp-mcp. Resolvable via osmp_macro_invoke from any MCP-connected agent.
| Macro | Purpose |
|---|---|
MESH:DEV | DeviceMetrics telemetry (portnum 67) |
MESH:ENV | EnvironmentMetrics basic (portnum 67) |
MESH:AQ | AirQualityMetrics (portnum 67) |
MESH:PWR | PowerMetrics (portnum 67) |
MESH:HLTH | HealthMetrics (portnum 67) |
MESH:STAT | LocalStats (portnum 67) |
MESH:POS | Position (portnum 3) |
MESH:NODE | NodeInfo (portnum 4) |
MESH:ACK | Message acknowledgment (portnum 1) |
MESH:ALRT | Alert (portnum 11) |
MESH:TRACE | Traceroute (portnum 70) |
MESH:WPT | Waypoint (portnum 8) |
MESH:TALRT | Temperature threshold alert rule |
MESH:BATLO | Battery low threshold alert rule |
MESH:NOFF | Node offline detection rule |
MEDEVAC | Clinical MEDEVAC chain template — heart-rate threshold → casualty report → broadcast evacuation |
Pre-built eml(x, y) = exp(x) − ln(y) chain templates for 89 specific (namespace, opcode) pairs. Each entry has a 3-character shorthand ID, a function-class taxonomy, and a precision class. Cross-SDK byte-identical across Python, TypeScript, Go, and Rust. The MDR fingerprint (e88350b1...) and envelope-bounded fingerprint (8aa47bd5...) gate cross-SDK drift in CI.
compound_arithmetic (35) — ABS ADD CBT CSH CUB DIV EE2 EE3 EE4 EE5 EEM EEX ELN EM1 EME EMX EOX ESX EXP IDN LIN LL2 LL3 LOG MUL MXY NEG OML POW SNH SQR SQT SUB TNH ZER
scientific (19) — BES (Bose-Einstein) · BOL (Boltzmann factor) · BRN (Bernoulli pressure) · BWR (Breit-Wigner resonance) · CDP (classical Doppler) · CLB (Coulomb force) · DOP (relativistic Doppler) · FDR (Fermi-Dirac) · FRD (Friedmann H²(z)) · HAD (Hadamard quantum gate) · LRZ (Lorentz gamma) · MXB (Maxwell-Boltzmann speed) · ORV (orbital velocity) · PLK (Planck blackbody) · RCC (RC charging) · REN (relativistic energy) · RLC (RLC resonance) · SHR (Sharpe ratio) · STB (Stefan-Boltzmann)
nn_activation (10) — ELU · GLU (GELU approx) · LRL (Leaky ReLU) · LSX (log-softmax3) · MSH (Mish) · RLU (ReLU) · SIG (sigmoid) · SPL (softplus) · SWS (Swish/SiLU) · SX3 (softmax3)
linalg (8) — CMP (2×2 char poly) · CP3 (3D cross product) · DT2 (2×2 det) · INV (2×2 inv) · MMG (3×3 matmul) · MMP (2×2 matmul) · QML (quaternion mul) · TR3 (3×3 trace)
trigonometric (5) — ATA (atan Taylor) · COS (cos Taylor) · RRT (range-reduced sin) · SCH (sin Chebyshev) · SIN (sin Taylor)
complex_arithmetic (4) — CAB (magnitude) · CIM (mul Im) · CMU (mul (Re,Im) pair) · CRE (mul Re)
nn_layer (4) — ATM (attention 2-head) · ATN (attention score) · DEN (dense forward) · LST (LSTM cell)
numerical_method (3) — LRP (linear interp) · NEW (Newton-Raphson step) · SIM (Simpson quadrature)
special_function (1) — ERF (Taylor)
86 macros are in the bit-exact fingerprint corpus; 3 are envelope-bounded and verified separately against documented tolerance bounds. Full schema (chain templates, preprocessing rules, precision classes, envelope bounds) ships in each SDK's eml_mdr module. See docs/macros.md for the full per-macro catalog.
The macro architecture is open. Build your own corpus with the same (shorthand_id, chain_template, function_class, precision_class) shape and register it at runtime via the SDK's MacroRegistry. Per-corpus fingerprints surface in the FNP handshake so peers gate compatibility before exchanging macro-bound traffic.
Where macros encode what to do, MDR encodes what to look up. Domain-specific controlled-vocabulary corpora are packaged as D:PACK/BLK binaries — block-level zstd-compressed dictionaries that resolve a code to its definition without network access, on a microcontroller with 38 KB of SRAM, in single-digit milliseconds.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/osmp)<a href="https://allmcps.com/mcp/osmp"><img src="https://allmcps.com/api/badge/osmp?style=directory" alt="Osmp on AllMCPs" /></a>