Mcp server#278
Conversation
tales-aparecida
left a comment
There was a problem hiding this comment.
I don't have a maestro token, but code-wise and dashboard read-only endpoints are good!
| server = create_server(cfg, instance, host=host, port=port) | ||
| server.run(transport="stdio" if transport == "stdio" else "streamable-http") |
There was a problem hiding this comment.
| server = create_server(cfg, instance, host=host, port=port) | |
| server.run(transport="stdio" if transport == "stdio" else "streamable-http") | |
| server = create_server(cfg, instance, host=host, port=port) | |
| logging.info("Starting MCP server %s", "via stdio" if transport == "stdio" else f"on {host}:{port}") | |
| server.run(transport="stdio" if transport == "stdio" else "streamable-http") |
|
There's indeed a lot in common with #277, but I don't know if we can avoid that. |
|
Finally, you left a few functions uncovered, like |
MCP docs testing feedback (
|
|
Thanks, @tales-aparecida, for testing. I also noticed a bug with get_nodes (a TypeError, a bug with kcidb though so a good to fix), I'll include fix here but also put it it could be a seperate PR. For the other bits, I'll get them fixed up / added. |
yes, that should be merged and use kci-dev as a library using the new python library api |
Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
The node API returns JSON null for a missing node id, which crashed maestro_get_node with an AttributeError while logging. Raise a ClickException naming the node instead, so callers report a clean not-found message. Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
Signed-off-by: Ben Copeland <ben.copeland@linaro.org>
Done! :) |
I think you should use the following instead of recreating a new dashboard/kcidb api bisection and checkouts are called through run_command() By looking your code I just found that we was doing almost the same things but for different purpose |
Thanks! Yes indeed. For dashboard this is done on my last push (goes through the link you provided) But, for the other events like get_nodes, trigger_checkout) etc, so maestro events, we'd need to extend KernelCIClient. I think we'd be best off moving send_* over to libs/maestro_common (from subcommand modules), so the API doesn't depend on CLI modules. The MCP consumes the client for everything, inc dashboard. Also, I'm including any other maestro operations (which weren't in the initial 277, which makes sense, like you say similar things but different purpose. Happy to do that in this pr or do a following pr and get those included? I would probably say a new PR for this work would make sense. Let me know what you think, and happy to go ahead and do that change. |
I'm ok doing this on a different PR and extend KernelCIClient |
Okay, sounds good. I'll get writing it over the weekend and will get a PR up soon. Have a nice weekend! |
you too! |

No description provided.