Skip to content

feat: Aws-msk-mcp server #592

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 58 commits into from
Jul 11, 2025
Merged

feat: Aws-msk-mcp server #592

merged 58 commits into from
Jul 11, 2025

Conversation

Songry26
Copy link
Contributor

@Songry26 Songry26 commented Jun 13, 2025

Fixes

Summary

An MSK MCP Server support create, read, and update operations offered by the python sdk

Changes

Please provide a summary of what's being changed
Added an MSK MCP Server

User experience

Please share what the user experience looks like before and after this change
Users can now configure with AI to use console base commands and some other ones for cluster monitoring and other tasks.

Checklist

If your change doesn't seem to apply, please leave them unchecked.

  • I have reviewed the contributing guidelines
  • I have performed a self-review of this change
  • Changes have been tested
  • Changes are documented

Is this a breaking change? N

RFC issue number: N/A

Checklist:

  • Migration process documented
  • Implement warnings (if it can live side by side)

Acknowledgment

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

NOTE

Please let me know before merging, e.g. if the changes seem okay and ready to merge then message me on slack before doing so. If it is not up to standard then please ignore this bit but my team would like to have some 2FA.

@Songry26 Songry26 requested review from a team as code owners June 13, 2025 23:28
@Songry26 Songry26 changed the title Feat: Aws-msk-mcp server feat: Aws-msk-mcp server Jun 13, 2025
@alexa-perlov alexa-perlov added hold-merging Signals to hold the PR from merging new mcp server A new MCP server ideally linked to an issue labels Jun 16, 2025
@alexa-perlov alexa-perlov self-assigned this Jun 16, 2025
@alexa-perlov
Copy link
Contributor

Thank you for the contribution! Can you add a "read-only" mode that disables the ability to delete / update / mutate unless --allow-writes parameter is passed in? You can see an example of how that's managed in the Aurora DSQL MCP server: https://github.com/awslabs/mcp/blob/main/src/aurora-dsql-mcp-server/README.md

@alexa-perlov
Copy link
Contributor

Also, can you please update the main README following the latest version format and adding your MCP server to the appropriate section (under Browse by what you're building and Browse by how you're working)

@Songry26
Copy link
Contributor Author

Sure, let me talk to my team first - I'll get back to this hopefully end of week. I should be able to add the read-only mode and update the main README.

@Songry26
Copy link
Contributor Author

Changes have been made! Please take a look.

@alexa-perlov
Copy link
Contributor

Thanks! Can you please resolve the merge conflicts here?

Copy link

codecov bot commented Jun 18, 2025

Codecov Report

Attention: Patch coverage is 91.13786% with 81 lines in your changes missing coverage. Please review.

Project coverage is 88.26%. Comparing base (43dd831) to head (6570bd0).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...ws_msk_mcp_server/tools/mutate_cluster/__init__.py 82.00% 8 Missing and 10 partials ⚠️
...ols/logs_and_telemetry/list_customer_iam_access.py 78.75% 9 Missing and 8 partials ⚠️
.../tools/logs_and_telemetry/cluster_metrics_tools.py 87.23% 6 Missing and 6 partials ⚠️
...p_server/tools/mutate_cluster/update_monitoring.py 50.00% 2 Missing and 4 partials ⚠️
..._server/tools/mutate_cluster/put_cluster_policy.py 50.00% 2 Missing and 2 partials ⚠️
...p_server/tools/mutate_vpc/delete_vpc_connection.py 62.50% 2 Missing and 1 partial ⚠️
...ols/mutate_cluster/batch_associate_scram_secret.py 60.00% 1 Missing and 1 partial ⚠️
.../mutate_cluster/batch_disassociate_scram_secret.py 60.00% 1 Missing and 1 partial ⚠️
...p_server/tools/mutate_cluster/create_cluster_v2.py 92.59% 0 Missing and 2 partials ⚠️
...k_mcp_server/tools/mutate_cluster/reboot_broker.py 60.00% 1 Missing and 1 partial ⚠️
... and 8 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #592      +/-   ##
==========================================
+ Coverage   88.18%   88.26%   +0.07%     
==========================================
  Files         468      523      +55     
  Lines       34807    35721     +914     
  Branches     5441     5603     +162     
==========================================
+ Hits        30695    31528     +833     
- Misses       2624     2662      +38     
- Partials     1488     1531      +43     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@scottschreckengaust scottschreckengaust self-assigned this Jul 9, 2025
Copy link
Member

@scottschreckengaust scottschreckengaust left a comment

Choose a reason for hiding this comment

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

bump up code coverage please.

@scottschreckengaust scottschreckengaust removed the hold-merging Signals to hold the PR from merging label Jul 11, 2025
Copy link
Member

@scottschreckengaust scottschreckengaust left a comment

Choose a reason for hiding this comment

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

LGTM

@scottschreckengaust scottschreckengaust added this pull request to the merge queue Jul 11, 2025
Merged via the queue into awslabs:main with commit d0176a3 Jul 11, 2025
118 checks passed
CodeChanning pushed a commit to CodeChanning/mcp that referenced this pull request Jul 14, 2025
* feat aws msk mcp server

* Documentation updates

* update create to be more descriptive

* feat aws msk mcp server

* Following instructions in readMe, have NOT written tests though

* higher level updates as described in readME

* Fix installation configuration in readme
Added tests

* fix readMe (browse by building and working)
feat readonly mode

* fix server name and instructions
added pydantic typechecks and optional typehints

* fix list_configs
feat cursor deeplink install
added entry to mkdocks and codeowners

* fix main_test

* updated owner
Fixed the pyrighttests

* update codeowners

* Update src/aws-msk-mcp-server/README.md

Co-authored-by: alexa-perlov <56009415+alexa-perlov@users.noreply.github.com>

* add test coverage for clustertelemetry

* Tests to increase coverage

* update codeowners
fix failing tests

* update codeowners
fix failing tests

* fix tests and coverage

* update tests to increase coverage

* feat serverless
fix test coverage

* remove xml file

* reran coverage tests

* remove xml file again

* Pydantic Field, deleted coverage.sml, fixed install button

* fix cluster_arn default pydantic arg

* user_agent_extra for all tools

* readme reformatting

* fix tests

* Set default flag to allow writes

* fix readme for consistency

* fix: test coverage for mutate_config, read_cluster_init

* fix: added aws msk docasaurus md

* fix: docusaurus consistency

---------

Co-authored-by: alexa-perlov <56009415+alexa-perlov@users.noreply.github.com>
Co-authored-by: Alain Krok <alkrok@amazon.com>
Co-authored-by: Scott Schreckengaust <scottschreckengaust@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new mcp server A new MCP server ideally linked to an issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants