MCP server exposing the Ten formal algebra for machine intelligence communication
Project description
ten-mcp-server
MCP server exposing the Ten formal algebra for machine intelligence communication.
Ten treats messages as math, not natural language. This server gives LLMs structured access to Ten's algebraic operations via the Model Context Protocol.
Tools
| Tool | Description |
|---|---|
ten_encode |
Build a Ten expression from a structured dict and return its binary wire format |
ten_decode |
Deserialize wire bytes back into a structured expression |
ten_compose |
Algebraically combine two expressions (sequence, product, nest, union, intersect) |
ten_project |
Extract a subset of facet dimensions from an expression |
ten_filter |
Evaluate expressions against facet-based filter criteria |
ten_describe |
Return a human-readable structural description of an expression |
ten_verify |
Validate expression tree integrity and check assertion metadata |
All operations are pure code — no AI inference, no LLM calls. Encoding is building a data structure. Decoding is deserializing bytes. Filtering is numeric comparison.
Installation
One-click (MCP clients)
mcp install ten-mcp-server
From PyPI
pip install ten-mcp-server
From source
git clone https://github.com/johnbeans/Ten.git
cd Ten
pip install ./tenlang # install Python bindings first
pip install ./ten_mcp_server # install MCP server
Usage
As an MCP server (stdio transport)
ten-mcp-server
# or
python -m ten_mcp_server
Claude Desktop configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ten": {
"command": "ten-mcp-server"
}
}
}
Expression Format
Expressions are JSON-friendly dicts with a type field:
# Scalar: a numeric value with dimension and precision
{"type": "scalar", "dimension": 0, "value": 42.0, "precision": "64bit"}
# Operation: a verb with optional arguments
{"type": "operation", "verb": "query", "args": [
{"type": "scalar", "dimension": 1, "value": 100.0}
]}
# Assertion: a claim with confidence and identity
{"type": "assertion", "claim": {"type": "scalar", "dimension": 0, "value": 1.0},
"who": {"type": "identity", "pubkey": "AAAA..."},
"confidence": 0.95}
# Compositions: combine expressions algebraically
{"type": "sequence", "left": {...}, "right": {...}}
{"type": "nesting", "envelope": {...}, "payload": {...}}
Facets
Expressions can carry facet vectors — fixed-position sortable metadata:
urgency, cost, privilege, confidence, ttl, effort, reputation, value
Use ten_filter to evaluate expressions against facet criteria (e.g., "urgency >= 0.8 AND cost <= 50.0").
Dependencies
- tenlang — Python bindings for the Ten algebra (wraps libten C core)
- mcp — Model Context Protocol SDK
License
Apache-2.0 — Jolly Logic, LLC
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ten_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: ten_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2864eaad01bce255e46851b4f5e8a29c211ca6abe16c230c7cd971beb67964f7
|
|
| MD5 |
ccd993a9877de2a71df60b7cb82f198d
|
|
| BLAKE2b-256 |
f12fec94727e1ff00ffe4c6846d43102b0f3a504041ab3f6c12cb827fa39c6e4
|
File details
Details for the file ten_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ten_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
923acb6894efe84c639f21e39226a77ed66f068c3f660ad91539eb0a16309e5e
|
|
| MD5 |
ae321422b53347cf5f0d9c9d77607c56
|
|
| BLAKE2b-256 |
3254034d2b89fbf4a6bd4a7924c1e5379287789932f4a49815875019d8f1fa6a
|