Skip to content

cyrup-ai/sweetmcp

Repository files navigation

SweetMCP 🍯

SweetMCP

The ultimate Model Context Protocol integration platform
Zero-configuration AI agent infrastructure with enterprise-grade security


⚑ One-Line Installation

curl -fsSL https://get.cyrup.ai/install | sh
πŸ” Installation Details

Cross-Platform Support: Auto-detects OS and architecture

  • macOS: Intel + Apple Silicon (Darwin)
  • Linux: x86_64 + aarch64 (systemd)
  • Windows: x86_64 + i686 (services)

What it installs:

  1. Rust toolchain (if missing)
  2. Clones git@github.com:cyrup-ai/sweetmcp
  3. Builds native binaries with Cargo
  4. Generates wildcard SSL certificates (*.cyrup.{dev,ai,cloud,pro})
  5. Configures OS trust stores and DNS resolution
  6. Deploys systemd/launchd services
  7. Starts daemon with proper privileges

Result: Production-ready MCP infrastructure in ~60 seconds


πŸ—οΈ Core Architecture

SweetMCP provides six foundational AI infrastructure components:

πŸ—„οΈ SURREAL MEMORY

Context-augmentation memory system (vector & graph relationships)

  • Backend: SurrealDB multi-model database
  • Vector Search: Embedded similarity matching
  • Graph Relations: Knowledge graph with entity linking
  • Retention: Global + project-local scoping
  • Integration: Full Obsidian knowledge-base support
  • Visibility: Transparent agent context inspection
// Example: Memory API
sweetmcp::memory::store_context("project_id", &embedding, &metadata).await?;
let related = sweetmcp::memory::semantic_search("query", 0.8, 10).await?;

πŸ” CRYYPT

Post-quantum encryption vault and secret management

  • Cryptography: Military-grade, quantum-resistant algorithms
  • Zero-Knowledge: Agents never access raw credentials
  • Architecture: Pure Rust implementation with timing-safe operations
  • Access Control: Time-based expiration and role-based permissions
  • Storage: Encrypted vault with secure key derivation
// Example: Secret access without exposure
let result = cryypt::execute_with_secret("aws_key", |secret| {
    aws_client.authenticate(secret).call_api()
}).await?;
// Secret never leaves secure context

🎀 FLUENT VOICE

Pure-Rust AI voice system with predictive capabilities

  • STT: faster-whisper speech-to-text
  • Wake Words: Native wake word detection
  • Prediction: Anticipatory text completion during speech
  • TTS: Pure-Rust Candle port of Dia Voice
  • Performance: Low-latency, on-device processing
  • Quality: Expressive voice synthesis with emotional range
// Example: Voice interaction
let transcription = fluent_voice::listen_with_prediction().await?;
let response = fluent_voice::synthesize(&text, Voice::Expressive).await?;

⚑ LOCAL AI

Autonomous "ambient agents" for background optimization

  • Architecture: Self-configuring agent swarm
  • Autonomy: Zero direct user interaction required
  • Capabilities:
    • Prompt optimization and auto-tuning
    • Task decomposition and parallelization
    • Documentation procurement and indexing
    • Preference learning and memorization
  • Integration: Assists primary AI models transparently
// Example: Ambient agent coordination
ambient::spawn_optimizer_for(primary_model_id).await?;
ambient::background_task_decomposer::register(complex_task).await?;

🧠 CODE GENERATION

Advanced reasoning and autocoding capabilities

  • Reasoning: Deep reasoning chains with iterative refinement
  • Search: MCTS (Monte Carlo Tree Search) for solution exploration
  • Research: Deep research agents with multi-source synthesis
  • Context: Entire codebase understanding and analysis
  • Generation: Specialized models for different programming domains
// Example: Code generation with reasoning
let solution = code_gen::reason_and_generate(CodeRequest {
    context: codebase_context,
    requirements: user_spec,
    search_strategy: SearchStrategy::MCTS,
    reasoning_depth: 5
}).await?;

βˆ… ZERO FRICTION

Universal tool integration without configuration

Supported Platforms:

Operating Systems: Linux, macOS, Windows (all architectures) Setup Time: Literally zero - auto-discovery and configuration

// Auto-generated MCP configuration
{
  "mcpServers": {
    "sweetmcp": {
      "command": "sweetmcp",
      "args": ["--stdio"],
      "env": {}
    }
  }
}

πŸ”§ Technical Specifications

Protocol Support

  • MCP (Model Context Protocol) - Native first-class support
  • JSON-RPC 2.0 - Full specification compliance
  • GraphQL - Query-based tool invocation
  • Cap'n Proto - High-performance binary protocol

Performance Characteristics

  • Latency: Sub-millisecond tool routing
  • Throughput: 10K+ requests/second per core
  • Memory: Minimal footprint with smart caching
  • Scaling: Horizontal with service mesh discovery

Security Model

  • Authentication: JWT with configurable signing algorithms
  • Transport: TLS 1.3 with optional mTLS
  • Rate Limiting: Configurable per-endpoint throttling
  • Isolation: Process-level separation for tool execution

Service Endpoints

https://sweetmcp.cyrup.dev:8443   # Primary development endpoint
https://sweetmcp.cyrup.ai:8443    # AI-optimized routing
https://sweetmcp.cyrup.cloud:8443 # Cloud services integration  
https://sweetmcp.cyrup.pro:8443   # Professional tooling

πŸš€ Advanced Configuration

Environment Variables

# Core Configuration
export SWEETMCP_JWT_SECRET="$(openssl rand -base64 32)"
export SWEETMCP_TCP_BIND="0.0.0.0:8443"
export SWEETMCP_METRICS_BIND="127.0.0.1:9090"

# Performance Tuning
export SWEETMCP_INFLIGHT_MAX=1000
export SWEETMCP_WORKER_THREADS=8
export SWEETMCP_CONNECTION_POOL_SIZE=100

# Discovery & Clustering
export SWEETMCP_DNS_SERVICE="_sweetmcp._tcp.example.com"
export SWEETMCP_DISCOVERY_TOKEN="cluster-shared-secret"
export SWEETMCP_NODE_ID="$(hostname)"

Clustering with DNS SRV

_sweetmcp._tcp.example.com. 300 IN SRV 10 50 8443 node1.example.com.
_sweetmcp._tcp.example.com. 300 IN SRV 10 30 8443 node2.example.com.
_sweetmcp._tcp.example.com. 300 IN SRV 20 20 8443 node3.example.com.

Service Management

# Linux (systemd)
sudo systemctl start|stop|restart cyrupd
sudo systemctl enable cyrupd  # Auto-start on boot
journalctl -u cyrupd -f       # Live logs

# macOS (launchd)  
sudo launchctl load|unload /Library/LaunchDaemons/com.cyrup.cyrupd.plist
tail -f /var/log/cyrupd.log

# Windows (sc)
sc start|stop cyrupd
sc config cyrupd start=auto

πŸ§ͺ API Examples

MCP Tool Invocation

curl -X POST https://sweetmcp.cyrup.dev:8443/ \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call", 
    "params": {
      "name": "file_operations/read",
      "arguments": {"path": "/etc/hosts"}
    }
  }'

GraphQL Query

curl -X POST https://sweetmcp.cyrup.dev:8443/graphql \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -H "Content-Type: application/graphql" \
  -d 'query {
    tools {
      list {
        name
        description
        inputSchema
      }
    }
  }'

Memory Operations

# Store context
curl -X POST https://sweetmcp.cyrup.dev:8443/ \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "memory/store",
    "params": {
      "content": "User prefers TypeScript over JavaScript",
      "metadata": {"type": "preference", "user_id": "123"}
    }
  }'

# Semantic search
curl -X POST https://sweetmcp.cyrup.dev:8443/ \
  -H "Authorization: Bearer $JWT_TOKEN" \
  -d '{
    "jsonrpc": "2.0", 
    "method": "memory/search",
    "params": {
      "query": "programming language preferences",
      "threshold": 0.8,
      "limit": 5
    }
  }'

πŸ”¬ Development & Debugging

Build from Source

git clone git@github.com:cyrup-ai/sweetmcp.git
cd sweetmcp
cargo build --release
cargo test --all-features

Debug Mode

RUST_LOG=debug,sweetmcp=trace cargo run -- daemon --debug

Health Checks

# Service health
curl -f https://sweetmcp.cyrup.dev:8443/health

# Metrics (Prometheus format)
curl http://127.0.0.1:9090/metrics

# Tool registry status
curl https://sweetmcp.cyrup.dev:8443/tools/list

πŸ—‘οΈ Uninstallation

# Stop services
sudo systemctl stop cyrupd && sudo systemctl disable cyrupd  # Linux
sudo launchctl unload /Library/LaunchDaemons/com.cyrup.cyrupd.plist  # macOS

# Remove daemon and certificates
sudo cyrupd uninstall

# Clean configuration (optional)
rm -rf ~/.config/{cyrupd,sweetmcp}
sudo sed -i '/# SweetMCP Auto-Integration/,+5d' /etc/hosts

πŸ“š Resources


πŸ“„ License

Dual licensed under MIT OR Apache-2.0 - choose what works for your use case.


Made with 🍯 by Cyrup.ai

About

A Blazing-fast, Pure-Rust MCP Solution backed by Pingora / Axum

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •