feat(mcp_dart_cli): enhance CLI with serve command, docs, and tests#55
Merged
feat(mcp_dart_cli): enhance CLI with serve command, docs, and tests#55
Conversation
- Always use ProcessStartMode.normal for proper stdin/stdout piping - Fix inverted stderr mode logic: 'normal' now exposes stderr via getter without internal listening, 'inheritStdio' now pipes to parent stderr - Update version to 1.1.2
- Add 'doctor' command to check project configuration and test connectivity - Add 'inspect' command to interact with MCP servers: - List capabilities (tools, resources, prompts) - Execute tools, read resources, get prompts - Support local projects and external servers (stdio/HTTP) - Support sampling/createMessage requests from servers - Add utility classes: McpConnection, InspectPrinter, InspectHandlers - Update documentation with command usage examples - Update version to 0.1.2
- Merge publish_core.yml and publish_cli.yml into single publish.yml - Add workflow_dispatch trigger with package selection dropdown - Auto-read version from pubspec.yaml (no manual input needed) - Add tag existence check to fail early on duplicate releases - Add dry_run option to test without publishing to pub.dev - Auto-generate GitHub releases with release notes
- Replace inline code example with CLI-based quick start - Add CLI commands table (create, serve, doctor, inspect) - Show Claude Desktop configuration example
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #55 +/- ##
==========================================
- Coverage 77.44% 77.41% -0.03%
==========================================
Files 40 40
Lines 5068 5066 -2
==========================================
- Hits 3925 3922 -3
- Misses 1143 1144 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces significant improvements to the MCP Dart ecosystem, focusing on simplifying publishing workflows, enhancing the CLI tool, and fixing core transport logic. The most important changes are grouped below:
Publishing Workflow Modernization
.github/workflows/publish.ymlworkflow for publishing bothmcp_dartandmcp_dart_clipackages, supporting manual dispatch, dry runs, and automated tagging/releases..github/workflows/publish_core.ymland.github/workflows/publish_cli.ymlare deleted in favor of the new unified workflow. [1] [2]CLI Tool Enhancements
mcp_dart_cliwith new commands:serve(run MCP server with stdio/HTTP and watch mode),doctor(project health and connectivity checks), andinspect(interact with MCP servers via command or HTTP). Extensive documentation and usage examples added. [1] [2] [3] [4] [5]CONTRIBUTING.mdto guide contributors on setup, testing, and code style formcp_dart_cli.build.yamlto enable brick bundling for CLI project scaffolding.Core Package Improvements
StdioClientTransportstderr handling: always usesProcessStartMode.normalfor proper piping; corrected logic sostderrMode: normalexposes stderr via getter, andstderrMode: inheritStdiopipes to parent process. [1] [2] [3] [4]Version Bumps and Documentation
mcp_dartversion to1.1.2in docs andllms.txt, reflecting the latest fixes and features. [1] [2]mcp_dartandmcp_dart_clipackages with detailed summaries of new features and fixes. [1] [2]These changes streamline publishing, improve developer experience with the CLI, and resolve a critical transport bug, making MCP Dart easier to use and contribute to.