Conversation
|
""" WalkthroughThis update introduces OCI-compliant Docker images and associated CI/CD automation for the project. It adds Docker build configurations, GitHub Actions workflows for building, testing, and publishing images, documentation updates for new container usage, and supporting scripts and ignore files. No changes to public code interfaces are made. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant GitHub Actions
participant Docker Buildx
participant GHCR
Developer->>GitHub Actions: Push/PR/Tag/Schedule triggers workflow
GitHub Actions->>Docker Buildx: Build and test OCI/MCPO images
Docker Buildx->>GHCR: Push multi-arch images (amd64, arm64)
GitHub Actions->>GitHub Actions: Run self-tests (selftest.sh)
GitHub Actions->>Developer: Publish build/test results and image tags
Estimated code review effort3 (30–60 minutes) Suggested reviewers
Poem
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (4)
release/oci/Dockerfile (2)
12-14: Clean up APT artifacts to keep the build layer slim
apt-get update/installleaves ~20-30 MB of package lists. Add the usual cleanup to reduce image size:-RUN apt-get update -RUN apt-get --yes install --no-install-recommends --no-install-suggests git +RUN set -e \ + && apt-get update \ + && apt-get --yes install --no-install-recommends --no-install-suggests git \ + && rm -rf /var/lib/apt/lists/*
57-58: Robust wheel install
$(ls /tmp/*.whl)fails if the glob matches >1 file or none. Prefer a glob directly:- && uv pip install --upgrade "$(ls /tmp/*.whl)" + && uv pip install --upgrade /tmp/*.whl.github/workflows/release-oci-mcpo.yml (2)
1-3: Update comment to reflect mcpo imageThe header still references
cratedb-mcp, but this workflow buildscratedb-mcpo. Avoid future confusion by aligning the comment.
129-136: Step name misleading
Build and push image (standard)actually targetsmcpo. Rename to keep the logs self-explanatory:- - name: Build and push image (standard) + - name: Build and push image (mcpo)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
.github/workflows/release-oci-mcpo.yml(1 hunks).github/workflows/release-oci-standard.yml(1 hunks)CHANGES.md(1 hunks)README.md(3 hunks)release/oci/Dockerfile(1 hunks)release/oci/selftest.sh(1 hunks)release/oci/test.yml(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- release/oci/selftest.sh
- release/oci/test.yml
🚧 Files skipped from review as they are similar to previous changes (3)
- CHANGES.md
- README.md
- .github/workflows/release-oci-standard.yml
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
.github/workflows/release-oci-mcpo.yml (2)
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
release/oci/Dockerfile (2)
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#24
File: pyproject.toml:76-76
Timestamp: 2025-05-17T16:02:09.342Z
Learning: For the cratedb-mcp project, FastMCP pre-2.0 releases provide the same API surface needed by the application, so a lower bound on the FastMCP dependency is not necessary.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: oci
- GitHub Check: oci
🔇 Additional comments (1)
release/oci/Dockerfile (1)
60-60: Ensureselftest.shis executableThe copied mode can be lost depending on host FS. Add a chmod step:
RUN chmod +x /usr/local/bin/selftest.sh
cratedb-mcpcratedb-mcp and cratedb-mcpo
README.md
Outdated
| ### Use OCI Standard | ||
|
|
||
| OCI images for Docker or Podman are available per `ghcr.io/crate/cratedb-mcp`. | ||
| See also [Docker Hub MCP Server] and [mcp hub]. | ||
|
|
||
| Probe invocation: | ||
| ```shell | ||
| docker run --rm -it --entrypoint="" ghcr.io/crate/cratedb-mcp cratedb-mcp --version | ||
| ``` | ||
|
|
||
| Your command/args configuration snippet for the agent client user interface: | ||
| ```json | ||
| { | ||
| "command": "docker", | ||
| "args": [ | ||
| "run", | ||
| "--rm", | ||
| "-i", | ||
| "--env=CRATEDB_CLUSTER_URL", | ||
| "ghcr.io/crate/cratedb-mcp:latest" | ||
| ] | ||
| } | ||
| ``` |
There was a problem hiding this comment.
That's close to how others are doing it, but still needs validation (user testing).
https://github.com/stripe/agent-toolkit/tree/main/modelcontextprotocol#usage-with-claude-desktop
There was a problem hiding this comment.
The documentation sections about using the OCI images have been improved significantly with 81a357f, but still the procedure hasn't been exercised using this very configuration snippet.
README.md
Outdated
| ### Use OCI MCPO | ||
|
|
||
| For integrating Open WebUI, the project provides an OCI MCPO image which wraps | ||
| the MCP server using the `mcpo` proxy. See also [MCP support for Open WebUI] and | ||
| [MCP-to-OpenAPI proxy server (mcpo)]. | ||
| ```shell | ||
| docker run --rm --env=CRATEDB_CLUSTER_URL --publish 8000:8000 ghcr.io/crate/cratedb-mcpo | ||
| ``` |
There was a problem hiding this comment.
mcpo support for Open WebUI also has not been validated yet.
There was a problem hiding this comment.
The documentation sections about using the OCI images have been improved significantly with 81a357f.
There was a problem hiding this comment.
Actionable comments posted: 0
🔭 Outside diff range comments (1)
README.md (1)
55-56: Broken self-reference:#installanchor no longer existsThe section header was renamed to “Install package”, so the intra-doc link now points to nowhere. Update the fragment identifier to keep the link functional.
-The [installation docs](#install) section includes guidelines on how to +The [installation docs](#install-package) section includes guidelines on how to
🧹 Nitpick comments (2)
README.md (2)
231-235: Spelling & style nitMinor typo (“THere”) and a missing comma.
-THere is a standard OCI image and an MCPO image suitable for Open WebUI. +There is a standard OCI image, and an MCPO image suitable for Open WebUI.
157-180:--network=hostonly works on Linux Docker – add a note or fall-backThe quick-start snippet hard-codes
--network=host, which silently fails on Docker Desktop (macOS/Windows) and on root-less Podman. Consider:
- Adding a short remark that this flag requires Linux-native Docker, or
- Switching to an explicit user-created bridge network (as you do later with
docker network create demo).Either avoids first-time user frustration on non-Linux hosts.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
.dockerignore(1 hunks).github/workflows/release-oci-mcpo.yml(1 hunks).github/workflows/release-oci-standard.yml(1 hunks)CHANGES.md(1 hunks)README.md(8 hunks)pyproject.toml(1 hunks)release/oci/Dockerfile(1 hunks)release/oci/selftest.sh(1 hunks)release/oci/test.yml(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (8)
- CHANGES.md
- release/oci/selftest.sh
- pyproject.toml
- .dockerignore
- release/oci/test.yml
- release/oci/Dockerfile
- .github/workflows/release-oci-mcpo.yml
- .github/workflows/release-oci-standard.yml
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
README.md (3)
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
Learnt from: amotl
PR: crate/cratedb-mcp#24
File: pyproject.toml:76-76
Timestamp: 2025-05-17T16:02:09.342Z
Learning: For the cratedb-mcp project, FastMCP pre-2.0 releases provide the same API surface needed by the application, so a lower bound on the FastMCP dependency is not necessary.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: oci
- GitHub Check: oci
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (5)
README.md (5)
157-180: Clarify env propagation & host-network portability in Docker example
--env=CRATEDB_CLUSTER_URLrelies on the variable being present in the caller’s environment. That is fine, but the common idiom is-e CRATEDB_CLUSTER_URL(short flag) to keep parity with thedocker rundocs and avoid confusion.
--network=hostdoes not work on Docker Desktop for macOS / Windows and can break root-less Podman. Consider documenting that this flag is Linux-only or switching to an explicit user-defined bridge (like you did further down withdocker network create demo).The JSON snippet duplicates the variable inside the
"env"block and forwards it via--env. Forwarding once is sufficient.Suggested diff:
- "--network=host", - "--env=CRATEDB_CLUSTER_URL", + "--network=host", # Linux only – bridge/podman users: drop this + "-e", "CRATEDB_CLUSTER_URL",Make sure the example still works on non-Linux Docker and Podman before publishing.
231-245: Typo & style nits in “Install OCI” block
THere⇒ThereOCI images for Docker or Podman are available on GHCR per …→ reads awkwardly. Consider “OCI images are published on GHCR:” for brevity.-THere is a standard OCI image, and an MCPO image suitable for Open WebUI. +There is a standard OCI image and an MCPO image suitable for Open WebUI.
325-350: Verify CrateDB image reference & env forwarding
The official image on Docker Hub is usually
crate/crate:latest, not justcrate:latest. Please double-check to avoid a pull error.You forward four env vars with
--env=<name>but omit values. Docker passes the current shell values, which is fine, yet most tutorials prefer the-e NAME=$NAMEstyle for clarity.Minor: you publish
8000while also binding the container toCRATEDB_MCP_HOST=0.0.0.0; publishing is redundant when--network=demoisolates the bridge – although harmless.Please confirm the image name and that the snippet works on a clean host.
352-358: Container name/image mismatchRunning MCPO with
--name=cratedb-mcpwhile using thecratedb-mcpoimage is confusing when both containers may co-exist. Rename the container or drop--name.-docker run --rm --name=cratedb-mcp --network=demo \ +docker run --rm --name=cratedb-mcpo --network=demo \
359-381: GHA services block – health check missingGitHub Actions may start the job before CrateDB is ready. Add a simple
options: >- --health-cmd='curl -f http://localhost:4200/' --health-interval=5s --health-retries=20(and similar for MCP) to avoid flaky CI.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
README.md(8 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
README.md (3)
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
Learnt from: amotl
PR: crate/cratedb-mcp#24
File: pyproject.toml:76-76
Timestamp: 2025-05-17T16:02:09.342Z
Learning: For the cratedb-mcp project, FastMCP pre-2.0 releases provide the same API surface needed by the application, so a lower bound on the FastMCP dependency is not necessary.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: oci
- GitHub Check: oci
🔇 Additional comments (1)
README.md (1)
271-289: Transport section looks goodClear, concise, and covers both CLI flags and env vars – nice work.
surister
left a comment
There was a problem hiding this comment.
Haven't build it locally but I assume they are fine, thanks!
|
|
||
| # Produce a nightly image every day at 6 a.m. CEST. | ||
| schedule: | ||
| - cron: '0 4 * * *' |
There was a problem hiding this comment.
Do we need this if we produce an image when merging to main?
There was a problem hiding this comment.
It is not strictly required, but we can optionally have it to verify builds don't go south. Currently, the OCI building operations are "full-on", also building on each and every PR. This can be tuned down any time as we go.
In general, nightly builds have their role and value because people down the stream understand that everything is fresh inside, while builds on merges to main can age arbitrarily when development head hibernates or stops.
Of course, the "full-on" thing will not be needed for such a little project as we go, so it is common practice to tune down the volume of builds as soon as relevant details have settled well, i.e. when the project is out of its pre-alpha infancy.
README.md
Outdated
|
|
||
| ### Operate OCI on GHA | ||
| If you need instances of CrateDB and CrateDB MCP on a CI environment on GitHub Actions, | ||
| using this section might be handsome, as it includes all relevant configuration options |
There was a problem hiding this comment.
| using this section might be handsome, as it includes all relevant configuration options | |
| using this section might be handy, as it includes all relevant configuration options |
There was a problem hiding this comment.
Thanks! Apparently, @coderabbitai did not flag this?
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (4)
README.md (4)
231-234: Fix typo “THere” → “There”.Minor spelling issue in the Install OCI section.
-THere is a standard OCI image and an MCPO image suitable for Open WebUI. +There is a standard OCI image and an MCPO image suitable for Open WebUI.
165-171: Pin a concrete tag instead oflatestfor reproducibility.Using
:latestcan lead to unexpected breaks when the image is updated.
Documenting a versioned tag (e.g.:v0.4.1) encourages deterministic setups.-"ghcr.io/crate/cratedb-mcp:latest" +"ghcr.io/crate/cratedb-mcp:v0.4.1" # replace with the desired version
157-178: Consider adding--ttyand explicit network in the Docker snippet.
- Without
--tty (-t)the MCP server’s interactive prompts (if any) won’t display nicely.- If the CrateDB instance runs in another container, documenting
--network <name>avoids common “connection refused” reports.Example:
-"args": [ - "run", - "--rm", - "-i", - "-e", "CRATEDB_CLUSTER_URL", - "ghcr.io/crate/cratedb-mcp:latest" + "args": [ + "run", + "--rm", + "-it", + "--network", "demo", + "-e", "CRATEDB_CLUSTER_URL", + "ghcr.io/crate/cratedb-mcp:latest" ]
257-261: Mask credentials in example URL or add a warning.Exposing
username:passwordin plaintext URLs may encourage insecure copy-pastes.
Either replace with a placeholder (<password>) for both user and pass or add a cautionary note.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
README.md(8 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
README.md (4)
Learnt from: amotl
PR: #17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the backlog.md document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
Learnt from: amotl
PR: #54
File: tests/test_cli.py:0-0
Timestamp: 2025-07-20T17:17:10.660Z
Learning: In the cratedb-mcp project, tests should avoid asserting against mcp.settings internal state as these assertions will break with later versions of FastMCP. Tests should focus on verifying that functions are called with correct parameters rather than checking internal implementation details.
Learnt from: amotl
PR: #24
File: pyproject.toml:76-76
Timestamp: 2025-05-17T16:02:09.342Z
Learning: For the cratedb-mcp project, FastMCP pre-2.0 releases provide the same API surface needed by the application, so a lower bound on the FastMCP dependency is not necessary.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: oci
- GitHub Check: oci
Transport `stdio` should not be obligatory. The image should be able to be used with any transport.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (4)
README.md (4)
157-179: Prefer version-pinned container images instead of:latestUsing
:latestmakes the build non-deterministic and can silently break users when the tag is updated. Pin the tag (or allow it to be overridden via an env var) so that examples remain reproducible.- "ghcr.io/crate/cratedb-mcp:latest" + "ghcr.io/crate/cratedb-mcp:${CRATEDB_MCP_VERSION:-vX.Y.Z}"Same applies to the
docker runexamples further down.
257-260: Avoid plaintext credentials in public examplesExposing user/password combos in shell history or CI logs is a frequent source of credential leakage. Consider showing the pattern with separate variables, a secrets manager, or a
.envfile instead.Example:
export CRATEDB_USER=admin export CRATEDB_PASS="$(op read --item cratedb-pass)" export CRATEDB_CLUSTER_URL="https://${CRATEDB_USER}:${CRATEDB_PASS}@example.net:4200"
273-273: Minor: drop the curly-brace set notation inside inline codeInside markdown code spans, just list the options comma-separated to avoid implying they must be written with braces.
-is `stdio`, you can select another one of `{"stdio", "http", "sse", "streamable-http"}` +is `stdio`, you can select another one of `stdio`, `http`, `sse`, or `streamable-http`
329-355: Pin concrete image versions in the run examplesBoth
crate:latestandghcr.io/crate/cratedb-mcpare mutable tags.
Recommend locking to explicit, compatible versions to ensure tutorials keep working.-docker run --rm --name=cratedb --network=demo \ - -p 4200:4200 -p 5432:5432 \ - -e CRATE_HEAP_SIZE=2g \ - crate:latest -Cdiscovery.type=single-node +docker run --rm --name=cratedb --network=demo \ + -p 4200:4200 -p 5432:5432 \ + -e CRATE_HEAP_SIZE=2g \ + crate:5.5.0 -Cdiscovery.type=single-nodeand
- ghcr.io/crate/cratedb-mcp + ghcr.io/crate/cratedb-mcp:vX.Y.Z
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
.dockerignore(1 hunks).github/workflows/release-oci-mcpo.yml(1 hunks).github/workflows/release-oci-standard.yml(1 hunks)CHANGES.md(1 hunks)README.md(8 hunks)pyproject.toml(1 hunks)release/oci/Dockerfile(1 hunks)release/oci/selftest.sh(1 hunks)release/oci/test.yml(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (8)
- CHANGES.md
- release/oci/test.yml
- release/oci/selftest.sh
- pyproject.toml
- .dockerignore
- release/oci/Dockerfile
- .github/workflows/release-oci-mcpo.yml
- .github/workflows/release-oci-standard.yml
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: amotl
PR: crate/cratedb-mcp#17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the `backlog.md` document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
README.md (4)
Learnt from: amotl
PR: #17
File: CHANGES.md:5-5
Timestamp: 2025-05-16T13:35:04.487Z
Learning: For the cratedb-mcp repository, version numbers and release dates in CHANGES.md are updated by a dedicated "Release vX.Y.Z" commit as part of the release process, not during documentation preparation PRs.
Learnt from: amotl
PR: crate/cratedb-mcp#0
File: :0-0
Timestamp: 2025-05-17T14:55:23.400Z
Learning: In the cratedb-mcp repository, the backlog.md document is intended as a functional planning document that doesn't need to adhere to strict formatting standards. Avoid pointing out formatting or layout shortcomings in this file during reviews.
Learnt from: amotl
PR: #54
File: tests/test_cli.py:0-0
Timestamp: 2025-07-20T17:17:10.660Z
Learning: In the cratedb-mcp project, tests should avoid asserting against mcp.settings internal state as these assertions will break with later versions of FastMCP. Tests should focus on verifying that functions are called with correct parameters rather than checking internal implementation details.
Learnt from: amotl
PR: #24
File: pyproject.toml:76-76
Timestamp: 2025-05-17T16:02:09.342Z
Learning: For the cratedb-mcp project, FastMCP pre-2.0 releases provide the same API surface needed by the application, so a lower bound on the FastMCP dependency is not necessary.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: oci
- GitHub Check: oci
🔇 Additional comments (1)
README.md (1)
364-386: CI example: surface all required env vars explicitlyGitHub Actions treats undefined env keys as empty strings, which can be confusing. Add a comment or default value for secrets like
CRATEDB_CLUSTER_URLto make the example copy-pastable without edits.env: CRATEDB_CLUSTER_URL: ${{ secrets.CRATEDB_CLUSTER_URL }}
About
Start providing OCI images per
ghcr.io/crate/cratedb-mcpandghcr.io/crate/cratedb-mcpo.References
Backlog