mcp_server route support#3388
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3388 +/- ##
==========================================
- Coverage 78.87% 78.84% -0.04%
==========================================
Files 687 688 +1
Lines 57285 57293 +8
Branches 728 728
==========================================
- Hits 45186 45172 -14
- Misses 12021 12043 +22
Partials 78 78
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:
|
|
jmthomas
left a comment
There was a problem hiding this comment.
Make sure to update claude mcp add instructions. Also could use a few examples on what to do next. Something fun that's different than simply show me something I can already see in an existing COSMOS tool like Packet Viewer.
|
|
||
| At the command line run: | ||
|
|
||
| `claude mcp add openc3 http://localhost:2900/mcp` |
There was a problem hiding this comment.
This didn't work for me due to the following error:
Warning: The command "http://localhost:2900/mcp" looks like a URL, but is being interpreted as a stdio server as --transport was not specified.
If this is an HTTP server, use: claude mcp add --transport http openc3 http://localhost:2900/mcp
I removed it via claude mcp remove openc3 and added it via claude mcp add --transport http openc3 http://localhost:2900/mcp which worked (after authenticating).
|
|
||
| Then start claude and run the following to authenticate: | ||
|
|
||
| `/mcp` |
There was a problem hiding this comment.
This worked. At this point I didn't really know what to do so I asked and got the following:
❯ how do I use my openc3 mcp?
⏺ MCP server openc3 connected. Many tools prefixed mcp__openc3__*.
Common uses:
- Telemetry: get_tlm, get_tlm_values, tlm, get_all_tlm
- Commands: cmd, get_cmd, get_all_cmd_names, build_cmd
- Interfaces: get_interface, connect_interface, disconnect_interface
- Scripts: script_list, script_run, running_script_list
- Limits: get_limits, set_limits, get_out_of_limits
- Discovery: list_api_methods (all methods), call_api_method (invoke any)
Auth: OAuth via Keycloak. Your token forwarded. Role-based authz applies.
Tell me what to query/do. Examples:
- "list interfaces" → get_all_interface_info
- "show INST HEALTH_STATUS tlm" → get_tlm_packet
- "send abort cmd to INST" → cmd
- "what targets exist" → get_target_names
Note: no direct "current user" API surfaced. Auth = your bearer token; identity lives in Keycloak, not exposed via these MCP tools.
I asked show INST HEALTH_STATUS tlm like the example showed and it produced an entire table of the INST HEALTH_STATUS packet similar to what you'd see in Packet Viewer. Nice!



No description provided.