diff --git a/.changesets/feat_alocay_add_basic_e2e_test.md b/.changesets/feat_alocay_add_basic_e2e_test.md deleted file mode 100644 index 8eeabf1f..00000000 --- a/.changesets/feat_alocay_add_basic_e2e_test.md +++ /dev/null @@ -1,15 +0,0 @@ -### test: adding a basic manual e2e test for mcp server - @alocay PR #320 - -Adding some basic e2e tests using [mcp-server-tester](https://github.com/steviec/mcp-server-tester). Currently, the tool does not always exit (ctrl+c is sometimes needed) so this should be run manually. - -### How to run tests? -Added a script `run_tests.sh` (may need to run `chmod +x` to run it) to run tests. Basic usage found via `./run_tests.sh -h`. The script does the following: - -1. Builds test/config yaml paths and verifies the files exist. -2. Checks if release `apollo-mcp-server` binary exists. If not, it builds the binary via `cargo build --release`. -3. Reads in the template file (used by `mcp-server-tester`) and replaces all `` placeholders with the test directory value. Generates this test server config file and places it in a temp location. -4. Invokes the `mcp-server-tester` via `npx`. -5. On script exit the generated config is cleaned up. - -### Example run: -To run the tests for `local-operations` simply run `./run_tests.sh local-operations` diff --git a/.changesets/fix_fix_validate_exec_doc_validation.md b/.changesets/fix_fix_validate_exec_doc_validation.md deleted file mode 100644 index 7c9ff17e..00000000 --- a/.changesets/fix_fix_validate_exec_doc_validation.md +++ /dev/null @@ -1,7 +0,0 @@ -### fix: Validate ExecutableDocument in validate tool - @swcollard PR #329 - -Contains fixes for https://github.com/apollographql/apollo-mcp-server/issues/327 - -The validate tool was parsing the operation passed in to it against the schema but it wasn't performing the validate function on the ExecutableDocument returned by the Parser. This led to cases where missing required arguments were not caught by the Tool. - -This change also updates the input schema to the execute tool to make it more clear to the LLM that it needs to provide a valid JSON object \ No newline at end of file diff --git a/.changesets/fix_missing_token_propagation.md b/.changesets/fix_missing_token_propagation.md deleted file mode 100644 index a6d5297f..00000000 --- a/.changesets/fix_missing_token_propagation.md +++ /dev/null @@ -1,3 +0,0 @@ -### fix: Add missing token propagation for execute tool - @DaleSeo PR #298 - -The execute tool is not forwarding JWT authentication tokens to upstream GraphQL endpoints, causing authentication failures when using this tool with protected APIs. diff --git a/.changesets/maint_hardcoded_versions.md b/.changesets/maint_hardcoded_versions.md deleted file mode 100644 index d63dd966..00000000 --- a/.changesets/maint_hardcoded_versions.md +++ /dev/null @@ -1,3 +0,0 @@ -### Hardcoded version strings in tests - @DaleSeo PR #305 - -The GraphQL tests have hardcoded version strings that we need to update manually each time we release a new version. Since this isn't included in the release checklist, it's easy to miss it and only notice the test failures later. \ No newline at end of file diff --git a/.changesets/maint_snapshot_format.md b/.changesets/maint_snapshot_format.md deleted file mode 100644 index 138ef11d..00000000 --- a/.changesets/maint_snapshot_format.md +++ /dev/null @@ -1,3 +0,0 @@ -### Update snapshot format - @DaleSeo PR #313 - -Updates all inline snapshots in the codebase to ensure they are consistent with the latest insta format. diff --git a/CHANGELOG.md b/CHANGELOG.md index 428156b1..87d061bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,44 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +# [0.7.5] - 2025-09-03 + +## 🐛 Fixes + +### fix: Validate ExecutableDocument in validate tool - @swcollard PR #329 + +Contains fixes for https://github.com/apollographql/apollo-mcp-server/issues/327 + +The validate tool was parsing the operation passed in to it against the schema but it wasn't performing the validate function on the ExecutableDocument returned by the Parser. This led to cases where missing required arguments were not caught by the Tool. + +This change also updates the input schema to the execute tool to make it more clear to the LLM that it needs to provide a valid JSON object + +## 🛠 Maintenance + +### test: adding a basic manual e2e test for mcp server - @alocay PR #320 + +Adding some basic e2e tests using [mcp-server-tester](https://github.com/steviec/mcp-server-tester). Currently, the tool does not always exit (ctrl+c is sometimes needed) so this should be run manually. + +### How to run tests? +Added a script `run_tests.sh` (may need to run `chmod +x` to run it) to run tests. Basic usage found via `./run_tests.sh -h`. The script does the following: + +1. Builds test/config yaml paths and verifies the files exist. +2. Checks if release `apollo-mcp-server` binary exists. If not, it builds the binary via `cargo build --release`. +3. Reads in the template file (used by `mcp-server-tester`) and replaces all `` placeholders with the test directory value. Generates this test server config file and places it in a temp location. +4. Invokes the `mcp-server-tester` via `npx`. +5. On script exit the generated config is cleaned up. + +### Example run: +To run the tests for `local-operations` simply run `./run_tests.sh local-operations` + +### Update snapshot format - @DaleSeo PR #313 + +Updates all inline snapshots in the codebase to ensure they are consistent with the latest insta format. + +### Hardcoded version strings in tests - @DaleSeo PR #305 + +The GraphQL tests have hardcoded version strings that we need to update manually each time we release a new version. Since this isn't included in the release checklist, it's easy to miss it and only notice the test failures later. + # [0.7.4] - 2025-08-27 ## 🐛 Fixes diff --git a/Cargo.lock b/Cargo.lock index 3acead16..191f5010 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -174,7 +174,7 @@ dependencies = [ [[package]] name = "apollo-mcp-registry" -version = "0.7.4" +version = "0.7.5" dependencies = [ "derive_more", "educe", @@ -202,7 +202,7 @@ dependencies = [ [[package]] name = "apollo-mcp-server" -version = "0.7.4" +version = "0.7.5" dependencies = [ "anyhow", "apollo-compiler", @@ -255,7 +255,7 @@ dependencies = [ [[package]] name = "apollo-schema-index" -version = "0.7.4" +version = "0.7.5" dependencies = [ "apollo-compiler", "enumset", diff --git a/Cargo.toml b/Cargo.toml index 44082766..54fe14fd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ [workspace.package] authors = ["Apollo "] -version = "0.7.4" +version = "0.7.5" [workspace.dependencies] apollo-compiler = "1.27.0" diff --git a/docs/source/install.mdx b/docs/source/install.mdx index ebdba0f2..9ec643e1 100644 --- a/docs/source/install.mdx +++ b/docs/source/install.mdx @@ -26,14 +26,14 @@ To download a **specific version** of Apollo MCP Server (recommended for CI envi ```bash # Note the `v` prefixing the version number -docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.4 +docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.5 ``` To download a specific version of Apollo MCP Server that is a release candidate: ```bash # Note the `v` prefixing the version number and the `-rc` suffix -docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.4-rc.1 +docker image pull ghcr.io/apollographql/apollo-mcp-server:v0.7.5-rc.1 ``` @@ -65,7 +65,7 @@ To install or upgrade to a **specific version** of Apollo MCP Server (recommende ```bash # Note the `v` prefixing the version number -curl -sSL https://mcp.apollo.dev/download/nix/v0.7.4 | sh +curl -sSL https://mcp.apollo.dev/download/nix/v0.7.5 | sh ``` If your machine doesn't have the `curl` command, you can get the latest version from the [`curl` downloads page](https://curl.se/download.html). @@ -82,5 +82,5 @@ To install or upgrade to a **specific version** of Apollo MCP Server (recommende ```bash # Note the `v` prefixing the version number -iwr 'https://mcp.apollo.dev/download/win/v0.7.4' | iex +iwr 'https://mcp.apollo.dev/download/win/v0.7.5' | iex ``` diff --git a/scripts/nix/install.sh b/scripts/nix/install.sh index 00b50108..40767447 100755 --- a/scripts/nix/install.sh +++ b/scripts/nix/install.sh @@ -14,7 +14,7 @@ BINARY_DOWNLOAD_PREFIX="${APOLLO_MCP_SERVER_BINARY_DOWNLOAD_PREFIX:="https://git # Apollo MCP Server version defined in apollo-mcp-server's Cargo.toml # Note: Change this line manually during the release steps. -PACKAGE_VERSION="v0.7.4" +PACKAGE_VERSION="v0.7.5" download_binary_and_run_installer() { downloader --check diff --git a/scripts/windows/install.ps1 b/scripts/windows/install.ps1 index 07ee6ab7..d8007236 100644 --- a/scripts/windows/install.ps1 +++ b/scripts/windows/install.ps1 @@ -8,7 +8,7 @@ # Apollo MCP Server version defined in apollo-mcp-server's Cargo.toml # Note: Change this line manually during the release steps. -$package_version = 'v0.7.4' +$package_version = 'v0.7.5' function Install-Binary($apollo_mcp_server_install_args) { $old_erroractionpreference = $ErrorActionPreference