diff --git a/.changesets/fix_lb_supergraph_new_specs.md b/.changesets/fix_lb_supergraph_new_specs.md new file mode 100644 index 00000000..27f0997e --- /dev/null +++ b/.changesets/fix_lb_supergraph_new_specs.md @@ -0,0 +1,3 @@ +### Update SDL handling in sdl_to_api_schema function - @lennyburdette PR #365 + +Loads supergraph schemas using a function that supports various features, including Apollo Connectors. When supergraph loading failed, it would load it as a standard GraphQL schema, which reveals Federation query planning directives in when using the `search` and `introspection` tools. diff --git a/crates/apollo-mcp-server/src/server/states.rs b/crates/apollo-mcp-server/src/server/states.rs index e154f010..540a3e0e 100644 --- a/crates/apollo-mcp-server/src/server/states.rs +++ b/crates/apollo-mcp-server/src/server/states.rs @@ -153,7 +153,7 @@ impl StateMachine { #[allow(clippy::result_large_err)] fn sdl_to_api_schema(schema_state: SchemaState) -> Result, ServerError> { - match Supergraph::new(&schema_state.sdl) { + match Supergraph::new_with_router_specs(&schema_state.sdl) { Ok(supergraph) => Ok(supergraph .to_api_schema(ApiSchemaOptions::default()) .map_err(|e| ServerError::Federation(Box::new(e)))?