[workspace] members = ["crates/libmcp", "crates/libmcp-derive", "crates/libmcp-testkit"] resolver = "3" [workspace.package] categories = ["development-tools", "command-line-utilities"] description = "Industrial MCP hardening spine with host/worker recovery, model-facing rendering doctrine, and operational telemetry." edition = "2024" keywords = ["mcp", "tooling", "ai", "json-rpc", "operations"] license = "Apache-2.0" readme = "README.md" repository = "https://github.com/example/libmcp" rust-version = "1.94" version = "1.1.0" [workspace.dependencies] assert_matches = "1.5.0" proc-macro2 = "1.0.103" quote = "1.0.41" schemars = "1.1.0" serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0.145" syn = { version = "2.0.108", features = ["full"] } tempfile = "3.23.0" thiserror = "2.0.17" tokio = { version = "1.48.0", features = ["io-util", "macros", "rt", "rt-multi-thread", "sync", "time"] } url = "2.5.7" [workspace.lints.rust] elided_lifetimes_in_paths = "deny" missing_docs = "deny" unexpected_cfgs = "deny" unsafe_code = "deny" unused_crate_dependencies = "warn" unused_lifetimes = "deny" unused_qualifications = "deny" unused_results = "deny" [workspace.lints.rustdoc] bare_urls = "deny" broken_intra_doc_links = "deny" [workspace.lints.clippy] all = { level = "deny", priority = -2 } pedantic = { level = "deny", priority = -1 } cargo = { level = "warn", priority = -3 } dbg_macro = "deny" expect_used = "deny" panic = "deny" todo = "deny" unimplemented = "deny" unwrap_used = "deny" allow_attributes_without_reason = "deny" cargo_common_metadata = "allow" missing_errors_doc = "allow" missing_panics_doc = "allow" multiple_crate_versions = "allow" items_after_statements = "allow" many_single_char_names = "allow" match_same_arms = "allow" module_name_repetitions = "allow" similar_names = "allow" struct_field_names = "allow" too_many_arguments = "allow" too_many_lines = "allow" unnested_or_patterns = "allow" cast_lossless = "allow" cast_possible_truncation = "allow" cast_possible_wrap = "allow" cast_precision_loss = "allow" cast_sign_loss = "allow" float_cmp = "allow" implicit_hasher = "allow" manual_let_else = "allow" map_unwrap_or = "allow" uninlined_format_args = "allow" ignored_unit_patterns = "allow" must_use_candidate = "allow" needless_pass_by_value = "allow" no_effect_underscore_binding = "allow" redundant_closure_for_method_calls = "allow" ref_option = "allow" return_self_not_must_use = "allow" trivially_copy_pass_by_ref = "allow" unused_async = "allow" used_underscore_binding = "allow" [workspace.metadata.rust-starter] format_command = ["cargo", "fmt", "--all", "--check"] clippy_command = [ "cargo", "clippy", "--workspace", "--all-targets", "--all-features", "--", "-D", "warnings", ] test_command = ["cargo", "test", "--workspace", "--all-targets", "--all-features"] doc_command = ["cargo", "doc", "--workspace", "--all-features", "--no-deps"] fix_command = [ "cargo", "clippy", "--fix", "--workspace", "--all-targets", "--all-features", "--allow-dirty", "--allow-staged", ]