Everything connected. Frontend โ SaaS โ Backend โ Edge โ Cloud โ Data โ Protocols. Connect any sensor, system, or platform in under 30 minutes.
The primary integration protocol. Every tool in DEFONEOS is exposed via MCP (Model Context Protocol). JSON-RPC 2.0 over HTTP.
# List all 188+ tools
curl -X POST localhost:3101/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# Call a tool
curl -X POST localhost:3101/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"sigil_emit","arguments":{"line":"C|operator|sov3|integration test"}}}'
Auth: Bearer token (production) / none (local). Rate limit: 100 req/min (free), 1000/min (Pro), unlimited (Enterprise).
The Common Operating Picture (COP) renders on CesiumJS โ 3D globe with real-time sensor tracks, vessel positions, drone paths, threat zones, and weather overlays.
// 1. Fetch tracks from DEFONEOS MCP
const tracks = await fetch('http://localhost:3101/mcp', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0', id: 1,
method: 'tools/call',
params: {name: 'aisstream_maritime_get_vessels', arguments: {bbox: [-2, 51, 0, 53]}}
})
}).then(r => r.json());
// 2. Render on Cesium
tracks.forEach(v => {
viewer.entities.add({
position: Cesium.Cartesian3.fromDegrees(v.lon, v.lat),
point: {pixelSize: 8, color: v.threat ? Cesium.Color.RED : Cesium.Color.GREEN},
label: {text: v.name, font: '12px sans-serif'}
});
});
Supported overlays: AIS vessels, ADS-B aircraft, satellite imagery (Sentinel), weather radar, drone tracks, threat zones, geofences, unit positions.
FreeTAKServer provides TAK-compatible tactical data links (CoT โ Cursor on Target). DEFONEOS bridges CoT messages to MCP and vice versa.
FreeTAKServer (CoT XML)
โ Python bridge (defoneos-fts-bridge)
SOV3 Hub :3101 (MCP JSON-RPC)
โ MCP protocol
CesiumJS 3D COP (visual rendering)
pip install defoneos-fts-bridge python -m defoneos_fts_bridge --fts-host localhost:8087 --sov3-host localhost:3101
Supported CoT types: friendly positions (a-f-G), hostile tracks (a-h-H), sensor readings (a-u-S), emergency alerts (b-e-m).
Mava provides decentralized multi-agent swarm coordination. DEFONEOS exposes Mava tasks via MCP for centralized oversight.
# Via MCP
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "mava_swarm_deploy",
"arguments": {
"mission": "perimeter_patrol",
"drones": 8,
"pattern": "grid_search",
"area": [50.0, -2.0, 51.0, -1.0],
"altitude_m": 120
}
}
}'
Patterns: grid search, perimeter patrol, convergent search, escort, intercept. Simulator: PX4 SITL + jMAVSim.
Ollama provides on-device LLM inference. DEFONEOS uses it for sovereign, air-gapped AI โ no external API calls, no data leaves the machine.
# Install Ollama curl -fsSL https://ollama.ai/install.sh | sh # Pull models (DEFONEOS recommended set) ollama pull qwen2.5:3b # Fast routing (edge) ollama pull deepseek-r1:8b # Reasoning ollama pull llama3.1:8b # General purpose ollama pull nomic-embed-text # Embeddings ollama pull moondream # Vision (ISR imagery) # Configure DEFONEOS to use local Ollama export OLLAMA_HOST=http://localhost:11434 export SOV3_INFERENCE=ollama
Edge deployment: 7 GB total for 4 models โ runs on M2 Mac Mini, Raspberry Pi 5 (8GB), or ruggedized field laptop.
Sentinel Hub provides free Copernicus satellite imagery. DEFONEOS MCP wraps the API for NDVI, flood detection, and change analysis.
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "sentinel_hub_flood_detect",
"arguments": {
"bbox": [-2.5, 51.0, -1.5, 51.5],
"date_from": "2026-07-01",
"date_to": "2026-07-04",
"threshold": 0.3
}
}
}'
Outputs: GeoJSON flood polygons, NDWI raster, before/after comparison tiles. Update frequency: Sentinel-1 (every 6 days, radar โ works through clouds), Sentinel-2 (every 5 days, optical).
Real-time AIS vessel positions via WebSocket. DEFONEOS MCP subscribes, filters, and flags anomalies (dark vessels, zone violations).
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "aisstream_detect_dark_vessels",
"arguments": {
"area": "english_channel",
"rf_sensor": "rf_sensor_01",
"min_confidence": 0.7
}
}
}'
Anomaly types: AIS gap + RF detection (dark vessel), AIS spoofing (position mismatch), loitering, zone violation, speed anomaly, destination mismatch.
Connect any RTSP-compatible IP camera. DEFONEOS MCP captures frames, runs YOLOv8 object detection, and feeds results to the Cesium COP.
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "rtsp_camera_register",
"arguments": {
"camera_id": "perimeter-cam-01",
"url": "rtsp://10.0.0.50:554/stream1",
"location": [51.0, -2.0, 50],
"detection_model": "yolov8n",
"classes": ["person", "vehicle", "drone"],
"min_confidence": 0.5,
"capture_interval_s": 2
}
}
}'
Detection classes: person, vehicle, drone, weapon, fire, smoke, animal. Frame processing: 2-10 second intervals (configurable). Edge inference: YOLOv8n on Ollama/M2 = 30+ FPS.
Connect IoT sensors via MQTT. DEFONEOS MCP subscribes to topics, transforms messages, and routes to the appropriate domain module.
# Start the MQTT bridge MCP
python -m mqtt_bridge_mcp \
--broker tcp://10.0.0.100:1883 \
--topics "sensors/+/temperature,sensors/+/humidity,sensors/+/motion" \
--route temperature โ civil_resilience \
--route motion โ security_alert
# Query latest readings via MCP
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "mqtt_bridge_get_readings",
"arguments": {"topic": "sensors/building_a/temperature", "last_n": 100}
}
}'
Google's Agent-to-Agent protocol for inter-system federation. DEFONEOS exposes an A2A Agent Card (JSON-LD) and accepts tasks from remote A2A agents.
curl -X POST https://defoneos.csoai.org/a2a/task \
-H "Content-Type: application/json" \
-d '{
"message": "Scan sector alpha-7 for dark vessels",
"skill_id": "maritime-isr",
"arguments": {"sector": "alpha-7", "timeout_s": 300}
}'
Supported skills: eu-ai-act-compliance, maritime-isr, counter-drone, cyber-threat-detect, bft-governance, article-50-watermarking.
DEFONEOS uses PostgreSQL for persistent memory, SIGIL chain storage, and the knowledge graph. Every MCP can read/write to the shared DB.
-- SIGIL chain CREATE TABLE sigil_entries ( id SERIAL PRIMARY KEY, entry_text TEXT NOT NULL, hash VARCHAR(64) NOT NULL UNIQUE, prev_hash VARCHAR(64), signature TEXT NOT NULL, actor VARCHAR(100) NOT NULL, timestamp TIMESTAMPTZ DEFAULT NOW(), verified BOOLEAN DEFAULT true ); -- Memory episodes CREATE TABLE memory_episodes ( id SERIAL PRIMARY KEY, content TEXT NOT NULL, source_agent VARCHAR(100), memory_type VARCHAR(50), care_weight FLOAT DEFAULT 0.5, tags TEXT[], created_at TIMESTAMPTZ DEFAULT NOW() ); -- Sensor tracks CREATE TABLE sensor_tracks ( id SERIAL PRIMARY KEY, track_type VARCHAR(50), -- vessel, aircraft, drone, vehicle lat FLOAT, lon FLOAT, alt FLOAT, speed FLOAT, heading FLOAT, confidence FLOAT, source VARCHAR(100), detected_at TIMESTAMPTZ DEFAULT NOW() );
Every DEFONEOS MCP runs through CI/CD: lint, test, build, publish to PyPI on tag.
name: Publish MCP to PyPI
on:
push:
tags: ['v*']
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: {python-version: '3.11'}
- run: pip install build twine
- run: python -m build
- run: twine upload dist/* -u __token__ -p ${{ secrets.PYPI_TOKEN }}
GDELT monitors global news in real-time. DEFONEOS MCP filters for conflict events, sentiment shifts, and emerging threats.
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "gdelt_conflict_monitor",
"arguments": {
"region": "eastern_europe",
"event_codes": ["14", "17", "18", "19", "20"],
"last_hours": 24,
"min_goldstein": -5
}
}
}'
Goldstein scale: -10 (extreme conflict) to +10 (cooperation). CAMEO event codes: 14 (protest), 17 (coerce), 18 (assault), 19 (fight), 20 (mass violence).
5 MCP servers wrap UK government open data APIs. All OGL v3 licensed โ free to use, share, and adapt.
| MCP | Source | API | Auth |
|---|---|---|---|
os-opendata | Ordnance Survey | OS Data Hub | API key (free) |
companies-house | Companies House | REST API | API key (free) |
ons-statistics | Office for National Statistics | REST API | None |
data-gov-uk | data.gov.uk | CKAN API | None |
met-office | Met Office | DataPoint API | API key (free) |
DEFONEOS can send alerts and reports to Matrix rooms for secure, federated team communication. End-to-end encrypted.
# Alert configuration (planned) [defoneos.matrix] enabled = true homeserver = "https://matrix.csoai.org" room_id = "!defoneos-alerts:csoai.org" alert_level = "high" # minimum level to post e2e = true
DEFONEOS communicates through 12 Layer 0 protocols. Every protocol is open-standard, vendor-neutral, and sovereign-compatible.
| Protocol | Use | Port | Status |
|---|---|---|---|
| MCP (Model Context Protocol) | Tool discovery + execution | :3101 | โ Live |
| A2A (Agent-to-Agent) | Inter-agent federation | :3101/a2a | โ Live |
| x402 (Coinbase) | Per-outcome invoicing | :3101/x402 | โ Live |
| DID (W3C Decentralized ID) | Agent identity | :3101/did | โ Live |
| SIGIL (Signed chain) | Audit ledger | :3101/sigil | โ Live |
| HTTP/3 | Page delivery | :443 | โ Live (Vercel) |
| WebSocket | Real-time streams | :3101/ws | โ Live |
| gRPC | High-perf RPC | :9090 | โ Live |
| Matrix | Secure messaging | :8448 | ๐ก Planned |
| IPFS | Content addressing | :4001 | ๐ก Planned |
| IBC | Inter-blockchain | โ | ๐ก Planned |
| OIDC | Federated auth | :3101/oidc | โ Live |
git clone https://github.com/CSOAI-ORG/defoneos.git cd defoneos pip install -r requirements.txt python -m sov3.hub --port 3101
python -m defoneos.identity --generate # Saves Ed25519 keypair to ~/.defoneos/identity.json # Registers on the SIGIL chain (L1 OrgKernel)
# Example: Connect an RTSP camera
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "rtsp_camera_register",
"arguments": {
"camera_id": "my-camera",
"url": "rtsp://YOUR_CAMERA_IP:554/stream",
"location": [YOUR_LAT, YOUR_LON, 0],
"detection_model": "yolov8n"
}
}
}'
# Open the COP
open https://csoai-static-deploy2.vercel.app/defoneos-demo.html
# Or embed in your app
<script src="https://cesium.com/cesium/cesium/></script>
<script src="https://csoai-static-deploy2.vercel.app/js/defoneos-cesium.js"></script>
<div id="cesiumContainer"></div>
<script>DEFONEOS.init("cesiumContainer", {hub: "http://localhost:3101"})</script>
curl -X POST localhost:3101/mcp -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": {
"name": "sigil_emit",
"arguments": {"line": "C|my-org|sov3|first integration complete โ system online"}
}
}'
# Your action is now permanently recorded in the audit chain.
# Register as a council observer python -m defoneos.council --register \ --name "my-org-observer" \ --role observer \ --key ~/.defoneos/identity.json # Submit your first proposal python -m defoneos.council --propose \ "Increase ISR coverage in sector 7" \ --type standard
| Deployment | Auth Method | Tokens | Notes |
|---|---|---|---|
| Local dev | None | โ | localhost only, no auth needed |
| Production | Bearer token | Ed25519-signed JWT | 24h expiry, refresh via OIDC |
| Air-gapped | Client cert | mTLS + smartcard | SC-level clearance required |
| Coalition | Federated OIDC | Cross-domain trust | Per-nation identity provider |
| Tier | Requests/min | Concurrent | Tools | Price |
|---|---|---|---|---|
| Open Source | 100 | 5 | All 188+ | ยฃ0 |
| Pro | 1,000 | 20 | All + priority queue | ยฃ499/mo |
| Governance | 5,000 | 50 | All + BFT managed | ยฃ2,499/mo |
| Enterprise | Unlimited | Unlimited | All + dedicated VM | ยฃ9,999+/mo |
A: Yes. FreeTAKServer bridge translates CoT XML โ MCP JSON. Your existing TAK clients (ATAK, WinTAK, iTAK) see DEFONEOS as another TAK endpoint.
A: No. Ollama runs quantized models on CPU. An M2 Mac handles 4 models at 10+ tokens/sec. For ISR (YOLOv8), the Neural Engine on Apple Silicon provides 30+ FPS inference.
A: Build an MCP server that wraps your sensor's API. Use the Mavis pattern (7-file slim package). Submit via PR. pip install mavis-mcp-template to scaffold.
A: Coalition mode supports STANAG- compliant data exchange (Link 16/VMF translation via bridge), A2A protocol for agent federation, and federated BFT for multi-nation governance. AUKUS Pillar 2 compatible.
A: A single Raspberry Pi 5 (8GB) running Ollama + 5 core MCPs + PostgreSQL. That's sovereign AI in your pocket for ยฃ80.