add-mcp-feature
Instructions for adding new features (tools, prompts, etc.) to the dart_mcp_server package.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Adding Features to dart_mcp_server
Follow these instructions when adding new tools, prompts, or other capabilities
to the dart_mcp_server.
1. Locate or Create a Mixin
All server features are implemented as mixins on the DartMCPServer at
pkgs/dart_mcp_server/lib/src/server.dart.
-
Check existing mixins: Look under
pkgs/dart_mcp_server/lib/src/mixins/to see if your feature fits into an existing category (e.g.,analyzer.dart,pub.dart). - Create a new mixin: If your feature is distinct, create a new file in that directory, following the patterns in existing mixins. Make sure to include a copyright header at the top of the file, with the current year.
2. Implementation Details
-
Registration: Tools, prompts, etc should be registered in the
initializemethod of the mixin, which is an override and must callsuper.initialize(). -
Parameter Names: When adding new arguments to tools or prompts, always
add a constant to the
ParameterNamesextension inpkgs/dart_mcp_server/lib/src/utils/names.dartand use that constant instead of hardcoding string literals in your tool parsing and schema.
3. Testing
Always add tests for any new features.
-
Test Harness: Use the
TestHarnessclass located inpkgs/dart_mcp_server/test/test_harness.dart. -
Existing Tests: Look at
pkgs/dart_mcp_server/test/tools/for examples of how to test specific tools. -
Enhance Harness: If the current
TestHarnesslacks functionality needed for your test, feel free to add it.
4. Verification
- Run tests
- Run analysis
- Format the code
5. Documentation
- Run the
pkgs/dart_mcp_server/tool/update_readme.dartscript to update theREADME.mdfile with any new features, it must be ran from thepkgs/dart_mcp_serverdirectory. - Apply any other manual edits to the
README.mdfile as needed. - Update the
CHANGELOG.mdfile to include any user facing updates.
6. Update this skill
- Update this
SKILL.mdfile if that would be helpful for future features.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-03-11
- Index updated
- 2026-03-11
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!