Nexus 0.5.2
Nexus 0.5.2 - September 24, 2025
Summary
This release introduces Role-Based Access Control (RBAC) for MCP tools, allowing fine-grained control over which users can access specific MCP servers and tools based on group membership. The implementation supports allow/deny lists at both server and tool levels, providing flexible security policies for enterprise deployments. Additionally, this release includes a fix for unconnected LLM spans in telemetry and various dependency updates.
New Features
Role-Based Access Control for MCP Tools
User Impact: Administrators can now restrict access to MCP servers and individual tools based on user group membership. This enables scenarios like limiting expensive or sensitive tools to specific user groups, blocking suspended users, or creating tiered access levels for different subscription plans.
Technical Details:
- Implemented hierarchical access control with server-level and tool-level rules
- Added support for allow lists and deny lists
- Tool-level rules override server-level rules for fine-grained control
- Empty allow list (
allow = []) blocks all access without requiring client identification - Deny rules take priority over allow rules when both are specified
- Files modified:
crates/mcp/src/access.rs- Core access control logic implementationcrates/config/src/mcp.rs- Configuration structures for allow/deny listscrates/config/src/loader.rs- Configuration validation and loadingcrates/mcp/src/server.rs- Integration of access control into MCP servercrates/mcp/src/server/search.rs- Tool filtering in search resultscrates/mcp/src/server/search/grouped.rs- Grouped search with access filteringcrates/mcp/src/cache.rs- Cache key updates for access control
Configuration Example:
# Server-level access control
[mcp.servers.premium_tools]
cmd = ["premium-server"]
allow = ["premium", "enterprise"] # Only these groups can access
deny = ["suspended"] # Block specific groups
# Tool-level override (more specific than server-level)
[mcp.servers.premium_tools.tools.expensive_feature]
allow = ["enterprise"] # Only enterprise can use this tool
[mcp.servers.premium_tools.tools.deprecated_tool]
allow = [] # Empty allow list blocks all accessBug Fixes
Fixed Unconnected LLM Spans in Telemetry
Issue: LLM operations were creating orphaned trace spans that weren't properly connected to the parent trace context, making it difficult to track request flows in distributed tracing systems.
Resolution: Updated span creation logic to properly attach LLM spans to their parent context, ensuring complete trace hierarchies.
Technical Details:
- Modified span parent assignment in LLM telemetry layer
- Files modified:
crates/server/src/tracing.rs, telemetry tracing tests - Ensures proper correlation of LLM requests with their originating API calls
Infrastructure/DevOps Changes
Dependency Updates
User Impact: Improved security, performance, and compatibility through updated dependencies.
Technical Details:
- Updated
taiki-e/install-actionfrom v2.61.12 to v2.62.5 - CI/CD improvements - Updated
opentelemetry-collector-contribDocker image to v0.136.0 - Enhanced telemetry capabilities - Updated
tempfilecrate to v3.23.0 - Improved temporary file handling - Updated
serdeto v1.0.226 - Serialization improvements - Updated
clapto v4.5.48 - CLI argument parsing enhancements - Regular
cargo updatefor transitive dependency updates
Deployment Notes
Configuration Changes
For users upgrading from 0.5.1, the following new RBAC configuration options are available:
# MCP server-level access control
[mcp.servers.your_server]
allow = ["group1", "group2"] # Optional: whitelist groups
deny = ["blocked_group"] # Optional: blacklist groups
# Tool-level access control (overrides server-level)
[mcp.servers.your_server.tools.specific_tool]
allow = ["special_group"] # Tool-specific access
# Client identification for RBAC (required when using group-based access)
[server.client_identification]
enabled = true
[server.client_identification.validation]
group_values = ["group1", "group2", "special_group", "blocked_group"]Breaking Changes
None - this release maintains full backward compatibility with 0.5.1. The RBAC features are opt-in.
Migration Steps
- No migration required for existing deployments
- To enable RBAC:
- Add
allowordenylists to MCP server configurations - Enable client identification if using group-based access
- Configure
group_valuesto list all valid groups
- Add