scim-server 0.2.2

A comprehensive SCIM 2.0 server library for Rust with multi-tenant support and type-safe operations
Documentation
[package]
name = "scim-server"
version = "0.2.2"
edition = "2024"
authors = ["Andrew Bowers <abowers37@gmail.com>"]
license = "MIT"
description = "A comprehensive SCIM 2.0 server library for Rust with multi-tenant support and type-safe operations"
readme = "README.md"
homepage = "https://github.com/pukeko37/scim-server"
repository = "https://github.com/pukeko37/scim-server"
documentation = "https://docs.rs/scim-server"
keywords = ["scim", "identity", "provisioning", "enterprise", "mcp"]
categories = ["authentication", "web-programming", "api-bindings"]
exclude = ["target/*", "PROGRESS/*", ".git/*", "*.md"]

# docs.rs configuration for comprehensive documentation
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
serde = { version = "1.0.215", features = ["derive"] }
serde_json = "1.0.132"
tokio = { version = "1.47.0", features = ["full"] }
uuid = { version = "1.11.0", features = ["v4"] }
thiserror = "2.0.9"
chrono = { version = "0.4.38", features = ["serde"] }
base64 = "0.21"
sha2 = "0.10"
log = "0.4"

# MCP integration dependencies (optional)
rust-mcp-sdk = { version = "0.5", optional = true }
async-trait = { version = "0.1", optional = true }

[features]
default = []

# Model Context Protocol integration for AI agents
# Enables SCIM operations as discoverable tools for AI systems
# Includes structured tool schemas, error handling, and multi-tenant support
mcp = ["rust-mcp-sdk", "async-trait"]

[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
env_logger = "0.10"

# Schema validation utility for SCIM schema files
# Validates JSON structure, required fields, and SCIM compliance
# Usage: cargo run --bin schema-validator <file-or-directory>
[[bin]]
name = "schema-validator"
path = "src/bin/schema-validator.rs"

[[bench]]
name = "resource_performance"
harness = false

[[bench]]
name = "validation_overhead"
harness = false