Skip to content

feat(maps-grounding-essentials): Introduce new Google Maps Platform t…#47

Closed
itamareps wants to merge 10 commits intomainfrom
feat/monorepo-maps-grounding-essentials
Closed

feat(maps-grounding-essentials): Introduce new Google Maps Platform t…#47
itamareps wants to merge 10 commits intomainfrom
feat/monorepo-maps-grounding-essentials

Conversation

@itamareps
Copy link
Collaborator

This commit adds a new package, maps-grounding-essentials, to encapsulate common Google Maps Platform functionalities.

The package includes:

  • GoogleMapsPlatformPlacesSearchText: A tool for performing text-based searches for places.
  • GoogleMapsPlatformComputeRoutes: A tool for computing travel routes between an origin and a destination.
  • GoogleMapsPlatformWeatherLookup: A tool for looking up weather information for a given address.

This new package aims to provide a set of essential tools for integrating Google Maps Platform services, improving modularity and reusability across projects. Standard project files such as .gitignore, CHANGELOG.md, CONTRIBUTING.md, LICENSE, package.json, and README.md are also included.

Thank you for opening a Pull Request!


Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

…ools package

This commit adds a new package, `maps-grounding-essentials`, to encapsulate common Google Maps Platform functionalities.

The package includes:
- `GoogleMapsPlatformPlacesSearchText`: A tool for performing text-based searches for places.
- `GoogleMapsPlatformComputeRoutes`: A tool for computing travel routes between an origin and a destination.
- `GoogleMapsPlatformWeatherLookup`: A tool for looking up weather information for a given address.

This new package aims to provide a set of essential tools for integrating Google Maps Platform services, improving modularity and reusability across projects. Standard project files such as `.gitignore`, `CHANGELOG.md`, `CONTRIBUTING.md`, `LICENSE`, `package.json`, and `README.md` are also included.
ryanbaumann and others added 6 commits September 30, 2025 10:44
* feat: Add server configuration file and update MCP name in package.json

* feat: Update .gitignore to include MCP Registry local authentication tokens

* feat: Add MCP publishing workflow and integrate with existing publish process

* feat: Bump version to 0.2.0 in package and server manifests

* Release v0.2.0: Version bump and manual release documentation

- Bump version from 0.1.7 to 0.2.0 (minor release for new features)
- Update package.json, server.json, and .release-please-manifest.json
- Add .mcpregistry_* to .gitignore for security
- Add developer documentation for manual MCP publishing process
- Note GitHub Actions workflow bug requiring manual releases

* revert mcp publush steps from public readme

* fix: Update MCP name in package.json and server.json to match the correct repository

* Update .github/workflows/publish-mcp.yml

Co-authored-by: Nils Ingwersen <32036474+nilsingwersen@users.noreply.github.com>

* Update .github/workflows/publish-mcp.yml

Co-authored-by: Nils Ingwersen <32036474+nilsingwersen@users.noreply.github.com>

* Update .github/workflows/publish-mcp.yml

Co-authored-by: Nils Ingwersen <32036474+nilsingwersen@users.noreply.github.com>

* Update .github/workflows/publish-mcp.yml

Co-authored-by: Nils Ingwersen <32036474+nilsingwersen@users.noreply.github.com>

* Update .github/workflows/publish-mcp.yml

Co-authored-by: Nils Ingwersen <32036474+nilsingwersen@users.noreply.github.com>

---------

Co-authored-by: Nils Ingwersen <32036474+nilsingwersen@users.noreply.github.com>
- Corrected @googlemaps/code-assist@latest to @googlemaps/code-assist-mcp@latest
- Fixed @googlemaps/code-assist-mc@latest to @googlemaps/code-assist-mcp@latest

These typos would prevent users from successfully installing the MCP server
through Claude Code. The correct package name is @googlemaps/code-assist-mcp.

🤖 Generated with [Claude Code](https://claude.ai/code)
…42)

* feat: Add initial GEMINI CLI extension and theme configuration

* feat: Update README with installation options for Code Assist as a Gemini CLI extension
…#43)

Bumps [axios](https://github.com/axios/axios) from 1.9.0 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.9.0...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Baumann <ryanbaumann@users.noreply.github.com>
…#45)

* refactor: Update GMP CLI extension prompt for clarity and tool usage emphasis

* Update GEMINI.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update GEMINI.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Comment on lines 24 to 36
describe("Google Maps Platform Code Assist MCP Server - Integration", () => {
test(
"retrieve-google-maps-platform-docs tool returns valid response from RAG service",
async () => {
const request = {
method: "tools/call" as const,
params: {
name: "retrieve-google-maps-platform-docs",
arguments: {
prompt: "How do I add Places New to my mobile app?",
},
},
};

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe change it to a test related to our tools?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, my bad, I forgot to do it....
Fixed.

@caio1985 The test requires API_KEY as the server requires. Do you think we can do it within the CI process?


Run the server on your local machine and connect clients using `stdio` protocol for use with AI-assisted IDEs (like VS Code, Android Studio, Cursor) or desktop AI applications (like Gemini CLI). This is the simplest and most common setup.

#### Configure Your Client

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should revisit this. I don't think we are going to list out the ways to support for coding agents.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get your point, but those are valid options to use/check our service. Yet, I don't have a strong objection to removing them.

Do you want to consult with one of the PMs or just remove it?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can leave it here for now. I think we just need to revisit this before we launch. I am adding this as an agenda for us to discuss tomorrow. Thanks!

},
"date": {
"type": "object",
"description": "The date of the required weather information",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In local timezone?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added to the tool instructions

This commit refactors the server setup and improves the integration test suite.

The `Server` instantiation in `index.ts` has been moved into an exported `getServer` function, making the server instance more modular and accessible for testing purposes. A redundant `console.log` statement was also removed.

Integration tests have been updated to directly call specific Google Maps Platform tool handlers (e.g., `handleGoogleMapsPlatformPlacesSearchText`) instead of relying on a generic `handleCallTool`. This provides more targeted and accurate testing of individual tool functionalities.

Additionally, the `test:integration` script in `package.json` now correctly passes the `GOOGLE_MAPS_API_KEY` environment variable to the test runner, ensuring that API-dependent tests can execute successfully. An explicit check for the API key has also been added within the tests.
@itamareps itamareps requested a review from xdtdaniel September 30, 2025 19:47
Copy link
Member

@caio1985 caio1985 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some relevant changes.

itamareps and others added 2 commits October 3, 2025 13:53
Update MCP server configuration examples in the README to include the `env` block for `GOOGLE_MAPS_API_KEY`. This demonstrates how to pass the API key as an environment variable to the `npx` command, which is essential for the Maps Grounding Essentials tools to authenticate and function correctly.

Additionally, the `alwaysAllow` configuration has been nested within the `google-maps-platform-maps-tool` object in relevant examples for better structural clarity and consistency. This provides more complete and functional setup instructions for users.
Copy link
Member

@caio1985 caio1985 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@itamareps itamareps closed this Oct 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants