Skip to content

feat(cloudwatch-appsignals-mcp-server): add deprecation notices#2711

Closed
MichaelWalker-git wants to merge 2 commits intomainfrom
deprecate/appsignals-server-notices
Closed

feat(cloudwatch-appsignals-mcp-server): add deprecation notices#2711
MichaelWalker-git wants to merge 2 commits intomainfrom
deprecate/appsignals-server-notices

Conversation

@MichaelWalker-git
Copy link
Contributor

Summary

  • Add DEPRECATION_NOTICE constant and prepend to FastMCP instructions
  • Add FutureWarning in main() to alert users at startup
  • Add [DEPRECATED] prefix to all 13 tool docstrings (server.py, service_tools.py, slo_tools.py, trace_tools.py)
  • Fix existing per-tool warnings: DeprecationWarningFutureWarning, stacklevel=1stacklevel=2
  • Update tests to handle new deprecation warning

This addresses the long-standing request from the ApplicationSignals team (since Dec 2025) to deprecate the old cloudwatch-appsignals-mcp-server in favor of cloudwatch-applicationsignals-mcp-server.

Test plan

  • All 92 existing tests pass
  • New test_main_emits_deprecation_warning verifies FutureWarning is emitted
  • Ruff lint and format pass

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.

Add standard deprecation pattern for cloudwatch-appsignals-mcp-server
in favor of cloudwatch-applicationsignals-mcp-server.

- Add DEPRECATION_NOTICE constant and prepend to FastMCP instructions
- Add FutureWarning in main() to alert users at startup
- Add [DEPRECATED] prefix to all 13 tool docstrings
- Fix existing per-tool warnings: DeprecationWarning -> FutureWarning,
  stacklevel 1 -> 2
@codecov
Copy link

codecov bot commented Mar 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.26%. Comparing base (c01ae71) to head (8f38a44).
⚠️ Report is 3 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2711      +/-   ##
==========================================
- Coverage   91.28%   91.26%   -0.02%     
==========================================
  Files        1015     1015              
  Lines       76261    76263       +2     
  Branches    12393    12393              
==========================================
- Hits        69612    69603       -9     
- Misses       4058     4065       +7     
- Partials     2591     2595       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds deprecation signaling to cloudwatch-appsignals-mcp-server to steer users toward the replacement cloudwatch-applicationsignals-mcp-server, using server-level instructions, startup warnings, and tool-level docstring labeling.

Changes:

  • Introduces a shared DEPRECATION_NOTICE and surfaces it via FastMCP instructions plus a FutureWarning emitted at startup (main()).
  • Prepends [DEPRECATED] to tool docstrings across the server and tool modules.
  • Updates tests to tolerate/verify the new startup deprecation warning.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
src/cloudwatch-appsignals-mcp-server/awslabs/cloudwatch_appsignals_mcp_server/server.py Adds DEPRECATION_NOTICE, surfaces it in FastMCP instructions, switches several warnings to FutureWarning, and emits a startup warning in main().
src/cloudwatch-appsignals-mcp-server/awslabs/cloudwatch_appsignals_mcp_server/service_tools.py Marks service tools as [DEPRECATED] via docstrings.
src/cloudwatch-appsignals-mcp-server/awslabs/cloudwatch_appsignals_mcp_server/slo_tools.py Marks SLO tools as [DEPRECATED] via docstrings.
src/cloudwatch-appsignals-mcp-server/awslabs/cloudwatch_appsignals_mcp_server/trace_tools.py Marks trace tools as [DEPRECATED] via docstrings.
src/cloudwatch-appsignals-mcp-server/tests/test_server.py Adjusts main() tests to ignore warnings and adds a new test asserting a deprecation FutureWarning is emitted.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Fix DeprecationWarning -> FutureWarning and stacklevel=1 -> stacklevel=2
in service_tools.py (4), slo_tools.py (2), and trace_tools.py (3).
@MichaelWalker-git
Copy link
Contributor Author

Closing — PR #2173 already merged and removed the cloudwatch-appsignals-mcp-server from main, making these deprecation notices moot. The server has been superseded by cloudwatch-applicationsignals-mcp-server.

auto-merge was automatically disabled March 18, 2026 16:01

Pull request was closed

@github-project-automation github-project-automation bot moved this from To triage to Done in awslabs/mcp Project Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants