-
Notifications
You must be signed in to change notification settings - Fork 111
ROS 2 Action Tools Support #142
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
Open
stex2005
wants to merge
10
commits into
develop
Choose a base branch
from
feature/sdg/ros2-actions
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+689
−2
Conversation
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
This was referenced Oct 1, 2025
2356b81
to
ea6e9a2
Compare
- Be blocking and waiting for action_result or timeout. - Return action_result when action is completed. - Return the last action_feedback, if available, when timeout. - Return timeout/success:false if no action_feedback or action_result is detected. - Fixed bug with timeout input tools (no Optional)
…ted with fibonacci server.
ea6e9a2
to
bf2dd8b
Compare
… in Cursor, not showing in ChatGPT.
ee0ffc6
to
6cae439
Compare
Ready for Review ✅ |
This was
linked to
issues
Oct 3, 2025
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.
Overview
This PR introduces comprehensive ROS action management tools to the MCP server, enabling full control over ROS 2 actions including discovery, execution, and cancellation.
Features Added
1. Action Tools
get_actions()
- List all available ROS actionsget_action_type(action)
- Get the message type for a specific actionget_action_details(action_type)
- Get complete action structure (goal, result, feedback)get_action_status(action_name)
- Get status of active actions (ongoing, completed, aborted)inspect_all_actions()
- Comprehensive action informationsend_action_goal(action_name, action_type, goal, timeout)
- Send action goals with timeout supportcancel_action_goal(action_name, goal_id)
- Cancel running action goalsKey Features
1. Timeout Support
action_feedback
when available).action_feedback
progress yet.)2. Goal ID Management
get_active_actions
yet).3. Error Handling
action_feedback
ifaction_result
timeouts.Test Instructions
stdio
,http
,pip
)ros2 run action_tutorials_cpp fibonacci_action_server
What are the available actions, including type and details?
Start the fibonacci action, with order 5 and timeout 10
and look for progress bar (Cursor UI)What's the status of the station?
Start the fibonacci action, with order 20 and timeout 2
Cancel the fibonacci action
Start action
without launching the serverError calling tool 'get_actions': 'str' object has no attribute 'get'
Future Enhancements
Related Issues
action_feedback
support!)Ready for Review ✅