GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - copyleftdev/allman: High-performance MCP agent mail server — lock-free message routing, NRT search, Git audit trail. Built in Rust.

BranchesTags
Open more actions menu

Latest commit

 

History

167 Commits
167 Commits

Folders and files

NameName
Last commit message
Last commit date
.claude
.claude
 
 
examples
examples
 
 
src
src
 
 
.coderabbit.yaml
.coderabbit.yaml
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
docker-compose.yml
docker-compose.yml
 
 
setup_gpu.sh
setup_gpu.sh
 
 

Repository files navigation

Allman

A high-performance MCP agent mail server built in Rust. Named in honor of Eric Allman, creator of Sendmail.

Allman acts as the communication backbone for large swarms of autonomous AI agents — concurrent durable message routing, near-real-time search, and a Git-backed profile audit trail, all exposed through the Model Context Protocol.

Architecture

[ Agent Swarm ]                      [ vLLM / GPU Inference ]
       |                                   (Port 8001)
  MCP JSON-RPC                              |
       v                                    |
+----------------------------------------------+
|              ALLMAN SERVER (Rust)              |
|                                               |
|  MCP Controller   (tools/call, tools/list)    |
|       |                                       |
|  PostOffice                                   |
|    ├─ DashMap        recoverable hot projection|
|    ├─ Fjall          durable message log       |
|    ├─ Tantivy        NRT full-text search      |
|    └─ Git Actor      profile audit trail       |
|                                               |
|  Persist Worker      batched indexing pipeline  |
|    crossbeam-channel → Tantivy IndexWriter     |
+----------------------------------------------+
              Port 8000

Hot path: validation and reads remain in memory. Message writes pass through a dedicated Fjall group-commit actor and are acknowledged only after the configured durability boundary.

Persistence: canonical messages and per-recipient delivery pointers are stored atomically. DashMap inboxes and the Tantivy index are rebuildable projections. A 350µs microbatch window amortizes sync cost across concurrent sends.

MCP Tools

Connect any MCP-compatible client to http://localhost:8000/mcp.

Tool Description
create_agent Register an agent (project_key, name_hint, program, model)
send_message Send a message (from_agent, to, subject, body, project_id)
get_inbox Retrieve and drain unread messages for an agent
receive_messages Lease unread messages with a visibility timeout
ack_messages Durably acknowledge a leased batch
search_messages Full-text search across all indexed messages

Getting Started

Prerequisites

  • Rust 1.90+
  • Docker (optional — for containerized deployment and vLLM)
  • NVIDIA GPU + nvidia-container-toolkit (optional — only for LLM inference)

Build from Source

git clone https://github.com/copyleftdev/allman.git
cd allman
cargo build --release

Run

# Start the server (binds to 0.0.0.0:8000)
cargo run --release

Configuration via environment variables (or .env):

Variable Default Description
INDEX_PATH allman_index Tantivy index directory
REPO_ROOT allman_repo Git audit trail directory
STORE_PATH allman_store Fjall durable message store directory
DURABILITY_MODE strict strict, balanced, or buffered
SERVER_ADDR 0.0.0.0:8000 HTTP listen address
RUST_LOG allman=debug Log level filter

strict uses fsync, balanced uses fdatasync, and buffered protects against process crashes but not OS or power loss. Production deployments should use strict unless their filesystem guarantees make balanced appropriate.

Docker

# Allman server only
docker compose up allman -d

# Allman + vLLM GPU inference
sudo ./setup_gpu.sh   # one-time NVIDIA toolkit install
docker compose up -d

Simulations

Included binaries demonstrate swarm behavior with LLM-driven agents:

Binary Description
cyber_sim 30-agent cybersecurity incident response (Blue Team, Forensics, CISO)
black_friday Retail chaos simulation with personality-driven personas
escrow_sim Real estate closing day with buyer, seller, and escrow officer
swarm_stress High-concurrency stress test for throughput benchmarking
benchmark Targeted latency and throughput measurements
cargo run --release --bin cyber_sim
cargo run --release --bin swarm_stress

Note: Simulations that use LLM inference require a running vLLM instance on port 8001. The stress test and benchmark run against Allman alone.

Project Structure

src/
├── main.rs           Axum server, routing, MCP endpoint
├── controllers.rs    MCP tool dispatch (create_agent, send_message, etc.)
├── durable.rs        Fjall group-commit actor, recovery, leases, acknowledgements
├── state.rs          PostOffice: DashMap state, Tantivy index, persist pipeline
├── models.rs         Data types (InboxEntry, Agent, Message)
├── git_actor.rs      Dedicated OS thread for Git audit commits
└── bin/
    ├── benchmark.rs
    ├── black_friday.rs
    ├── cyber_sim.rs
    ├── escrow_sim.rs
    ├── simulation.rs
    └── swarm_stress.rs

Contributing

cargo fmt
cargo check   # must pass clean
cargo test

License

MIT

About

High-performance MCP agent mail server — lock-free message routing, NRT search, Git audit trail. Built in Rust.

allman-mcp.vercel.app/

Topics

agentai-agentsdistributed-systemshigh-performancelock-freemcpmessage-queuemodel-context-protocolrustsimulationsqlitetantivyvllm

Resources

Readme
MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.