Skip to main content

OCTAVE MCP Server - Lenient-to-Canonical OCTAVE pipeline with schema validation

Project description

OCTAVE MCP Server

License Python 3.11+ Tests Coverage

Production-grade MCP server implementing the OCTAVE document protocol for deterministic, auditable AI communication.

Table of Contents


For AI Agents

===AGENT_BOOTSTRAP===
GUIDANCE::AGENTS.oct.md
QUALITY_GATES::[mypy,ruff,black,pytest]
DEV_SETUP::docs/guides/development-setup.md
SPECS::specs/README.oct.md
IMMUTABLES::[I1,I2,I3,I4,I5]
===END===

What It Does

This repository ships the OCTAVE MCP Server—a Model Context Protocol implementation that exposes the OCTAVE document protocol as deterministic tools. The MCP layer is delivery plumbing; the value is the OCTAVE protocol itself.

OCTAVE (Olympian Common Text And Vocabulary Engine) is a deterministic document format and control plane for LLM systems. It keeps meaning durable when text is compressed, routed between agents, or projected into different views.

  • Non-reasoning: OCTAVE never guesses intent; it only accepts, validates, and projects what you declare.
  • Lenient → canonical: ASCII aliases and flexible whitespace are accepted on ingest, then normalized to canonical Unicode with a logged repair tier.
  • Schema-anchored: Data and schema blocks travel together so routing and validation remain explicit.
  • Auditable loss: Compression and projections must declare what was dropped; nothing is silently tightened or weakened.

Language, operators, and readability

  • Syntax: Unicode-first operators (, , , , , , §) with ASCII aliases (->, +, ~, vs, |, &, §) keep documents compact while staying typable everywhere.
  • Vocabulary: Mythological terms are deliberate compression shorthands (e.g., ICARIAN, SISYPHEAN, HUBRIS→NEMESIS) that pack multiple related concepts into single tokens for higher semantic density.
  • Authoring: Humans typically write in the lenient view and rely on octave validate to normalize into canonical Unicode; both views stay human-auditable.

See the protocol specs in specs/ for the precise operators, envelopes, and schema rules (v5.1.0).

What this server provides

octave-mcp bundles the OCTAVE tooling as MCP tools and a CLI.

  • 3 MCP tools: octave_validate, octave_write, octave_eject
  • CLI commands: octave validate, octave write, octave eject
  • Deterministic: Non-reasoning control plane for syntax, validation, projection
  • Loss accounting: Every transformation logged with audit trails
  • Schema-anchored: Validation travels with documents

When OCTAVE Helps

Use OCTAVE when documents must survive multiple agent/tool hops, repeated compression, or auditing:

  • Coordination briefs, decision logs, policy artifacts that circulate between agents
  • Reusable prompts or RAG artifacts needing stable structure across context windows
  • Documents mixing prose with routing/targets (e.g., §targets for tools or indexes)

Proven efficiency:

  • 54–68% token reduction vs equivalent JSON while preserving fidelity
  • 90.7% comprehension rate (zero-shot across Claude, GPT-4o, Gemini)
  • Higher quality outputs (9.3/10 vs 8.3/10) when compression is explicit

See docs/research/ for benchmarks and validation studies.

Installation

PyPI:

pip install octave-mcp
# or
uv pip install octave-mcp

From source:

git clone https://github.com/elevanaltd/octave-mcp.git
cd octave-mcp
uv pip install -e ".[dev]"

Quick Start

CLI

# Validate and normalize to canonical form
octave validate document.oct.md --schema DECISION_LOG

# Write with validation (from content)
echo "===DOC===\nKEY::value" | octave write output.oct.md --stdin --schema META

# Project to a view/format
octave eject document.oct.md --mode executive --format markdown

MCP Setup

Add to Claude Desktop (claude_desktop_config.json) or Claude Code (~/.claude.json):

{
  "mcpServers": {
    "octave": {
      "command": "octave-mcp-server"
    }
  }
}

Or use the setup script:

./setup-mcp.sh --all              # Configure all clients
./setup-mcp.sh --show-config      # Show config for copy/paste

See docs/mcp-configuration.md for advanced configuration.

MCP Tools

Tool Purpose
octave_validate Schema validation + canonical normalization
octave_write Unified file creation/modification (content OR delta changes)
octave_eject Format projection (octave, json, yaml, markdown)

Repair Tiers

OCTAVE separates semantic decisions from mechanical guarantees through three repair tiers:

  • NORMALIZATION (always): ASCII→Unicode, whitespace (semantics preserved)
  • REPAIR (opt-in): Schema-bounded coercions (enum casefold, type conversion)
  • FORBIDDEN (never): Semantic inference, structure invention, target guessing

Every transformation is logged for auditability.

Documentation

Doc Content
Usage Guide CLI, MCP, and API examples
API Reference Python API documentation
MCP Configuration Client setup and integration
Protocol Specs Canonical operators, envelopes, schema rules (v5.1.0)
Development Setup Dev environment, testing, quality gates
Architecture Decision records and design docs
Research Benchmarks and validation studies

Architecture Immutables

ID Principle
I1 Syntactic Fidelity — normalization alters syntax, never semantics
I2 Deterministic Absence — distinguish absent vs null vs default
I3 Mirror Constraint — reflect only what's present, create nothing
I4 Transform Auditability — log every transformation with stable IDs
I5 Schema Sovereignty — validation status visible in output

Contributing

See CONTRIBUTING.md for development setup, testing, and guidelines.

# Quick dev setup
git clone https://github.com/elevanaltd/octave-mcp.git
cd octave-mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"

# Run tests (706 passing, 87% coverage)
pytest

# Quality checks
ruff check src tests && mypy src && black --check src tests

License

Apache-2.0 — Built with MCP Python SDK.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octave_mcp-0.3.0.tar.gz (93.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octave_mcp-0.3.0-py3-none-any.whl (104.4 kB view details)

Uploaded Python 3

File details

Details for the file octave_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: octave_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 93.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for octave_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2c9f8941fcc556abd6fa6c50e461f3684c1e30af2b61871be9b4acc66cf77a5f
MD5 e844012a6259dd2b8a843b91f567afec
BLAKE2b-256 56ec606b9ec9bb4bfe6e72ba9c991fae0d0f70bac51a91c528f593d0d4dc07d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for octave_mcp-0.3.0.tar.gz:

Publisher: publish.yml on elevanaltd/octave-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file octave_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: octave_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 104.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for octave_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c670836c52102a93224f8c4c0733b5cf38d7814a0ea855619b462a99f03f0ac6
MD5 b532cb1e6cfd0a8dccce4c3b8280c00b
BLAKE2b-256 30aacc8260aabdf4ecd9bed05d2541baeab09adf4f1fbf90821d08addec2eb90

See more details on using hashes here.

Provenance

The following attestation bundles were made for octave_mcp-0.3.0-py3-none-any.whl:

Publisher: publish.yml on elevanaltd/octave-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page