Skip to content

Release 0.15.0: Major cleanup and OAuth completion - #77

Merged
avrabe merged 6 commits into
mainfrom
release/0.15.0
Dec 5, 2025
Merged

Release 0.15.0: Major cleanup and OAuth completion#77
avrabe merged 6 commits into
mainfrom
release/0.15.0

Conversation

@avrabe

@avrabe avrabe commented Dec 5, 2025

Copy link
Copy Markdown
Contributor

Summary

Major cleanup release with breaking changes:

Breaking Changes

  • Removed mcp-cli and mcp-cli-derive crates - helpers moved to mcp-server::cli_helpers
  • Removed mcp-monitoring crate - merged into mcp-server::observability
  • Consolidated examples from 19 → 5

New Features

  • OAuth 2.1 complete - RFC 6750 Bearer token validation with WWW-Authenticate headers
  • RFC 8707 audience validation for resource servers

Migration Guide

mcp-cli → mcp-server

// Before
use pulseengine_mcp_cli::{CliError, config::create_server_info};

// After  
use pulseengine_mcp_server::{CliError, create_server_info};

mcp-monitoring → mcp-server

// Before
use pulseengine_mcp_monitoring::{MetricsCollector, MonitoringConfig};

// After
use pulseengine_mcp_server::observability::{MetricsCollector, MonitoringConfig};
// Or use the backward-compatible alias:
use pulseengine_mcp_server::monitoring::{MetricsCollector, MonitoringConfig};

Closed Issues

Stats

  • -9,500 lines removed (cleanup)
  • +266 lines OAuth bearer.rs
  • Examples: 19 → 5
  • Crates: 12 → 10

Delete mcp-cli crates (moved helpers to mcp-server).
Reduce examples from 19 to 5.
Remove unused tonic dep from mcp-logging.
Fix vault tests to require feature flag.

Closes #66, #68
Add bearer.rs module implementing:
- WWW-Authenticate header builder per RFC 6750 Section 3
- Bearer token validation with JWT decoding
- Audience validation per RFC 8707
- Resource metadata URL in error responses per RFC 9728 Section 5.1

Closes #73
Move monitoring functionality to mcp-server/src/observability module.
Add backward-compatible 'monitoring' alias for imports.
Remove mcp-monitoring crate from workspace.

Closes #67
@github-actions

github-actions Bot commented Dec 5, 2025

Copy link
Copy Markdown

PR Validation Results

Quick Validation: ✅

  • Format check
  • Clippy lints
  • Unit tests
  • Documentation

Compatibility Check: ✅

  • Protocol compliance
  • Server compatibility

Summary: ✅ All checks passed

Removed mcp-cli, mcp-cli-derive, mcp-monitoring references from:
- Dockerfile.validation
- pr-validation.yml
- docker-validation.yml
- external-validation.yml
- codecov.yml
@github-actions

github-actions Bot commented Dec 5, 2025

Copy link
Copy Markdown

Code Coverage Report 📊

Local Coverage: 23.48%
Validation: Handled by Codecov

Note: Coverage validation is now performed by Codecov to ensure consistency across all platforms.

Coverage Details
Filename                                                  Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
integration-tests/src/auth_server_integration.rs              392                63    83.93%          26                 9    65.38%         291                72    75.26%           0                 0         -
integration-tests/src/cli_server_integration.rs               400                32    92.00%          35                 5    85.71%         357                23    93.56%           0                 0         -
integration-tests/src/end_to_end_scenarios.rs                 922               176    80.91%          40                 9    77.50%         638                94    85.27%           0                 0         -
integration-tests/src/lib.rs                                   22                12    45.45%           5                 2    60.00%          44                17    61.36%           0                 0         -
integration-tests/src/monitoring_integration.rs               440                56    87.27%          28                 6    78.57%         375                75    80.00%           0                 0         -
integration-tests/src/transport_server_integration.rs         448               117    73.88%          31                11    64.52%         385               144    62.60%           0                 0         -
mcp-auth/src/audit.rs                                         390               262    32.82%          28                17    39.29%         276               177    35.87%           0                 0         -
mcp-auth/src/config.rs                                         48                41    14.58%          11                10     9.09%          75                68     9.33%           0                 0         -
mcp-auth/src/crypto/encryption.rs                              89                89     0.00%           9                 9     0.00%          51                51     0.00%           0                 0         -
mcp-auth/src/crypto/hashing.rs                                 98                98     0.00%          10                10     0.00%          53                53     0.00%           0                 0         -
mcp-auth/src/crypto/keys.rs                                   115               115     0.00%           8                 8     0.00%          78                78     0.00%           0                 0         -
mcp-auth/src/crypto/mod.rs                                     15                15     0.00%           2                 2     0.00%          12                12     0.00%           0                 0         -
mcp-auth/src/jwt.rs                                           321               284    11.53%          29                27     6.90%         255               226    11.37%           0                 0         -
mcp-auth/src/lib.rs                                            18                15    16.67%           6                 5    16.67%          16                13    18.75%           0                 0         -
mcp-auth/src/manager.rs                                      1258              1116    11.29%         117               101    13.68%         938               794    15.35%           0                 0         -
mcp-auth/src/middleware/mcp_auth.rs                           235               235     0.00%          24                24     0.00%         206               206     0.00%           0                 0         -
mcp-auth/src/middleware/session_middleware.rs                 430               430     0.00%          41                41     0.00%         357               357     0.00%           0                 0         -
mcp-auth/src/models.rs                                        195               195     0.00%          19                19     0.00%         166               166     0.00%           0                 0         -
mcp-auth/src/oauth/authorize.rs                               159               159     0.00%          20                20     0.00%         232               232     0.00%           0                 0         -
mcp-auth/src/oauth/bearer.rs                                  159               159     0.00%          16                16     0.00%         111               111     0.00%           0                 0         -
mcp-auth/src/oauth/metadata.rs                                 28                28     0.00%           3                 3     0.00%          18                18     0.00%           0                 0         -
mcp-auth/src/oauth/mod.rs                                      25                25     0.00%           3                 3     0.00%          20                20     0.00%           0                 0         -
mcp-auth/src/oauth/models.rs                                   30                30     0.00%           6                 6     0.00%          42                42     0.00%           0                 0         -
mcp-auth/src/oauth/pkce.rs                                     45                45     0.00%           5                 5     0.00%          27                27     0.00%           0                 0         -
mcp-auth/src/oauth/registration.rs                            105               105     0.00%           7                 7     0.00%         106               106     0.00%           0                 0         -
mcp-auth/src/oauth/resource.rs                                 19                19     0.00%           3                 3     0.00%          13                13     0.00%           0                 0         -
mcp-auth/src/oauth/storage.rs                                 124               124     0.00%          17                17     0.00%          81                81     0.00%           0                 0         -
mcp-auth/src/oauth/token.rs                                   229               229     0.00%          24                24     0.00%         280               280     0.00%           0                 0         -
mcp-auth/src/permissions/mcp_permissions.rs                   419               419     0.00%          33                33     0.00%         319               319     0.00%           0                 0         -
mcp-auth/src/security/request_security.rs                     702               702     0.00%          49                49     0.00%         615               615     0.00%           0                 0         -
mcp-auth/src/session/session_manager.rs                       457               457     0.00%          50                50     0.00%         353               353     0.00%           0                 0         -
mcp-auth/src/storage.rs                                       697               680     2.44%          50                46     8.00%         412               394     4.37%           0                 0         -
mcp-auth/src/transport/auth_extractors.rs                     155               155     0.00%          27                27     0.00%         137               137     0.00%           0                 0         -
mcp-auth/src/transport/http_auth.rs                           303               303     0.00%          20                20     0.00%         216               216     0.00%           0                 0         -
mcp-auth/src/transport/stdio_auth.rs                          268               268     0.00%          22                22     0.00%         195               195     0.00%           0                 0         -
mcp-auth/src/transport/websocket_auth.rs                      351               351     0.00%          23                23     0.00%         258               258     0.00%           0                 0         -
mcp-auth/src/validation.rs                                    144               144     0.00%          13                13     0.00%          95                95     0.00%           0                 0         -
mcp-logging/src/aggregation.rs                                311               311     0.00%          27                27     0.00%         228               228     0.00%           0                 0         -
mcp-logging/src/alerting.rs                                   552               344    37.68%          39                17    56.41%         419               226    46.06%           0                 0         -
mcp-logging/src/correlation.rs                                415               415     0.00%          34                34     0.00%         299               299     0.00%           0                 0         -
mcp-logging/src/dashboard.rs                                  391               197    49.62%          21                15    28.57%         394               182    53.81%           0                 0         -
mcp-logging/src/metrics.rs                                    306               127    58.50%          36                19    47.22%         329               123    62.61%           0                 0         -
mcp-logging/src/persistence.rs                                360               360     0.00%          26                26     0.00%         202               202     0.00%           0                 0         -
mcp-logging/src/profiling.rs                                  502               496     1.20%          37                36     2.70%         398               354    11.06%           0                 0         -
mcp-logging/src/sanitization.rs                               268               265     1.12%          22                21     4.55%         181               173     4.42%           0                 0         -
mcp-logging/src/structured.rs                                 258               255     1.16%          24                23     4.17%         230               227     1.30%           0                 0         -
mcp-logging/src/telemetry.rs                                   75                34    54.67%          12                 5    58.33%          78                24    69.23%           0                 0         -
mcp-protocol/src/error.rs                                     193               153    20.73%          27                18    33.33%         151               117    22.52%           0                 0         -
mcp-protocol/src/errors.rs                                     83                83     0.00%          12                12     0.00%          40                40     0.00%           0                 0         -
mcp-protocol/src/lib.rs                                        12                12     0.00%           2                 2     0.00%          11                11     0.00%           0                 0         -
mcp-protocol/src/model.rs                                     352               342     2.84%          57                55     3.51%         386               379     1.81%           0                 0         -
mcp-protocol/src/validation.rs                                238               238     0.00%          25                25     0.00%         176               176     0.00%           0                 0         -
mcp-security/src/config.rs                                      4                 0   100.00%           1                 0   100.00%           9                 0   100.00%           0                 0         -
mcp-security/src/lib.rs                                         3                 0   100.00%           1                 0   100.00%           3                 0   100.00%           0                 0         -
mcp-security/src/middleware.rs                                 18                 3    83.33%           3                 0   100.00%          25                 3    88.00%           0                 0         -
mcp-security/src/validation.rs                                 10                10     0.00%           1                 1     0.00%          11                11     0.00%           0                 0         -
mcp-server/src/alerting_endpoint.rs                           117               117     0.00%          15                15     0.00%         110               110     0.00%           0                 0         -
mcp-server/src/backend.rs                                     114                99    13.16%          26                22    15.38%          99                86    13.13%           0                 0         -
mcp-server/src/builder_trait.rs                                44                44     0.00%           3                 3     0.00%          37                37     0.00%           0                 0         -
mcp-server/src/cli_helpers.rs                                  93                80    13.98%          17                14    17.65%          82                73    10.98%           0                 0         -
mcp-server/src/common_backend.rs                               59                59     0.00%          11                11     0.00%          82                82     0.00%           0                 0         -
mcp-server/src/context.rs                                      55                14    74.55%          10                 3    70.00%          46                16    65.22%           0                 0         -
mcp-server/src/dashboard_endpoint.rs                          104               104     0.00%          12                12     0.00%          79                79     0.00%           0                 0         -
mcp-server/src/handler.rs                                     344               233    32.27%          57                33    42.11%         248               151    39.11%           0                 0         -
mcp-server/src/health_endpoint.rs                              83                83     0.00%           5                 5     0.00%          91                91     0.00%           0                 0         -
mcp-server/src/metrics_endpoint.rs                            133               133     0.00%           7                 7     0.00%          86                86     0.00%           0                 0         -
mcp-server/src/middleware.rs                                  128                33    74.22%          13                 5    61.54%         104                17    83.65%           0                 0         -
mcp-server/src/observability/collector.rs                     179                78    56.42%          19                 8    57.89%         133                52    60.90%           0                 0         -
mcp-server/src/observability/config.rs                          3                 0   100.00%           1                 0   100.00%           8                 0   100.00%           0                 0         -
mcp-server/src/observability/metrics.rs                         3                 3     0.00%           1                 1     0.00%          11                11     0.00%           0                 0         -
mcp-server/src/observability/mod.rs                             3                 0   100.00%           1                 0   100.00%           3                 0   100.00%           0                 0         -
mcp-server/src/server.rs                                      330               111    66.36%          38                19    50.00%         232                77    66.81%           0                 0         -
mcp-transport/src/batch.rs                                    195               195     0.00%          14                14     0.00%         128               128     0.00%           0                 0         -
mcp-transport/src/config.rs                                    15                12    20.00%           5                 4    20.00%          15                12    20.00%           0                 0         -
mcp-transport/src/http.rs                                     651               634     2.61%          39                36     7.69%         438               408     6.85%           0                 0         -
mcp-transport/src/lib.rs                                       13                 3    76.92%           1                 0   100.00%          12                 3    75.00%           0                 0         -
mcp-transport/src/stdio.rs                                    233               186    20.17%          17                12    29.41%         162               119    26.54%           0                 0         -
mcp-transport/src/streamable_http.rs                          231               231     0.00%          19                19     0.00%         171               171     0.00%           0                 0         -
mcp-transport/src/validation.rs                               193               193     0.00%          14                14     0.00%         135               135     0.00%           0                 0         -
mcp-transport/src/websocket.rs                                 15                 9    40.00%           5                 3    40.00%          17                11    35.29%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                                       17944             14052    21.69%        1617              1298    19.73%       14202             10868    23.48%           0                 0         -

📋 Full Report: View on Codecov

@codecov

codecov Bot commented Dec 5, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.12411% with 33 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
mcp-server/src/cli_helpers.rs 78.78% 28 Missing ⚠️
mcp-auth/src/oauth/bearer.rs 98.21% 5 Missing ⚠️

📢 Thoughts on this report? Let us know!

Improves code coverage for:
- mcp-auth/src/oauth/bearer.rs: validate_bearer_token, unauthorized_response
- mcp-server/src/cli_helpers.rs: CliError, DefaultLoggingConfig, env_utils
@avrabe
avrabe merged commit 942fd81 into main Dec 5, 2025
22 checks passed
@avrabe
avrabe deleted the release/0.15.0 branch December 5, 2025 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant