Adds an MCP sidecar for TrailBase with Docker/Portainer support and a documented release flow.#262
Adds an MCP sidecar for TrailBase with Docker/Portainer support and a documented release flow.#262brigon-dev wants to merge 19 commits into
Conversation
ignatz
left a comment
There was a problem hiding this comment.
Thanks jumping into the cold water - much appreciated 🙏
To reduce churn, maybe its best if first work out some of the highlevel questions.
| CLANG_PATH = { value = "./.dev-tools/libclang-18/usr/bin/clang-18", relative = true } | ||
| PKG_CONFIG_PATH = { value = "./.dev-tools/geos/usr/lib/x86_64-linux-gnu/pkgconfig", relative = true } | ||
| PKG_CONFIG_SYSROOT_DIR = { value = "./.dev-tools/geos", relative = true } | ||
| PROTOC = { value = "./.cargo/protoc-wrapper.sh", relative = true } |
There was a problem hiding this comment.
I'm going to assume that his is an artifact
| export LD_LIBRARY_PATH="${PROTOBUF_DIR}/usr/lib/x86_64-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" | ||
| exec "${PROTOBUF_DIR}/usr/bin/protoc" \ | ||
| -I"${PROTOBUF_DIR}/usr/include" \ | ||
| "$@" |
| ```sh | ||
| scripts/bootstrap-local-dev-tools.sh | ||
| cargo check --workspace --all-targets | ||
| ``` |
There was a problem hiding this comment.
Ok, so the above files are not artifacts.
This is a bit surprising since, I would expect most devs to have access to their machines (seems like a reasonable requirement). Otherwise, this is also very deb centric. If you don't have full access, wouldn't one rather develop inside a container? Would love to hear more about the reasoning.
| "summary": "Exchange authorization code for auth tokens.", | ||
| "mcp_support": "call_trailbase_api_operation or trailbase_request", | ||
| "requires_write_permission": True, | ||
| }, |
There was a problem hiding this comment.
Just guessing, wouldn't the MCP also need a POST request definition?
| from typing import Any | ||
| from urllib.parse import quote | ||
|
|
||
| TRAILBASE_API_OPERATIONS: tuple[dict[str, Any], ...] = ( |
There was a problem hiding this comment.
I'm a bit worried that this will get out of sync. Naively, I would have expected the MCP implementation to be part of the main binary running in some dev mode.
| from urllib.parse import quote | ||
|
|
||
| TRAILBASE_API_OPERATIONS: tuple[dict[str, Any], ...] = ( | ||
| { |
There was a problem hiding this comment.
I'm also a bit surprised over the selection of methods. Naively, I would have expected only or mostly admin APIs to be used in dev mode basically as an alternative to the dashboard. Isn't exposing only the public APIs with access protection inherently limiting maybe even useless for dev tasks.
As an example, i would have expected this to be used to drive schema changes.
What’s included
0.3release metadataValidation
pytest mcpdocker build -t frostbite4456/trailbase-mcp:0.3 mcpNotes
text/event-streamclients.