{"owner":"googleapis","repo":"mcp-toolbox","hasSkills":true,"totalSkillsCount":406,"totalTokensCount":150422,"categories":["plugin-manifest","anthropic-skill","gemini-rule"],"hasMcp":false,"mcpConfig":null,"found":["extensions/README.md","skills/README.md","extensions/2026-07-28/README.md","skills/maintainer/triage-issues/SKILL.md","skills/maintainer/fix-failing-tests/SKILL.md","skills/maintainer/review-prs/SKILL.md","GEMINI.md","internal/prebuiltconfigs/tools/alloydb-postgres-admin.yaml","internal/prebuiltconfigs/tools/alloydb-omni.yaml","internal/prebuiltconfigs/tools/alloydb-postgres.yaml","internal/prebuiltconfigs/tools/alloydb-postgres-observability.yaml","internal/prebuiltconfigs/tools/bigquery.yaml","internal/prebuiltconfigs/tools/clickhouse.yaml","internal/prebuiltconfigs/tools/cloud-healthcare.yaml","internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml","internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml","internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml","internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml","internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml","internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml","internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml","internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml","internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml","internal/prebuiltconfigs/tools/cloud-storage.yaml","internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml","internal/prebuiltconfigs/tools/dataplex.yaml","internal/prebuiltconfigs/tools/dataproc.yaml","internal/prebuiltconfigs/tools/elasticsearch.yaml","internal/prebuiltconfigs/tools/firestore.yaml","internal/prebuiltconfigs/tools/looker.yaml","internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml","internal/prebuiltconfigs/tools/looker-dev.yaml","internal/prebuiltconfigs/tools/mindsdb.yaml","internal/prebuiltconfigs/tools/mssql.yaml","internal/prebuiltconfigs/tools/mysql.yaml","internal/prebuiltconfigs/tools/neo4j.yaml","internal/prebuiltconfigs/tools/oceanbase.yaml","internal/prebuiltconfigs/tools/oracledb.yaml","internal/prebuiltconfigs/tools/postgres.yaml","internal/prebuiltconfigs/tools/serverless-spark.yaml","internal/prebuiltconfigs/tools/singlestore.yaml","internal/prebuiltconfigs/tools/snowflake.yaml","internal/prebuiltconfigs/tools/spanner.yaml","internal/prebuiltconfigs/tools/spanner-postgres.yaml","internal/prebuiltconfigs/tools/sqlite.yaml","skills/maintainer/fix-failing-tests/references/ci-map.md","docs/en/documentation/configuration/skills/_index.md","docs/en/documentation/configuration/tools/_index.md","docs/en/documentation/configuration/tools/invoke_tool.md","docs/en/documentation/configuration/tools/url_parameter_binding.md","docs/en/integrations/alloydb/tools/_index.md","docs/en/integrations/alloydb/tools/alloydb-ai-nl.md","docs/en/integrations/alloydb-admin/tools/_index.md","docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md","docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md","docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md","docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md","docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md","docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md","docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md","docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md","docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md","docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md","docs/en/integrations/arcadedb/tools/_index.md","docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md","docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md","docs/en/integrations/bigquery/tools/_index.md","docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md","docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md","docs/en/integrations/bigquery/tools/bigquery-execute-sql.md","docs/en/integrations/bigquery/tools/bigquery-forecast.md","docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md","docs/en/integrations/bigquery/tools/bigquery-get-table-info.md","docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md","docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md","docs/en/integrations/bigquery/tools/bigquery-search-catalog.md","docs/en/integrations/bigquery/tools/bigquery-sql.md","docs/en/integrations/bigtable/tools/_index.md","docs/en/integrations/bigtable/tools/bigtable-create-cluster.md","docs/en/integrations/bigtable/tools/bigtable-create-instance.md","docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md","docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md","docs/en/integrations/bigtable/tools/bigtable-create-table.md","docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md","docs/en/integrations/bigtable/tools/bigtable-delete-instance.md","docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md","docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md","docs/en/integrations/bigtable/tools/bigtable-delete-table.md","docs/en/integrations/bigtable/tools/bigtable-get-cluster.md","docs/en/integrations/bigtable/tools/bigtable-get-instance.md","docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md","docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md","docs/en/integrations/bigtable/tools/bigtable-get-table.md","docs/en/integrations/bigtable/tools/bigtable-list-clusters.md","docs/en/integrations/bigtable/tools/bigtable-list-instances.md","docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md","docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md","docs/en/integrations/bigtable/tools/bigtable-list-schemas.md","docs/en/integrations/bigtable/tools/bigtable-list-tables.md","docs/en/integrations/bigtable/tools/bigtable-sql.md","docs/en/integrations/bigtable/tools/bigtable-update-cluster.md","docs/en/integrations/bigtable/tools/bigtable-update-instance.md","docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md","docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md","docs/en/integrations/bigtable/tools/bigtable-update-table.md","docs/en/integrations/cassandra/tools/_index.md","docs/en/integrations/cassandra/tools/cassandra-cql.md","docs/en/integrations/clickhouse/tools/_index.md","docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md","docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md","docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md","docs/en/integrations/clickhouse/tools/clickhouse-sql.md","docs/en/integrations/cloud-sql-admin/tools/_index.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md","docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md","docs/en/integrations/cloud-sql-mssql/tools/_index.md","docs/en/integrations/cloud-sql-mysql/tools/_index.md","docs/en/integrations/cloud-sql-pg/tools/_index.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md","docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md","docs/en/integrations/cloud-storage/tools/_index.md","docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md","docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md","docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md","docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md","docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md","docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md","docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md","docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md","docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md","docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md","docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md","docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md","docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md","docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md","docs/en/integrations/cloudgda/tools/_index.md","docs/en/integrations/cloudgda/tools/cloud-gda-query.md","docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md","docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md","docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md","docs/en/integrations/cloudhealthcare/tools/_index.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md","docs/en/integrations/cloudloggingadmin/tools/_index.md","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md","docs/en/integrations/cloudmonitoring/tools/_index.md","docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md","docs/en/integrations/cockroachdb/tools/_index.md","docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md","docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md","docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md","docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md","docs/en/integrations/couchbase/tools/_index.md","docs/en/integrations/couchbase/tools/couchbase-sql.md","docs/en/integrations/databaseinsights/tools/_index.md","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md","docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md","docs/en/integrations/dataform/tools/_index.md","docs/en/integrations/dataform/tools/dataform-compile-local.md","docs/en/integrations/datalineage/tools/_index.md","docs/en/integrations/datalineage/tools/datalineage-search-lineage.md","docs/en/integrations/dataproc/tools/_index.md","docs/en/integrations/dataproc/tools/dataproc-get-cluster.md","docs/en/integrations/dataproc/tools/dataproc-get-job.md","docs/en/integrations/dataproc/tools/dataproc-list-clusters.md","docs/en/integrations/dataproc/tools/dataproc-list-jobs.md","docs/en/integrations/dgraph/tools/_index.md","docs/en/integrations/dgraph/tools/dgraph-dql.md","docs/en/integrations/elasticsearch/tools/_index.md","docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md","docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md","docs/en/integrations/firebird/tools/_index.md","docs/en/integrations/firebird/tools/firebird-execute-sql.md","docs/en/integrations/firebird/tools/firebird-sql.md","docs/en/integrations/firestore/tools/_index.md","docs/en/integrations/firestore/tools/firestore-add-documents.md","docs/en/integrations/firestore/tools/firestore-delete-documents.md","docs/en/integrations/firestore/tools/firestore-get-documents.md","docs/en/integrations/firestore/tools/firestore-get-rules.md","docs/en/integrations/firestore/tools/firestore-list-collections.md","docs/en/integrations/firestore/tools/firestore-query.md","docs/en/integrations/firestore/tools/firestore-query-collection.md","docs/en/integrations/firestore/tools/firestore-update-document.md","docs/en/integrations/firestore/tools/firestore-validate-rules.md","docs/en/integrations/http/tools/_index.md","docs/en/integrations/http/tools/http-tool.md","docs/en/integrations/knowledge-catalog/tools/_index.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md","docs/en/integrations/looker/tools/_index.md","docs/en/integrations/looker/tools/looker-add-dashboard-element.md","docs/en/integrations/looker/tools/looker-add-dashboard-filter.md","docs/en/integrations/looker/tools/looker-conversational-analytics.md","docs/en/integrations/looker/tools/looker-create-agent.md","docs/en/integrations/looker/tools/looker-create-dashboard-layout.md","docs/en/integrations/looker/tools/looker-create-git-branch.md","docs/en/integrations/looker/tools/looker-create-project-directory.md","docs/en/integrations/looker/tools/looker-create-project-file.md","docs/en/integrations/looker/tools/looker-delete-agent.md","docs/en/integrations/looker/tools/looker-delete-git-branch.md","docs/en/integrations/looker/tools/looker-delete-project-directory.md","docs/en/integrations/looker/tools/looker-delete-project-file.md","docs/en/integrations/looker/tools/looker-dev-mode.md","docs/en/integrations/looker/tools/looker-generate-embed-url.md","docs/en/integrations/looker/tools/looker-get-agent.md","docs/en/integrations/looker/tools/looker-get-connection-databases.md","docs/en/integrations/looker/tools/looker-get-connection-schemas.md","docs/en/integrations/looker/tools/looker-get-connection-table-columns.md","docs/en/integrations/looker/tools/looker-get-connection-tables.md","docs/en/integrations/looker/tools/looker-get-connections.md","docs/en/integrations/looker/tools/looker-get-dashboard.md","docs/en/integrations/looker/tools/looker-get-dashboards.md","docs/en/integrations/looker/tools/looker-get-dimensions.md","docs/en/integrations/looker/tools/looker-get-explores.md","docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md","docs/en/integrations/looker/tools/looker-get-filters.md","docs/en/integrations/looker/tools/looker-get-git-branch.md","docs/en/integrations/looker/tools/looker-get-looks.md","docs/en/integrations/looker/tools/looker-get-measures.md","docs/en/integrations/looker/tools/looker-get-models.md","docs/en/integrations/looker/tools/looker-get-parameters.md","docs/en/integrations/looker/tools/looker-get-project-directories.md","docs/en/integrations/looker/tools/looker-get-project-file.md","docs/en/integrations/looker/tools/looker-get-project-files.md","docs/en/integrations/looker/tools/looker-get-projects.md","docs/en/integrations/looker/tools/looker-health-analyze.md","docs/en/integrations/looker/tools/looker-health-pulse.md","docs/en/integrations/looker/tools/looker-health-vacuum.md","docs/en/integrations/looker/tools/looker-list-agents.md","docs/en/integrations/looker/tools/looker-list-git-branches.md","docs/en/integrations/looker/tools/looker-make-dashboard.md","docs/en/integrations/looker/tools/looker-make-look.md","docs/en/integrations/looker/tools/looker-query.md","docs/en/integrations/looker/tools/looker-query-sql.md","docs/en/integrations/looker/tools/looker-query-url.md","docs/en/integrations/looker/tools/looker-run-dashboard.md","docs/en/integrations/looker/tools/looker-run-look.md","docs/en/integrations/looker/tools/looker-switch-git-branch.md","docs/en/integrations/looker/tools/looker-update-agent.md","docs/en/integrations/looker/tools/looker-update-dashboard-element.md","docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md","docs/en/integrations/looker/tools/looker-update-project-file.md","docs/en/integrations/looker/tools/looker-validate-project.md","docs/en/integrations/mariadb/tools/_index.md","docs/en/integrations/mindsdb/tools/_index.md","docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md","docs/en/integrations/mindsdb/tools/mindsdb-sql.md","docs/en/integrations/mongodb/tools/_index.md","docs/en/integrations/mongodb/tools/mongodb-aggregate.md","docs/en/integrations/mongodb/tools/mongodb-delete-many.md","docs/en/integrations/mongodb/tools/mongodb-delete-one.md","docs/en/integrations/mongodb/tools/mongodb-find.md","docs/en/integrations/mongodb/tools/mongodb-find-one.md","docs/en/integrations/mongodb/tools/mongodb-insert-many.md","docs/en/integrations/mongodb/tools/mongodb-insert-one.md","docs/en/integrations/mongodb/tools/mongodb-update-many.md","docs/en/integrations/mongodb/tools/mongodb-update-one.md","docs/en/integrations/mssql/tools/_index.md","docs/en/integrations/mssql/tools/mssql-execute-sql.md","docs/en/integrations/mssql/tools/mssql-list-tables.md","docs/en/integrations/mssql/tools/mssql-sql.md","docs/en/integrations/mysql/tools/_index.md","docs/en/integrations/mysql/tools/mysql-execute-sql.md","docs/en/integrations/mysql/tools/mysql-get-query-plan.md","docs/en/integrations/mysql/tools/mysql-list-active-queries.md","docs/en/integrations/mysql/tools/mysql-list-all-locks.md","docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md","docs/en/integrations/mysql/tools/mysql-list-table-stats.md","docs/en/integrations/mysql/tools/mysql-list-tables.md","docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md","docs/en/integrations/mysql/tools/mysql-show-query-stats.md","docs/en/integrations/mysql/tools/mysql-sql.md","docs/en/integrations/neo4j/tools/_index.md","docs/en/integrations/neo4j/tools/neo4j-cypher.md","docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md","docs/en/integrations/neo4j/tools/neo4j-schema.md","docs/en/integrations/oceanbase/tools/_index.md","docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md","docs/en/integrations/oceanbase/tools/oceanbase-sql.md","docs/en/integrations/oracle/tools/_index.md","docs/en/integrations/oracle/tools/oracle-execute-sql.md","docs/en/integrations/oracle/tools/oracle-list-tables.md","docs/en/integrations/oracle/tools/oracle-sql.md","docs/en/integrations/postgres/tools/_index.md","docs/en/integrations/postgres/tools/postgres-database-overview.md","docs/en/integrations/postgres/tools/postgres-execute-sql.md","docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md","docs/en/integrations/postgres/tools/postgres-list-active-queries.md","docs/en/integrations/postgres/tools/postgres-list-available-extensions.md","docs/en/integrations/postgres/tools/postgres-list-database-stats.md","docs/en/integrations/postgres/tools/postgres-list-indexes.md","docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md","docs/en/integrations/postgres/tools/postgres-list-locks.md","docs/en/integrations/postgres/tools/postgres-list-pg-settings.md","docs/en/integrations/postgres/tools/postgres-list-publication-tables.md","docs/en/integrations/postgres/tools/postgres-list-query-stats.md","docs/en/integrations/postgres/tools/postgres-list-roles.md","docs/en/integrations/postgres/tools/postgres-list-schemas.md","docs/en/integrations/postgres/tools/postgres-list-sequences.md","docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md","docs/en/integrations/postgres/tools/postgres-list-table-stats.md","docs/en/integrations/postgres/tools/postgres-list-tables.md","docs/en/integrations/postgres/tools/postgres-list-tablespaces.md","docs/en/integrations/postgres/tools/postgres-list-triggers.md","docs/en/integrations/postgres/tools/postgres-list-views.md","docs/en/integrations/postgres/tools/postgres-long-running-transactions.md","docs/en/integrations/postgres/tools/postgres-replication-stats.md","docs/en/integrations/postgres/tools/postgres-sql.md","docs/en/integrations/redis/tools/_index.md","docs/en/integrations/redis/tools/redis-tool.md","docs/en/integrations/scylladb/tools/_index.md","docs/en/integrations/scylladb/tools/scylladb-cql.md","docs/en/integrations/serverless-spark/tools/_index.md","docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md","docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md","docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md","docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md","docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md","docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md","docs/en/integrations/singlestore/tools/_index.md","docs/en/integrations/singlestore/tools/singlestore-execute-sql.md","docs/en/integrations/singlestore/tools/singlestore-sql.md","docs/en/integrations/snowflake/tools/_index.md","docs/en/integrations/snowflake/tools/snowflake-execute-sql.md","docs/en/integrations/snowflake/tools/snowflake-sql.md","docs/en/integrations/spanner/tools/_index.md","docs/en/integrations/spanner/tools/spanner-execute-sql.md","docs/en/integrations/spanner/tools/spanner-list-graphs.md","docs/en/integrations/spanner/tools/spanner-list-tables.md","docs/en/integrations/spanner/tools/spanner-search-catalog.md","docs/en/integrations/spanner/tools/spanner-sql.md","docs/en/integrations/sqlite/tools/_index.md","docs/en/integrations/sqlite/tools/sqlite-execute-sql.md","docs/en/integrations/sqlite/tools/sqlite-sql.md","docs/en/integrations/tidb/tools/_index.md","docs/en/integrations/tidb/tools/tidb-execute-sql.md","docs/en/integrations/tidb/tools/tidb-sql.md","docs/en/integrations/trino/tools/_index.md","docs/en/integrations/trino/tools/trino-execute-sql.md","docs/en/integrations/trino/tools/trino-sql.md","docs/en/integrations/utility/tools/_index.md","docs/en/integrations/utility/tools/wait.md","docs/en/integrations/valkey/tools/_index.md","docs/en/integrations/valkey/tools/valkey-tool.md","docs/en/integrations/yuagbytedb/tools/_index.md","docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md"],"skills":{"extensions/README.md":"# Experimental MCP Toolbox Extensions\n\nThis directory contains specifications and schemas for experimental Model Context Protocol (MCP) extensions supported by MCP Toolbox. Toolbox includes  features that fall outside the official MCP specification. While some capabilities may remain proprietary, others are experimental features being incubated for potential inclusion in the core specification.\n\n## Extension Identifier\n\nThe identifier we are using for this extension is `com.google.cloud/toolbox.<version_string>`. It packages all the custom experimental Toolbox features (such as groups, secure parameters, and authenticated parameters) under a single extension namespace.\n\n## Versioning Strategy\n\n- **Strict Backward Compatibility Within Versions:** Once a version is established, all updates to it must be non-breaking. New capabilities can be added and schemas updated, provided they fail gracefully if unsupported and do not break existing implementations.\n- **Breaking Changes Between Versions:** Breaking changes are allowed when introducing a new protocol version release.\n- **Graduation to Official Spec:** When an experimental feature is officially adopted into the core MCP specification, it will be removed from this experimental extension package. Clients must transition to the official implementation to utilize the feature.\n","skills/README.md":"# MCP Toolbox Agent Skills\n\nThis directory holds [Agent Skills](https://agentskills.io/specification) for the\nMCP Toolbox project — self-contained instructions that teach a coding agent\n(Claude Code, Cursor, Gemini CLI, Codex, and others) how to perform specific\nworkflows against this repo.\n\nSkills are grouped by audience:\n\n- `maintainer/` — skills for maintaining the toolbox itself (e.g. `triage-issues`,\n  `review-prs`, `stale-sweep`).\n\n## Installing\n\nSkills install with [`npx skills`](https://www.npmjs.com/package/skills)\n([source](https://github.com/vercel-labs/skills)), the open Agent Skills CLI. It\nworks with any supported agent and needs only Node.js (no global install\nrequired).\n\nBy default it installs into the **current project** (`.agents/skills/`, symlinked\ninto each detected agent's directory). Add `-g` to install **globally** into your\nhome directory so the skill is available across all projects.\n\n### Install every skill\n\n```bash\n# Interactive: pick which skills and agents to install\nnpx skills add googleapis/mcp-toolbox\n\n# Non-interactive: install all skills for all detected agents\nnpx skills add googleapis/mcp-toolbox -y\n```\n\n### Install all maintainer skills\n\nPoint at the category subdirectory:\n\n```bash\nnpx skills add googleapis/mcp-toolbox/skills/maintainer\n```\n\n### Install a specific skill\n\nPoint directly at the skill's folder:\n\n```bash\n# Shorthand\nnpx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues\n\n# Or the full GitHub URL\nnpx skills add https://github.com/googleapis/mcp-toolbox/tree/main/skills/maintainer/triage-issues\n```\n\nFrom a source that contains several skills, you can also select by name instead\nof a subpath:\n\n```bash\nnpx skills add googleapis/mcp-toolbox --skill triage-issues   # one skill\nnpx skills add googleapis/mcp-toolbox --skill '*'             # all skills\n```\n\n### Install globally\n\nAny of the commands above take `-g` to install into your home directory instead\nof the current project:\n\n```bash\nnpx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues -g\n```\n\n## Managing installed skills\n\n```bash\nnpx skills list                 # list installed skills\nnpx skills update               # update all installed skills to latest\nnpx skills update triage-issues # update a specific skill\nnpx skills remove triage-issues # remove a skill\n```\n\n`update` re-fetches only skills whose upstream content has changed and refreshes\nthe whole skill folder (including bundled `references/`), so keep installed\ncopies read-only — local edits are overwritten on update.\n","extensions/2026-07-28/README.md":"# Extension Version: 2026-07-28\n\nThis directory contains schemas and specifications for the `2026-07-28` version of the experimental MCP Toolbox extension.\n\n## Extension Identifier\n\nThe identifier for this extension version is **`com.google.cloud/toolbox.v1`**.\n\n## Supported Capabilities\n\n- **[Secure Parameters](./secureParams/specification/secure_params.md)**: Separates sensitive runtime parameters from LLM visibility via `secureInputSchema` and `secureArguments`.  \n  Schema: [`secureParams/schema/schema.ts`](./secureParams/schema/schema.ts)\n- **[Groups](./groups/specification/groups.md)**: Exposes a server's configured groups over MCP through the `groups/list` and `groups/get` methods.  \n  Schema: [`groups/schema/schema.ts`](./groups/schema/schema.ts)\n","skills/maintainer/triage-issues/SKILL.md":"---\nname: triage-issues\ndescription: >-\n  Triage GitHub issues in the googleapis/mcp-toolbox repo: propose the correct\n  labels (type / priority / product / status), check for duplicates, verify a bug\n  has enough info to act on, and draft a triage comment. Use whenever a maintainer\n  asks you to triage, label, categorize, prioritize, or \"look at\" an issue (or a\n  batch) in mcp-toolbox, e.g. \"triage #3648\", \"what labels should this get\", \"is\n  this a dup\", triage a batch of issue numbers, or when they paste an mcp-toolbox\n  issue link. PROPOSE-ONLY: delivers the triage in chat for the maintainer to apply;\n  never edits labels, comments, closes, or assigns on its own.\n---\n\n# Triage Issues (mcp-toolbox)\n\nTriage here is mostly manual **labeling**. The `product:` label auto-routes to the owning team\nvia `.github/blunderbuss.yml`. Propose only, never mutating the issue; when a call isn't obvious,\nask rather than guess.\n\n## Goal\n\nGiven an issue number (or several), deliver a triage the maintainer can apply in seconds: labels\nacross the four axes (each with a one-line *why*), likely duplicates, missing bug info, and a\ndraft comment when one adds value.\n\n## Prerequisites\n\n- `gh` authenticated for `googleapis/mcp-toolbox`, plus the issue number(s). A GitHub MCP server\n  substitutes for `gh` if it isn't available: the `gh` commands below map to its read/list tools.\n\n## Guidance\n\n**Read source-of-truth live, not from memory** (labels/routing drift):\n- `gh label list --repo googleapis/mcp-toolbox --limit 200`: the only valid label names. Never propose one not listed.\n- [`.github/blunderbuss.yml`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/blunderbuss.yml): which `product:` labels route to which team.\n- [`.github/ISSUE_TEMPLATE/bug_report.yml`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/ISSUE_TEMPLATE/bug_report.yml): required bug fields (for the completeness check).\n- [references/maintainer-playbook.md](references/maintainer-playbook.md): the **authoritative**\n  taxonomy, priority/status definitions, SLO targets, and comment templates. Read it to classify;\n  this skill only adds how to apply them in a propose-only workflow.\n\nFetch the issue:\n```bash\ngh issue view <n> --repo googleapis/mcp-toolbox --json number,title,body,author,labels,comments,createdAt\n```\n\n**Check bot-noise first.** Automated reports (e.g. \"Cloud Build Failure Reporter ... failed\",\nbot author) just need `periodic-failure`, so skip the rest of the workflow.\n\n**The four axes** (the playbook has the definitions; below is only how to *apply* them here). Skip\nan axis when it doesn't apply: say so, don't force a label.\n\n- **`type:`**: the template pre-applies `type: bug`/`type: question`; trust it, but correct it\n  when the body disagrees (a \"bug\" asking for new behavior is a feature request) and say why.\n- **`product:`**: one per data source; **highest-leverage label**, since it drives team routing.\n  Infer from the source/tool named (e.g. \"looker run_dashboard tool\" → `product: looker`). Don't\n  force one on core/product-agnostic issues; note it has no product owner. If a real data source\n  has no matching label yet, say so and flag it for `.github/labels.yaml` rather than mis-routing.\n- **`priority:`**: **bugs are only ever p0 or p1** (never p2/p3); feature requests span p0-p3.\n  Match the issue to the playbook's priority examples and SLO table, state the reason, and let the\n  maintainer override.\n- **`status:`** (optional): `waiting for response` when a bug lacks info to act, `feedback wanted`\n  when waiting on community/author, `help wanted` for community-open work. See the playbook for\n  exact semantics and the >60-day-silence close rule.\n\n**Community labels** (standalone, not `status:`-prefixed): `good first issue` for well-scoped,\napproachable issues; `ready for work` for triaged issues actionable now. Propose `good first issue`\nalongside `help wanted` when the fix is small and self-contained.\n\n**Assignment** (not a label): rarely needed, since `product:` auto-routes to the team. Propose an\nassignee only when an external contributor volunteers (assign them, to avoid duplicate work) or a\nmaintainer is picking it up; otherwise leave it unassigned so contributors know it's open.\n\n**Duplicates.** `gh issue list --repo googleapis/mcp-toolbox --state all --search \"<key terms>\" --limit 20`\nwith distinctive terms (tool name, error string). If it's a known issue, propose `duplicate` +\nclose: link and reference the original, and thank the reporter (template below).\n\n**Investigate before deferring (bugs).** Before proposing `waiting for response`, try to reproduce\nby tracing the code, and check `git log`/`git blame` for a fix that already landed silently. When\nthe call hinges on whether the bug is real, hand off to the `reproduce-bug` skill, which runs the\ncheap discriminators (wrong tool type, version skew, client-side) and can reproduce most reports on\nSQLite with no credentials; its verdict sharpens both `priority:` and `status:`. If\nit's already fixed, propose `duplicate` + close referencing the commit rather than asking for info.\nIf you can root-cause it, include the `file:line` — it sharpens the priority call. Only fall back to\n`waiting for response` when reproduction genuinely isn't possible, and then ask *specific*,\nactionable questions, not \"please provide more info\". Compare against `bug_report.yml` required\nfields (version, env, expected vs. current, repro) to list exactly what's missing; this feeds the\nlabel and the draft comment.\n\n**Feature requests & questions.** For a feature request, search the codebase for an existing or\npartial implementation before drafting the acknowledgment — it may already be possible (answer and\nclose) or a duplicate. For a `type: question`, answer directly from the code with references rather\nthan only labeling it.\n\n**Draft comment.** Use the playbook's canonical templates verbatim (\"Needs More Information\" for a\nbug missing repro/details, \"Acknowledging a Feature Request\" for an FR), filling in specifics like\nthe exact missing fields; don't invent wording. For a duplicate:\n\n```text\nThanks for reporting this! This is a duplicate of #<original>, so I'm closing this in favor of that issue. Please follow along there for updates.\n```\n\n## Rules\n\n- **Propose only.** Never run `gh issue edit/comment/close` or assign. Deliver in chat.\n- **Only real labels**: every proposed label must appear in `gh label list`.\n- **When type/product is a genuine toss-up, ask.** A confident wrong `product:` mis-routes.\n- **Cite what backs a claim.** Routing/label claims cite the config (e.g. \"routes to\n  `toolbox-looker-team` per `blunderbuss.yml`\"); codebase claims (root cause, \"already fixed\",\n  \"already implemented\") cite `file:line` or a commit SHA, or are marked `[UNVERIFIED]`.\n\n## Output format\n\n```text\n## Issue #<n>: <title>\n\n**Labels:**\n- `type: <x>`: <why>\n- `product: <x>`: <why + routing, or \"no product owner: core/...\">\n- `priority: <x>`: <why>\n- `status: <x>`: <why, if any>\n\n**Duplicates:** <#nums, or \"none for terms: ...\">\n**Completeness (bugs):** <what's missing, or \"complete\">\n**Draft comment:** <paste-ready, or \"none needed\">\n\n**Apply:** gh issue edit <n> --repo googleapis/mcp-toolbox --add-label \"type: ...,product: ...,priority: ...\"\n```\n\nInclude the ready-to-run `gh issue edit` line so the maintainer applies with one paste, but leave\nrunning it to them. For a batch, one block per issue plus a one-line summary table.\n","skills/maintainer/fix-failing-tests/SKILL.md":"---\nname: fix-failing-tests\ndescription: >-\n  Diagnose a failing test in the googleapis/mcp-toolbox repo and land a fix by\n  reasoning from the actual error: read the failure, reproduce it, shrink it\n  until the cause is forced into the open, then fix the cause. Use this whenever\n  a test or CI job is red, a build breaks after a change, many packages fail at\n  once, or a test passes locally but fails in CI.\n---\n\n# Diagnose and Fix Failing Tests\n\nScope: `googleapis/mcp-toolbox`\n\nDebug the way a careful developer does. Read the real error, find out what\nchanged, reproduce it, shrink it until the cause is forced into the open, then\nfix the cause rather than the symptom.\n\n\n## The Evidence Rule\n\n**Every factual claim MUST cite evidence**: a path with line numbers, a build ID,\na log excerpt, or a SHA. Otherwise mark it `[UNVERIFIED]` and say what would\nconfirm it.\n\n**Open every line you cite, including this skill's.** Ensure all pointers are\ncorrect.\n\n## 1. Read the actual failure\n\nHow you arrived decides what evidence you already hold and how much of step 2\nyou can skip.\n\n| You arrived from | What you have | Where that puts you |\n|---|---|---|\n| A gate failing on your PR | A diff and a known-good parent | Your change is the prime suspect, but confirm the same job is green on `main` before assuming it |\n| A `periodic-failure` issue | A build link buried in a long thread | Take the newest comment's link. The title often describes a different, already-fixed failure |\n| An issue someone filed | A claim, often without a log | Establish that it still fails before anything else. Reports go stale, and the fix may have landed already |\n| `main` is red | A range of commits, none of them yours | Bisect over merges. Say you are inheriting it rather than absorbing it into your change |\n| Fails locally, green in CI | A reproduction | Suspect your environment: stale build cache, leftover local state, missing env, different Go version |\n| Green locally, fails in CI | Neither | Suspect what CI does differently: `-race`, another OS, concurrency, a clean checkout, no cached state |\n\nWhatever the door, get to the real error before theorising. Do not work from the\njob summary or the last line of the log. Find the first real error and read it in\nfull.\n\n- **Did a test fail at all?** Some red jobs contain zero failing tests: a\n  compile error before the test step, a coverage threshold, a separate lint job,\n  or a shard that skipped itself. Confirm a real test failure before debugging\n  one. [references/ci-map.md](references/ci-map.md) lists the jobs that go red with everything green.\n- **Which error is the cause?** Compile errors cascade, so the first is the\n  cause and the rest are consequences. Assertion failures do not cascade, so\n  read them all: three unrelated ones mean something different from thirty\n  identical ones.\n- **What kind of failure is it?** An assertion, a panic, a timeout, and a\n  connection error each imply a different investigation. A connection error in\n  a test that never touches the network usually means the process under test\n  died.\n- **What exactly was expected versus produced?** Get the diff, the test name,\n  and the subtest name. \"The test failed\" is not a starting point.\n\n## 2. Establish what changed\n\nA test that passes on `main` and fails on your branch is a different problem\nfrom one failing everywhere.\n\n- Check whether the same job is red on `main`. If it is, you are inheriting\n  someone else's failure and should say so rather than absorbing it into your\n  change.\n- Diff your branch against the last green commit. Look for the smallest change\n  that could plausibly reach the failing code, including indirect reach through\n  a shared helper or an interface.\n- \"Nothing relevant changed\" is a hypothesis, not a fact. Shared infrastructure\n  and concurrent CI runs are changes too.\n\n## 3. Reproduce it\n\nA fix you cannot demonstrate is a guess. Find the smallest command that fails\nreliably, and run it before and after your patch.\n\n```bash\ngo test -race -v ./path/to/package/                  # one package\ngo test -race -run 'TestX/subtest' -v ./path/...     # one subtest\ngo test -race -count=20 -run 'TestX' ./path/...      # does it always fail?\n```\n\nUse `-race` locally, because CI does, and a race can be green without it.\n\nIf you cannot reproduce it, that is itself a finding. Say so explicitly, state\nwhat you would need (credentials, a build log, a concurrent run), and lower your\nconfidence rather than proceeding as if you had confirmed the cause.\n\n## 4. Isolate\n\nShrink the failure until only the cause is left. Each run should answer one\nquestion, so change one variable at a time.\n\n| Axis | Run it both ways | What a difference tells you |\n|---|---|---|\n| Alone vs in suite | the single test, then the whole package | passing alone means shared state or ordering, not bad logic |\n| With vs without your change | stash it and re-run | separates your regression from a pre-existing failure |\n| Repeated | `-count=20` | distinguishes deterministic from intermittent |\n| Order | `-shuffle=on` | exposes tests that depend on their neighbours |\n| Race detector | with and without `-race` | isolates a genuine data race |\n| Scope | one package, then many | one package is local logic, many is a shared cause |\n\nAlone versus in-suite is the highest-information split: it separates \"this test\nis wrong\" from \"this test is a victim\".\n\nWhen many packages fail at once, resist debugging the first one alphabetically.\nLook for the single shared thing they all touch, fix that, and re-run. The list\nusually collapses. Usual candidates: a fake or helper nearly every package\nimports, a shared struct compared field-by-field in table tests, a signature\nevery caller depends on, or registration via a blank import.\n\n## 5. Explain it before you fix it\n\nState one hypothesis as a prediction: *if this is the cause, then X should be\ntrue.* Then check X. If you cannot phrase a prediction, you do not have a\nhypothesis yet and should go back to isolating.\n\nBefore writing a patch, be able to answer:\n\n- Why does it fail **now**, when it passed before?\n- Why does it fail **here** and not in the tests that pass?\n- Does the cause explain **every** symptom, including the ones you set aside?\n\nAn explanation that covers only some of the evidence is usually the wrong one.\n\nSuspect a bystander when the symptom sits far from the cause. A shared deadline\nthat also bounds the process under test kills it on overrun, blaming whichever\ntest was running. A fixture collision can block rather than error, surfacing as\na downstream timeout. Teardown on an expired context fails silently, leaving\nstale state for the next run.\n\n## 6. Fix the cause\n\nDecide what is actually wrong before editing.\n\n- **The code is wrong.** The test caught a real defect. Fix the code.\n- **The test is wrong.** It encoded an assumption that no longer holds. Change\n  it, and say plainly what behaviour changed and why that is acceptable.\n- **The conditions are wrong.** The test and code are both fine, but the\n  environment is shared, slow, or ordered unfavourably. Fix the conditions.\n\nFix at the level the cause lives. A shared helper that breaks many packages gets\none edit there, not a hundred local patches.\n\nNever loosen an assertion, add a retry, or extend a timeout to make red go away\nunless you can explain why the original was wrong. Those are the three edits\nthat hide a real bug while looking like a fix.\n\nSkipping is a last resort: only for a diagnosed intermittent failure that is\nblocking others, and only with a tracking issue and re-enable condition in the\nskip reason, since a bare \"flaky\" is how tests stay skipped for years. Never\nskip a data race, a deterministic failure, or one you cannot explain, because an\nunexplained failure is the most likely to be a real bug.\n\n## 7. Verify\n\n- Re-run the exact command that failed, and confirm it now passes.\n- Re-run the wider package or suite, to check you did not move the failure.\n- For anything intermittent, repeat it. A single green run proves nothing when\n  the failure was one-in-five to begin with.\n- Say what you did **not** verify.\n\n## Output format\n\nReport the diagnosis, then the diff, then anything left open.\n\n```json\n{\n  \"failure\": \"<test or job, exact name>\",\n  \"kind\": \"assertion | compile | panic | timeout | connection | not-a-test-failure\",\n  \"scope\": \"<how many packages, and what they share>\",\n  \"deterministic\": true,\n  \"reproduced\": \"<the exact command, or why not>\",\n  \"evidence\": [\"<path:line or log excerpt> <what it shows>\"],\n  \"root_cause\": \"<one sentence that explains every symptom>\",\n  \"fix_level\": \"code | test | conditions\",\n  \"action\": \"fix | escalate | no-change\",\n  \"confidence\": \"high | medium | low, and why\",\n  \"residual_risk\": \"<what this patch does not cover, and what you did not verify>\"\n}\n```\n\nState `residual_risk` honestly. Claiming certainty you do not have is worse than\na hedged claim, because the next person will trust it.\n\n## Reference\n\n[references/ci-map.md](references/ci-map.md) covers where tests run, how to get the logs, and the jobs\nthat go red with every test passing. Read it in step 1.\n","skills/maintainer/review-prs/SKILL.md":"---\nname: review-prs\ndescription: >-\n  Review a GitHub pull request in the googleapis/mcp-toolbox repo against the\n  team's reviewer checklist: PR title/description conventions, linked issue,\n  logic errors and unhandled edge cases, breaking changes, test coverage, docs\n  updates, security (input handling), and new dependencies. Use whenever a\n  maintainer asks you to review, look over, \"take a look at\", or check whether\n  something is ready to merge in mcp-toolbox, e.g. \"review #3703\", \"can you look\n  at this PR\", \"is this good to merge\", or when they paste an mcp-toolbox PR link.\n  PROPOSE-ONLY: delivers the review in chat for the maintainer to post; never\n  approves, requests changes, comments, labels, or merges on its own.\n---\n\n# Review PRs (mcp-toolbox)\n\nA review here is a proposal the maintainer edits and posts, not a rubber stamp. The value is\na fast, grounded read of the diff against the team's conventions.\n\n## Goal\n\nGiven a PR number or link, deliver a review the maintainer can post in seconds: a suggested\nverdict (approve / request changes / comment), the findings that back it grouped by severity\nso the important things aren't buried, and a paste-ready summary comment.\n\n## Prerequisites\n\n- `gh` authenticated for `googleapis/mcp-toolbox`, plus the PR number(s). A GitHub MCP\n  server substitutes for `gh` if it isn't available: the `gh` commands below map to its\n  read/list tools.\n\n## Workflow\n\n### Step 1: Read the source of truth\n\nRead these live, not from memory. All three are symlinks to the repo-root\nfiles, so they track `main`; cite them by their root names.\n\n- [references/maintainer-playbook.md](references/maintainer-playbook.md): Reviewer's Checklist,\n  SLO/release context, `release candidate` labeling.\n- [references/CONTRIBUTING.md](references/CONTRIBUTING.md): title/scope format (Conventional\n  Commits, with the `type` table), keep-PRs-small, link-an-issue. Cite for title, description,\n  and process findings.\n- [references/DEVELOPER.md](references/DEVELOPER.md): tool/source naming, error taxonomy, the\n  patterns for adding a source/tool/integration test, CI-enforced docs structure, local\n  test/lint commands. Cite for code, test, and docs findings. Prefer it over `GEMINI.md`\n  (`CLAUDE.md`/`AGENTS.md` symlink to it), which only summarizes.\n\n### Step 2: Fetch the PR, its diff, and its checks\n\n```bash\ngh pr view <n> --repo googleapis/mcp-toolbox --json number,title,body,author,labels,files,additions,deletions,commits,baseRefName,headRefName,state,isDraft,reviewDecision\ngh pr diff <n> --repo googleapis/mcp-toolbox\ngh pr checks <n> --repo googleapis/mcp-toolbox\n```\n\n### Step 3: Triage before reviewing\n\nThree shapes end the review early or change its bar:\n\n- **Auto-generated (`renovate`, `release-please`):** the only question is whether checks are\n  green. If so, propose merge and stop.\n- **Draft (`isDraft`):** review lightly and say so; the author isn't asking for a final pass.\n- **Non-code / policy** (third-party badge, backlink, promotional README line, often a drive-by\n  contributor): acceptance is a maintainer policy call, not a code question. Say that plainly\n  instead of manufacturing code findings, and still check title convention and CI. Mark any URL\n  you haven't fetched `[UNVERIFIED]`.\n\n### Step 4: Read the whole diff, including what the title doesn't mention\n\nSkim for the shape, then dive into hunks. Three failure modes:\n\n- **A docs-shaped title never lowers the read bar.** PR #2473, \"docs: fix typo in getting started\n  guide\", added an npm `preinstall` hook that hijacked `git` via `GITHUB_PATH` to exfiltrate an\n  RSA-encrypted `GITHUB_TOKEN`. Read every file in any PR touching `.hugo/`, `package.json`\n  lifecycle scripts, `.github/workflows/`, or `.ci/`. A file the title and description don't\n  account for is itself blocking.\n- **Look for what's *missing*, not just what's wrong:** a refactor applied to 4 of 5 call sites,\n  a fix whose mirror bug still lives elsewhere, a behavior change with no test update, an error\n  swallowed silently.\n- **A hunk is not enough context to judge a hunk.** Read the enclosing function for anything\n  correctness-relevant, and grep call sites when a signature, config field, or parameter changes.\n  A finding that needs a look outside the diff is the one no other reviewer will make.\n\n### Step 5: Check the diff against the issue it claims to fix\n\nKeep this separate from Step 6: a PR can follow every convention and still implement the wrong\nthing. Read the linked issue (`gh issue view <n> --repo googleapis/mcp-toolbox --comments`), then\nask three questions:\n\n- **Missing:** What the issue asked for that the diff doesn't do. A partial fix that closes the\n  issue is worse than none, since the remainder becomes invisible.\n- **Extra:** Unrelated changes bundled in. Ask for a split (`CONTRIBUTING.md`, keep PRs small).\n- **Wrong:** Implemented, but not what the issue described. Quote the issue line beside the\n  `file:line`.\n\nWith no linked issue the PR description is the spec: same three questions, and note that the\nintent is self-declared.\n\n### Step 6: Work the review dimensions\n\nSkip a dimension when it doesn't apply: say so, don't invent a finding.\n\n- **Title & description.** Conventional Commits with the right `type(scope)` per\n  `CONTRIBUTING.md`, plus `!`/`BREAKING CHANGE` for breaking\n  changes. Body follows [`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/PULL_REQUEST_TEMPLATE.md): what, why, completed checklist,\n  `Fixes #<n>`. Note a missing issue link; don't block on it alone.\n- **Correctness.** Cite `file:line` and name the failure case, never\n  \"looks risky\".\n  - *Bugs CI won't catch:* Unhandled error returns, nil/empty input, off-by-one and boundary\n    conditions, concurrency, behavior contradicting stated intent.\n  - *Type conversion at the MCP boundary*: Drivers return native types\n    that don't serialize (MySQL `[]byte` for decimals, nulls as `nil`/`None`). Require explicit\n    handling that maps to the tool's JSON schema; reject implicit casts and missing type switches.\n  - *Error taxonomy* on any new or changed error path: `AgentError` for\n    input/execution errors the agent can fix itself (HTTP 200, `isError: true`) versus\n    `ClientServerError` for infrastructure failures it can't.\n- **Breaking changes.** Changed config field names/YAML shape, tool names, removed or renamed\n  exported symbols, altered defaults. Without `!` in the title and a justification in the body,\n  blocking.\n- **Refactor purity.** A `refactor:` PR must not change behavior. A bundled fix or default change\n  gets split into its own `fix:`/`feat:` PR so it's reviewable and revertable.\n- **Source reuse (new sources).**: No new `internal/sources/<db>/` for a database wire-compatible \n  with an existing source. Same for a tool duplicating an existing tool under a new name.\n- **Architecture (no boilerplate).** New tools embed `tools.BaseTool[Config]`, new sources follow\n  the registration pattern; reject re-declared interface methods (`GetName`, `Manifest`).\n  `DEVELOPER.md` lists what `BaseTool` provides.\n- **Tool and parameter descriptions.** Each `description:` is an LLM prompt, not developer\n  documentation: could an agent pick this tool and fill its parameters from that text alone, at a\n  token cost worth paying? Flag ones that restate the field name, omit units/format/allowed\n  values, or run long without adding information.\n  - *Evals measure exactly this.* For a PR editing `internal/prebuiltconfigs/tools/<config>.yaml`,\n    note that the next step is a maintainer applying the `evals: run` label, which scopes the run\n    to the configs that PR touched. Like integration tests, un-run evals aren't a blocker.\n- **Tests.** New logic or a bug fix needs tests; missing them is usually request-changes.\n  - *Coverage:* happy path, edge cases, and for a fix, a test that fails without it. A new\n    source/tool follows the unit + integration pattern and is wired into\n    `.ci/integration.cloudbuild.yaml`.\n  - *Placement,* reviewed as closely as coverage: source-specific helpers stay unexported in\n    `tests/<db>/<db>_integration_test.go`, never in the shared `tests/common.go`.\n  - *Flakiness:* tests run against a shared live instance, so ask for the four fixes by name:\n    - UUID-scoped resource names, so concurrent runs can't collide.\n    - `t.Cleanup` teardown, so resources are freed even when the test fails.\n    - Polling instead of `time.Sleep`.\n    - Subset assertions instead of exact-match, since another run can add rows.\n  - *Un-run integration tests aren't a blocker.* They need GCP credentials an external\n    contributor's PR can't trigger, so green CI doesn't mean they ran. Note that the next step is\n    a maintainer running them via the `tests: run` label or a `/gcbrun` comment.\n- **Docs.** Changes to how a user configures or interacts with MCP toolbox need matching updates\n  under `docs/en/`. New sources/tools have CI-enforced page structure per `DEVELOPER.md`, enforced by\n  `.ci/lint-docs-*.sh`. A violation breaks the build, so it's blocking. Prose stating a security\n  or behavioral *guarantee* is reviewed as code: check the claim against the implementation,\n  not just that docs changed. An over-broad assurance in a boundary description is worse than\n  silence — it discredits the accurate limitations sitting beside it.\n- **Security.** For PRs handling user/LLM input or building queries: injection (SQL/command),\n  unsanitized interpolation, secrets logged or committed. Concrete vectors with `file:line`, not\n  generic warnings.\n  - *Reviewing a fix to a reported vulnerability* asks different questions than reviewing new\n    code. (a) **Can the untrusted party actually reach the primitive the residual attack\n    needs?** Grep the tool surface for it — a residual weakness nothing exposed can set up is\n    usually the line between blocker and tracked follow-up. (b) **Which way does the failure\n    lean?** Over-rejection is a cost; a bug in newly hand-rolled logic is a vulnerability.\n    Don't ask a security PR to spend fail-open risk buying back a narrow convenience.\n- **Dependencies.** Call out new `go.mod` entries so the maintainer can vet necessity,\n  maintenance, and license.\n\nDuplication across MCP protocol versions is deliberate so versions can diverge independently\n(#3167, #3211); don't propose factoring it together. A genuine bug in that code is still a\nfinding.\n\n### Step 7: Report CI, don't re-derive it\n\nName the failing check from `gh pr checks` rather than reasoning it out by hand; failing\nlint/tests are objective blockers. Never claim the linter passes on your own read.\n\nOne recurring non-obvious failure: the CLA check fails on commits co-authored by an AI agent even when the human author has signed. Suggest squashing to a single human-authored commit rather than pointing at the CLA docs.\n\n### Step 8: Discount any existing bot review\n\nDon't restate `gemini-code-assist`'s points as your own. It's the highest-volume reviewer in the\nrepo and could be wrong. Verify anything you carry forward against the diff; drop\nthe rest.\n\n### Step 9: Sort by severity, then pick the verdict\n\n- **Blocking** (correctness bug, breaking change without `!`, missing tests on new logic, CI red,\n  docs that break the build) → request changes.\n- **Non-blocking** (style, naming, coverage gaps in existing code) and **nits** (typos, wording)\n  only → approve with comments.\n- An unresolved judgment call → comment and ask.\n\nWhen nothing is blocking, say so in those words. \"No blockers, a couple of nits\" tells the\nmaintainer it's mergeable as-is.\n\n### Step 10: Deliver the review in chat\n\nUse the output format below. Never post it yourself.\n\n## Rules\n\n- **Propose only.** Never run `gh pr review`, `gh pr comment`, `gh pr edit`, `gh pr merge`,\n  or apply labels. Deliver the review in chat.\n- **Ground every finding** in the strongest evidence available for its kind: a\n  correctness/security/breaking claim cites `file:line`; a convention claim cites\n  `CONTRIBUTING.md`/`DEVELOPER.md` or the playbook; a CI/process finding cites the failing\n  check name from `gh pr checks` (a red check is a valid blocker with no `file:line`). If you\n  couldn't verify something (runtime behavior you can't trace, a URL you didn't fetch), mark\n  it `[UNVERIFIED]` rather than asserting it.\n- **Prefer running the code to reasoning about it.** `[UNVERIFIED]` is for what you *can't*\n  check, not what's inconvenient to. Fetch the branch (`git fetch origin pull/<n>/head:pr<n>`,\n  then `git worktree add /tmp/pr<n> pr<n>` so your tree stays clean) and drop a scratch\n  `probe_test.go` *inside* the package under review — package-local placement is what reaches\n  unexported symbols. Delete it and `git worktree remove --force /tmp/pr<n>` after; never leave\n  a scratch test in `internal/`. Probes right-size verdicts as often as they confirm them: \"this\n  regresses X\" often shrinks to \"in one narrow case\" once measured.\n- **When it's a genuine judgment call, ask** rather than issuing a confident wrong verdict,\n  since a wrong \"request changes\" costs a contributor a cycle.\n\n## Output format\n\n```\n## Review #<n>: <title>\n\n**Suggested verdict:** <approve / request changes / comment>: <one-line reason>\n\n**Title & issue:** <conventional-commit check; linked issue or \"none, suggest linking\">\n**Spec (vs issue #<n>):** <implements it / what's missing, extra, or wrong; or \"no issue linked\">\n**CI:** <passing / which checks failing, per gh pr checks>\n\n**Blocking:**\n- `file:line`: <finding + the failure case> [cite]\n\n**Non-blocking:**\n- `file:line`: <finding> [cite]\n\n**Nits:**\n- <typo/wording>\n\n**Tests:** <added & adequate / what's missing>\n**Docs:** <updated / what's missing, or n/a>\n**Dependencies:** <new deps to vet, or none>\n**release candidate:** <suggest label / not needed>\n\n**Draft comment:**\n<paste-ready summary the maintainer can post>\n```\n\n- **Empty sections:** omit them rather than writing \"none\".\n- **Except the Spec line:** keep it even when the PR matches its issue. The maintainer wants\n  \"does what the issue asked\" stated, not inferred from silence.\n- **Batches:** review each PR in its own subagent so the diffs don't bleed together, since a\n  finding attributed to the wrong PR is worse than a missed one. Present one block per PR, plus a\n  summary table (PR, verdict, blocker count).\n","GEMINI.md":"# MCP Toolbox Context & Style Guide\n\nThis file (symlinked as `CLAUDE.md`, `AGENTS.md`, and `.gemini/styleguide.md`) provides context and guidelines for AI agents working on the MCP Toolbox for Databases project. It summarizes key information from `CONTRIBUTING.md` and `DEVELOPER.md`.\n\n## Project Overview\n\n**MCP Toolbox for Databases** is a Go-based project designed to provide Model Context Protocol (MCP) tools for various data sources and services. It allows Large Language Models (LLMs) to interact with databases and other tools safely and efficiently.\n\n\n## Tech Stack\n\n-   **Language:** Go (1.23+)\n-   **Documentation:** Hugo (Extended Edition v0.146.0+)\n-   **Containerization:** Docker\n-   **CI/CD:** GitHub Actions, Google Cloud Build\n-   **Linting:** `golangci-lint`\n\n## Key Directories\n\n-   `cmd/`: Application entry points.\n-   `internal/sources/`: Implementations of database sources (e.g., Postgres, BigQuery).\n-   `internal/tools/`: Implementations of specific tools for each source.\n-   `internal/prompts/`: Implementations of MCP prompts.\n-   `internal/resources/`: Implementations of MCP resources and resource templates (e.g., text, file).\n-   `internal/group/`: Implementations of groups scoping tools, prompts, resources, and resource templates.\n-   `tests/`: Integration tests.\n-   `evals/`: Evalsets and harness configs for evaluating the prebuilt tool configs with [EvalBench](https://github.com/googlecloudplatform/evalbench); run by `.ci/evals.cloudbuild.yaml`.\n-   `docs/en`: Project documentation. Separated logically into:\n    - `documentation/`: Documentation and concepts (Section I).\n    - `integrations/`: Reference architectures for DB connectivity and tools (Section II).\n    - `samples/`: Tutorials and code samples (Section III).\n    - `reference/`: CLI info and FAQs (Section IV).\n\n## Development Workflow\n\n### Prerequisites\n\n-   Go 1.23 or later.\n-   Docker (for building container images and running some tests).\n-   Access to necessary Google Cloud resources for integration testing (if applicable).\n\n### Building and Running\n\n1.  **Build Binary:** `go build -o toolbox`\n2.  **Run Server:** `go run .` (Listens on port 5000 by default)\n3.  **Run with Help:** `go run . --help`\n4.  **Test Endpoint:** `curl http://127.0.0.1:5000`\n\n### Testing\n\n-   **Unit Tests:** `go test -race -v ./cmd/... ./internal/...`\n-   **Integration Tests:**\n    -   Run specific source tests: `go test -race -v ./tests/<source_dir>`\n    -   Example: `go test -race -v ./tests/alloydbpg`\n    -   Add new sources to `.ci/integration.cloudbuild.yaml`\n-   **Linting:** `golangci-lint run --fix`\n\n\n## Developing Documentation\n\n### Prerequisites\n\n-   Hugo (Extended Edition v0.146.0+)\n-   Node.js (for `npm ci`)\n\n### Running Local Server\n\n1.  Navigate to `.hugo` directory: `cd .hugo`\n2.  Install dependencies: `npm ci`\n3.  **Generate Search Index:** Because Pagefind requires physical files, `hugo server` alone will not populate the search bar. Build the local index first (using the development environment to block analytics) by running:\n    `hugo --environment development && npx pagefind --site public --output-path static/pagefind`\n4.  Start server: `hugo server`\n\n### Versioning Workflows\n\nDocumentation builds automatically generate standard HTML alongside AI-friendly text files (`llms.txt` and `llms-full.txt`).\n\nThere are 6 workflows in total, handling parallel deployments to both GitHub Pages and Cloudflare Pages. **All deployment workflows automatically execute `npx pagefind --site public` to generate version-scoped search indexes.**\n\n1.  **Deploy In-development docs**: Commits merged to `main` deploy to the `/dev/` path. Automatically defaults to version `Dev`.\n2.  **Deploy Versioned Docs**: New GitHub releases deploy to `/<version>/` and the root path. The release tag is automatically injected into the build as the documentation version. *(Note: Developers must manually add the new version to the `[[params.versions]]` dropdown array in `hugo.toml` prior to merging a release PR).*\n3.  **Deploy Previous Version Docs**: A manual workflow to rebuild older versions by explicitly passing the target tag via the GitHub Actions UI.\n\n## Coding Conventions\n\n### Tool Naming\n\n-   **Tool Name:** `snake_case` (e.g., `list_collections`, `run_query`).\n    -   Do *not* include the product name (e.g., avoid `firestore_list_collections`).\n-   **Tool Type:** `kebab-case` (e.g., `firestore-list-collections`).\n    -   *Must* include the product name.\n\n### Branching and Commits\n\n-   **Branch Naming:** `feat/`, `fix/`, `docs/`, `chore/` (e.g., `feat/add-gemini-md`).\n-   **Commit Messages:** [Conventional Commits](https://www.conventionalcommits.org/) format.\n    -   Format: `<type>(<scope>): <description>`\n    -   Example: `feat(source/postgres): add new connection option`\n    -   Types: `feat`, `fix`, `docs`, `chore`, `test`, `ci`, `refactor`, `revert`, `style`.\n\n ### PR Title Format\n\nFormat: `<type>[optional scope]: <description>`\n\n- **Example:** `feat(source/postgres): add support for \"new-field\" field`\n- **Example (Breaking Change):** `fix(tool/sql)!: change default parameter value`\n\n#### Types\n\n| Type | Description | Version change affected |\n| :--- | :--- | :--- |\n| **BREAKING CHANGE** | Anything with this type or a `!` after the type/scope introduces a breaking API change. E.g. `fix!: description` or `feat!: description`. | major |\n| **feat** | Adding a new feature to the codebase. | minor |\n| **fix** | Fixing a bug or typo in the codebase. | patch |\n| **ci** | Changes made to the continuous integration configuration files or scripts (usually the yml and other configuration files). | n/a |\n| **docs** | Documentations-related PRs, including fixes on docs. | n/a |\n| **chore** | Other small tasks or updates that don't fall into any of the types above. | n/a |\n| **perf** | changed src code, with improvement of performance metrics. | n/a |\n| **refactor** | Change src code but unlike feat, there are no tests broken and no lines lost coverage. | n/a |\n| **revert** | Revert changes made in another commit. | n/a |\n| **style** | updated src code, with only formatting and whitespace updates. In other words, this includes anything a code formatter or linter changes. | n/a |\n| **test** | Changes made to test files. | n/a |\n| **build** | Changes related to build of the projects and dependency. | n/a |\n\n#### Scopes\n\nPRs addressing a specific source or tool should **always** add the source or tool name as scope.\n\nThe scope is formatted as `<type>/<kind>`. Common scopes include:\n- `source/postgres`, `source/cloudsql-mysql`\n- `tool/mssql-sql`, `tool/list-tables`\n- `auth/google`\n\n**Multiple Scopes:**\n- If the PR covers multiple scopes of the same kind, separate them with a comma: `feat(source/postgres,source/alloydbpg): ...`.\n- If the PR covers multiple scope types (e.g., adding a new database source and tool), disregard the scope type prefix: `feat(new-db): adding support for new-db source and tool`.\n\n#### PR Description\n\nEvery PR must include a description that follows the repository's template:\n\n**1. Description**\nA concise description of the changes (bug or feature), its impact, and a summary of the solution.\n\n**2. PR Checklist**\n- [ ] Make sure to open an issue as a bug/issue before writing your code!\n- [ ] Ensure you have manually reviewed the entire diff before requesting a review\n- [ ] Ensure the tests and linter pass\n- [ ] Code coverage does not decrease (if any source code was changed)\n- [ ] Appropriate docs were updated (if necessary)\n- [ ] Make sure to add `!` if this involves a breaking change\n\n**3. Issue Reference**\nUse the format: `Fixes #<issue_number> 🦕`\n\n## Security\n\nBefore proposing or making a change, check it for the vulnerability classes most relevant to this codebase:\n\n-   **SQL/query injection:** Never build a query by concatenating or `fmt.Sprintf`-ing a user-supplied tool parameter into a query string. Bind parameters using the source's parameterized-query API instead.\n-   **Credentials and secrets:** Never log, hardcode, or echo back a credential, API key, connection string, or token. Read secrets from config/environment, not from tool parameters.\n-   **Path/command injection:** Treat any user-supplied string used to build a file path or a shell/subprocess argument as untrusted; validate or reject it rather than passing it through unchecked.\n-   **Auth bypass:** The server enforces each tool's `authRequired`/`scopesRequired` (read via `GetAuthRequired`/`GetScopesRequired`) for every invocation. Do not override these getters or add a code path that skips the checks.\n\nIf a change touches a `source` or `tool` implementation, call out the relevant point(s) above explicitly in the PR description rather than leaving them implicit.\n\n## Adding New Features\n\n### Adding a New Data Source\n\n1.  Create a new directory: `internal/sources/<newdb>`.\n2.  Define `Config` and `Source` structs in `internal/sources/<newdb>/<newdb>.go`.\n3.  Implement `SourceConfig` interface (`SourceConfigType`, `Initialize`).\n4.  Implement `Source` interface (`SourceType`, `ToConfig`).\n5.  Implement `init()` to register the source.\n6.  Add unit tests in `internal/sources/<newdb>/<newdb>_test.go`.\n7.  **Google Cloud Databases:** For every Google Cloud database, ensure a corresponding `product: <database>` label is added to `.github/labels.yaml`, routing is configured in `.github/blunderbuss.yml` (under both `assign_issues_by` and `assign_prs_by`), and the GitHub team is team-synced from an MDB group with write access to the repo.\n\n### Adding a New Tool\n\n1.  Create a new directory: `internal/tools/<newdb>/<toolname>`.\n2.  Define a `Config` struct that **embeds `tools.ConfigBase`** (with `yaml:\",inline\"`). This supplies the shared `name`, `description`, `authRequired`, `scopesRequired`, and `annotations` fields and the applicable getters — add only tool-specific fields and do not redeclare the shared ones.\n3.  Define a `Tool` struct that **embeds `tools.BaseTool[Config]`**. Do *not* re-declare the boilerplate `Tool` methods (`GetName`, `GetDescription`, `Manifest`, `GetParameters`, `RequiresClientAuthorization`, `GetAuthTokenHeaderName`, `EmbedParams`, etc.) — they are inherited from `BaseTool`.\n4.  Implement `ToolConfig` interface (`ToolConfigType`, `Initialize`). In `Initialize`, construct the tool via `tools.NewBaseTool(cfg, annotations, manifest, staticParameters)`.\n5.  Implement only the methods `BaseTool` does not provide: `Invoke` and `ToConfig`. Override an inherited method (e.g. `EmbedParams`, `RequiresClientAuthorization`, `GetAuthTokenHeaderName`) **only** when the tool's behavior differs from the default.\n6.  Implement `init()` to register the tool.\n7.  Add unit tests.\n\nRefer to `internal/tools/postgres/postgressql/postgressql.go` for the canonical pattern.\n\n### Adding Documentation\n\n-   **For a new source:** Add source documentation to `docs/en/integrations/<source_name>/source.md`. Ensure the root `_index.md` file contains **strictly only frontmatter** and no markdown body text.\n-   **For a new native tool:** Add tool documentation to `docs/en/integrations/<source_name>/tools/<tool_name>.md`. Ensure the `tools/_index.md` file contains **strictly only frontmatter**.\n-   **For a new resource:** Add resource documentation to `docs/en/documentation/configuration/resources/<resource_type>.md`.\n-   **Adding Integration Samples:** Add integration-specific samples to `docs/en/integrations/<source_name>/samples/`. Ensure the `samples/_index.md` file contains **strictly only frontmatter**.\n-   **Tool Inheritance (Shared Tools):** Managed databases (e.g., Cloud SQL Postgres) that use the tools of their underlying engine (e.g., Postgres) map their inherited tools by utilizing the `shared_tools` frontmatter parameter inside their `tools/_index.md` file. This file must contain only frontmatter.\n-   **New Top-Level Directories:** If adding a completely new top-level section to the documentation site, you must update the \"Diátaxis Narrative Framework\" section inside both `.hugo/layouts/index.llms.txt` and `.hugo/layouts/index.llms-full.txt` to keep the AI context synced with the site structure.\n\n\n#### Integration Documentation Rules\n\nWhen generating or editing documentation for this repository, you must strictly adhere to the following CI-enforced rules. Failure to do so will break the build.\n\n##### Source Page Constraints (`integrations/**/source.md`)\n\n1.  **File Naming:** The primary connection guide for a source must be named `source.md`. Use `_index.md` solely as an empty structural folder wrapper containing **only YAML frontmatter**.\n2.  **LinkTitle:** The linkTitle has to be set to the string `Source` always.\n3.  **Title Convention:** The YAML frontmatter `title` must always end with \"Source\" (e.g., `title: \"Postgres Source\"`).\n4.  **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.\n5.  **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.\n    *   `## About` (Required)\n    *   `## Available Tools` (Optional)\n    *   `## Requirements` (Optional)\n    *   `## Example` (Required)\n    *   `## Reference` (Required)\n    *   `## Advanced Usage` (Optional)\n    *   `## Troubleshooting` (Optional)\n    *   `## Additional Resources` (Optional)\n6.  **Shortcode Placement:** If you generate the `## Available Tools` section, you must include the `{{< list-tools >}}` shortcode beneath it.\n\n##### Tool Page Constraints (`integrations/**/tools/*.md`)\n\n1.  **Location:** All native tools must reside inside a nested `tools/` subdirectory. The `tools/` directory must contain an `_index.md` file consisting **strictly of frontmatter**.\n2.  **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.\n3.  **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.\n    *   `## About` (Required)\n    *   `## Compatible Sources` (Optional)\n    *   `## Requirements` (Optional)\n    *   `## Parameters` (Optional)\n    *   `## Example` (Required)\n    *   `## Output Format` (Optional)\n    *   `## Reference` (Optional)\n    *   `## Advanced Usage` (Optional)\n    *   `## Troubleshooting` (Optional)\n    *   `## Additional Resources` (Optional)\n4.  **Shortcode Placement:** If you generate the `## Compatible Sources` section, you must include the `{{< compatible-sources >}}` shortcode beneath it.\n5.  **Title Convention:** The YAML frontmatter `title` must always be exactly the kebab-case name of the tool (e.g., `title: \"arcadedb-execute-sql\"`). Do **NOT** append the word \"Tool\" to the title (unlike source pages, which end with \"Source\").\n\n##### Samples Architecture Constraints\nSample code is aggregated visually in the UI via the Samples section, but the physical markdown files are distributed logically based on their scope.\n1.  **Quickstarts:** `docs/en/documentation/getting-started/`\n2.  **Integration-Specific Samples:** `docs/en/integrations/<source_name>/samples/`. (The `samples/_index.md` wrapper must contain **strictly only frontmatter**).\n3.  **General/Cross-Category Samples:** `docs/en/samples/`\n\n##### Samples Maintenance Rules\n\n1. **Filtering (`sample_filters`):** Always include `sample_filters` in the frontmatter. You MUST use strict enums for filtering.\n   * **Source of Truth:** Always refer to `.hugo/data/filters.yaml` for the permitted list of Data Sources, Languages, Frameworks, and Categories.\n   * **Adding New Filters:** If your sample requires the addition of a new filter, add it to `.hugo/data/filters.yaml` using **Title Case** (capitalize the first letter of every word, with words separated by spaces). Do not use snake_case or lowercase.\n2. **Metadata:** Ensure `is_sample: true` is present to prevent the sample from being excluded from the Samples Gallery.\n\n##### Prebuilt Config Constraints (`integrations/**/prebuilt-configs/*.md`)\n\n1. **Naming & Path:** All prebuilt config docs must reside in `prebuilt-configs/`.\n2. **Shortcode Requirement:** The main `documentation/configuration/prebuilt-configs/_index.md` page uses the `{{< list-prebuilt-configs >}}` shortcode, which only detects directories named exactly `prebuilt-configs`.\n3. **YAML Mapping:** Always verify the `kind` of the data source in `internal/prebuiltconfigs/tools/` before choosing the integration folder.\n\n\n##### Asset Constraints (`docs/`)\n\n1.  **File Size Limits:** Never add files larger than 24MB to the `docs/` directory.\n","internal/prebuiltconfigs/tools/alloydb-postgres-admin.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-admin-source\ntype: alloydb-admin\ndefaultProject: ${ALLOYDB_POSTGRES_PROJECT:}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: tool\nname: create_cluster\ntype: alloydb-create-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: wait_for_operation\ntype: alloydb-wait-for-operation\nsource: alloydb-admin-source\ndelay: 1s\nmaxDelay: 4m\nmultiplier: 2\nmaxRetries: 10\n---\nkind: tool\nname: create_instance\ntype: alloydb-create-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_clusters\ntype: alloydb-list-clusters\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_instances\ntype: alloydb-list-instances\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_users\ntype: alloydb-list-users\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_user\ntype: alloydb-create-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_cluster\ntype: alloydb-get-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_instance\ntype: alloydb-get-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_user\ntype: alloydb-get-user\nsource: alloydb-admin-source\n---\nkind: toolset\nname: alloydb_postgres_admin_tools\ntools:\n- create_cluster\n- wait_for_operation\n- create_instance\n- list_clusters\n- list_instances\n- list_users\n- create_user\n- get_cluster\n- get_instance\n- get_user\n","internal/prebuiltconfigs/tools/alloydb-omni.yaml":"# Copyright 2026 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-omni-source\ntype: postgres\nhost: ${ALLOYDB_OMNI_HOST:localhost}\nport: ${ALLOYDB_OMNI_PORT:5432}\ndatabase: ${ALLOYDB_OMNI_DATABASE}\nuser: ${ALLOYDB_OMNI_USER}\npassword: ${ALLOYDB_OMNI_PASSWORD}\nqueryParams: ${ALLOYDB_OMNI_QUERY_PARAMS:}\n---\nkind: tool\nname: execute_sql\ntype: postgres-execute-sql\nsource: alloydb-omni-source\ndescription: Use this tool to execute a single SQL statement.\n---\nkind: tool\nname: list_tables\ntype: postgres-list-tables\nsource: alloydb-omni-source\ndescription: Lists detailed schema information (object type, columns, constraints, indexes, triggers, owner, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas.\n---\nkind: tool\nname: list_active_queries\ntype: postgres-list-active-queries\nsource: alloydb-omni-source\ndescription: List the top N (default 50) currently running queries (state='active') from pg_stat_activity, ordered by longest-running first. Returns pid, user, database, application_name, client_addr, state, wait_event_type/wait_event, backend/xact/query start times, computed query_duration, and the SQL text.\n---\nkind: tool\nname: list_available_extensions\ntype: postgres-list-available-extensions\nsource: alloydb-omni-source\ndescription: Discover all PostgreSQL extensions available for installation on this server, returning name, default_version, and description.\n---\nkind: tool\nname: list_installed_extensions\ntype: postgres-list-installed-extensions\nsource: alloydb-omni-source\ndescription: List all installed PostgreSQL extensions with their name, version, schema, owner, and description.\n---\nkind: tool\nname: long_running_transactions\ntype: postgres-long-running-transactions\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_locks\ntype: postgres-list-locks\nsource: alloydb-omni-source\n---\nkind: tool\nname: replication_stats\ntype: postgres-replication-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_autovacuum_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  category = 'Autovacuum';\n---\nkind: tool\nname: list_columnar_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List AlloyDB Omni columnar-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  name like 'google_columnar_engine.%';\n---\nkind: tool\nname: list_columnar_recommended_columns\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Lists columns that AlloyDB Omni recommends adding to the columnar engine to improve query performance.\nstatement: select * from g_columnar_recommended_columns;\n---\nkind: tool\nname: list_memory_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List PostgreSQL memory-related configurations (name and current setting) from pg_settings.\nstatement: |\n  (\n      SELECT\n      name,\n      pg_size_pretty((setting::bigint * 1024)::bigint) setting\n      FROM pg_settings\n      WHERE name IN ('work_mem', 'maintenance_work_mem')\n  )\n  UNION ALL\n  (\n      SELECT\n      name,\n      pg_size_pretty((((setting::bigint) * 8) * 1024)::bigint)\n      FROM pg_settings\n      WHERE name IN ('shared_buffers', 'wal_buffers', 'effective_cache_size', 'temp_buffers')\n  )\n  ORDER BY 1 DESC;\n---\nkind: tool\nname: list_top_bloated_tables\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: |\n  List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.\nstatement: |\n  SELECT\n      schemaname AS schema_name,\n      relname AS relation_name,\n      n_live_tup AS live_tuples,\n      n_dead_tup AS dead_tuples,\n      TRUNC((n_dead_tup::NUMERIC / NULLIF(n_live_tup + n_dead_tup, 0)) * 100, 2) AS dead_tuple_percentage,\n      last_vacuum,\n      last_autovacuum,\n      last_analyze,\n      last_autoanalyze\n  FROM pg_stat_user_tables\n  ORDER BY n_dead_tup DESC\n  LIMIT COALESCE($1::int, 50);\nparameters:\n- name: limit\n  description: The maximum number of results to return.\n  type: integer\n  default: 50\n---\nkind: tool\nname: list_replication_slots\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List key details for all PostgreSQL replication slots (e.g., type, database, active status) and calculates the size of the outstanding WAL that is being prevented from removal by the slot.\nstatement: |\n  SELECT\n  slot_name,\n  slot_type,\n  plugin,\n  database,\n  temporary,\n  active,\n  restart_lsn,\n  confirmed_flush_lsn,\n  xmin,\n  catalog_xmin,\n  pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal\n  FROM pg_replication_slots;\n---\nkind: tool\nname: list_invalid_indexes\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Lists all invalid PostgreSQL indexes which are taking up disk space but are unusable by the query planner. Typically created by failed CREATE INDEX CONCURRENTLY operations.\nstatement: |\n  SELECT\n      nspname AS schema_name,\n      indexrelid::regclass AS index_name,\n      indrelid::regclass AS table_name,\n      pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size,\n      indisready,\n      indisvalid,\n      pg_get_indexdef(pg_class.oid) AS index_def\n  FROM pg_index\n  JOIN pg_class ON pg_class.oid = pg_index.indexrelid\n  JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace\n  WHERE indisvalid = FALSE;\n---\nkind: tool\nname: get_query_plan\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Generate a PostgreSQL EXPLAIN plan in JSON format for a single SQL statement—without executing it. This returns the optimizer's estimated plan, costs, and rows (no ANALYZE, no extra options).\nstatement: |\n  EXPLAIN (FORMAT JSON) {{.query}};\ntemplateParameters:\n- name: query\n  type: string\n  description: The SQL statement for which you want to generate plan (omit the EXPLAIN keyword).\n  required: true\n---\nkind: tool\nname: list_views\ntype: postgres-list-views\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_schemas\ntype: postgres-list-schemas\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_indexes\ntype: postgres-list-indexes\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_sequences\ntype: postgres-list-sequences\nsource: alloydb-omni-source\n---\nkind: tool\nname: database_overview\ntype: postgres-database-overview\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_triggers\ntype: postgres-list-triggers\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_query_stats\ntype: postgres-list-query-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: get_column_cardinality\ntype: postgres-get-column-cardinality\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_table_stats\ntype: postgres-list-table-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_publication_tables\ntype: postgres-list-publication-tables\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_tablespaces\ntype: postgres-list-tablespaces\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_pg_settings\ntype: postgres-list-pg-settings\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_database_stats\ntype: postgres-list-database-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_roles\ntype: postgres-list-roles\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_stored_procedure\ntype: postgres-list-stored-procedure\nsource: alloydb-omni-source\n---\nkind: group\nname: data\ndescription: Use these skills when you need to explore the database structure, identify schema objects like views and triggers, and execute SQL queries to interact with your data.\ntools:\n- execute_sql\n- list_tables\n- list_views\n- list_schemas\n- list_triggers\n- list_indexes\n- list_sequences\n- list_stored_procedure\n---\nkind: group\nname: performance\ndescription: Use these skills when you need to analyze query performance, generate execution plans, check table/column statistics, and monitor overall database activity.\ntools:\n- execute_sql\n- get_query_plan\n- list_query_stats\n- get_column_cardinality\n- list_table_stats\n- list_database_stats\n- list_active_queries\n---\nkind: group\nname: monitor\ndescription: Use these skills when you need to troubleshoot production issues by identifying locks, tracking long-running transactions, and getting a high-level view of server state.\ntools:\n- database_overview\n- list_active_queries\n- long_running_transactions\n- list_locks\n- list_database_stats\n- list_pg_settings\n---\nkind: group\nname: optimize\ndescription: Use these skills when you need to fine-tune the database engine settings, manage extensions, or optimize the columnar engine for better analytical performance.\ntools:\n- list_pg_settings\n- list_memory_configurations\n- list_available_extensions\n- list_installed_extensions\n- list_autovacuum_configurations\n- list_columnar_configurations\n- list_columnar_recommended_columns\n---\nkind: group\nname: health\ndescription: Use these skills when you need to audit database health, identify storage bloat, find broken indexes, and verify tablespace or maintenance configurations.\ntools:\n- list_top_bloated_tables\n- list_invalid_indexes\n- list_table_stats\n- list_tablespaces\n- database_overview\n- list_autovacuum_configurations\n---\nkind: group\nname: replication\ndescription: Use these skills when you need to monitor the health of database replication, manage sync states between nodes, and audit publication tables for distributed setups.\ntools:\n- replication_stats\n- list_replication_slots\n- list_publication_tables\n- database_overview\n---\nkind: group\nname: access-control\ndescription: Use these skills when you need to manage user roles, inspect permissions, and verify security-related configuration parameters.\ntools:\n- list_roles\n- list_pg_settings\n- database_overview\n","internal/prebuiltconfigs/tools/alloydb-postgres.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-pg-source\ntype: alloydb-postgres\nproject: ${ALLOYDB_POSTGRES_PROJECT}\nregion: ${ALLOYDB_POSTGRES_REGION}\ncluster: ${ALLOYDB_POSTGRES_CLUSTER}\ninstance: ${ALLOYDB_POSTGRES_INSTANCE}\ndatabase: ${ALLOYDB_POSTGRES_DATABASE}\nuser: ${ALLOYDB_POSTGRES_USER:}\npassword: ${ALLOYDB_POSTGRES_PASSWORD:}\nipType: ${ALLOYDB_POSTGRES_IP_TYPE:public}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: source\nname: cloud-monitoring-source\ntype: cloud-monitoring\n---\nkind: source\nname: alloydb-admin-source\ntype: alloydb-admin\ndefaultProject: ${ALLOYDB_POSTGRES_PROJECT:}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: tool\nname: execute_sql\ntype: postgres-execute-sql\nsource: alloydb-pg-source\ndescription: Use this tool to execute a single SQL statement.\n---\nkind: tool\nname: list_tables\ntype: postgres-list-tables\nsource: alloydb-pg-source\ndescription: Lists detailed schema information (object type, columns, constraints, indexes, triggers, owner, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas.\n---\nkind: tool\nname: list_active_queries\ntype: postgres-list-active-queries\nsource: alloydb-pg-source\ndescription: List the top N (default 50) currently running queries (state='active') from pg_stat_activity, ordered by longest-running first. Returns pid, user, database, application_name, client_addr, state, wait_event_type/wait_event, backend/xact/query start times, computed query_duration, and the SQL text.\n---\nkind: tool\nname: list_available_extensions\ntype: postgres-list-available-extensions\nsource: alloydb-pg-source\ndescription: Discover all PostgreSQL extensions available for installation on this server, returning name, default_version, and description.\n---\nkind: tool\nname: list_installed_extensions\ntype: postgres-list-installed-extensions\nsource: alloydb-pg-source\ndescription: List all installed PostgreSQL extensions with their name, version, schema, owner, and description.\n---\nkind: tool\nname: long_running_transactions\ntype: postgres-long-running-transactions\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_locks\ntype: postgres-list-locks\nsource: alloydb-pg-source\n---\nkind: tool\nname: replication_stats\ntype: postgres-replication-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_autovacuum_configurations\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  category = 'Autovacuum';\n---\nkind: tool\nname: list_memory_configurations\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List PostgreSQL memory-related configurations (name and current setting) from pg_settings.\nstatement: |\n  (\n      SELECT\n      name,\n      pg_size_pretty((setting::bigint * 1024)::bigint) setting\n      FROM pg_settings\n      WHERE name IN ('work_mem', 'maintenance_work_mem')\n  )\n  UNION ALL\n  (\n      SELECT\n      name,\n      pg_size_pretty((((setting::bigint) * 8) * 1024)::bigint)\n      FROM pg_settings\n      WHERE name IN ('shared_buffers', 'wal_buffers', 'effective_cache_size', 'temp_buffers')\n  )\n  ORDER BY 1 DESC;\n---\nkind: tool\nname: list_top_bloated_tables\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: |\n  List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.\nstatement: |\n  SELECT\n      schemaname AS schema_name,\n      relname AS relation_name,\n      n_live_tup AS live_tuples,\n      n_dead_tup AS dead_tuples,\n      TRUNC((n_dead_tup::NUMERIC / NULLIF(n_live_tup + n_dead_tup, 0)) * 100, 2) AS dead_tuple_percentage,\n      last_vacuum,\n      last_autovacuum,\n      last_analyze,\n      last_autoanalyze\n  FROM pg_stat_user_tables\n  ORDER BY n_dead_tup DESC\n  LIMIT COALESCE($1::int, 50);\nparameters:\n- name: limit\n  description: The maximum number of results to return.\n  type: integer\n  default: 50\n---\nkind: tool\nname: list_replication_slots\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List key details for all PostgreSQL replication slots (e.g., type, database, active status) and calculates the size of the outstanding WAL that is being prevented from removal by the slot.\nstatement: |\n  SELECT\n  slot_name,\n  slot_type,\n  plugin,\n  database,\n  temporary,\n  active,\n  restart_lsn,\n  confirmed_flush_lsn,\n  xmin,\n  catalog_xmin,\n  pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal\n  FROM pg_replication_slots;\n---\nkind: tool\nname: list_invalid_indexes\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: Lists all invalid PostgreSQL indexes which are taking up disk space but are unusable by the query planner. Typically created by failed CREATE INDEX CONCURRENTLY operations.\nstatement: |\n  SELECT\n      nspname AS schema_name,\n      indexrelid::regclass AS index_name,\n      indrelid::regclass AS table_name,\n      pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size,\n      indisready,\n      indisvalid,\n      pg_get_indexdef(pg_class.oid) AS index_def\n  FROM pg_index\n  JOIN pg_class ON pg_class.oid = pg_index.indexrelid\n  JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace\n  WHERE indisvalid = FALSE;\n---\nkind: tool\nname: get_query_plan\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: Generate a PostgreSQL EXPLAIN plan in JSON format for a single SQL statement—without executing it. This returns the optimizer's estimated plan, costs, and rows (no ANALYZE, no extra options). Use in production safely for plan inspection, regression checks, and query tuning workflows.\nstatement: |\n  EXPLAIN (FORMAT JSON) {{.query}};\ntemplateParameters:\n- name: query\n  type: string\n  description: The SQL statement for which you want to generate plan (omit the EXPLAIN keyword).\n  required: true\n---\nkind: tool\nname: list_views\ntype: postgres-list-views\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_schemas\ntype: postgres-list-schemas\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_indexes\ntype: postgres-list-indexes\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_sequences\ntype: postgres-list-sequences\nsource: alloydb-pg-source\n---\nkind: tool\nname: database_overview\ntype: postgres-database-overview\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_triggers\ntype: postgres-list-triggers\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_query_stats\ntype: postgres-list-query-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: get_column_cardinality\ntype: postgres-get-column-cardinality\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_table_stats\ntype: postgres-list-table-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_publication_tables\ntype: postgres-list-publication-tables\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_tablespaces\ntype: postgres-list-tablespaces\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_pg_settings\ntype: postgres-list-pg-settings\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_database_stats\ntype: postgres-list-database-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_roles\ntype: postgres-list-roles\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_stored_procedure\ntype: postgres-list-stored-procedure\nsource: alloydb-pg-source\n---\nkind: tool\nname: get_system_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches system level cloudmonitoring data (timeseries metrics) for an AlloyDB cluster, instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB system metrics using the provided metrics and rules. Get labels like `cluster_id` and `instance_id` from the user's intent.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels\n  1. `alloydb.googleapis.com/instance/cpu/average_utilization`: The percentage of CPU being used on an instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  2. `alloydb.googleapis.com/instance/cpu/maximum_utilization`: Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  3. `alloydb.googleapis.com/cluster/storage/usage`: The total AlloyDB storage in bytes across the entire cluster. `alloydb.googleapis.com/Cluster`. `cluster_id`.\n  4. `alloydb.googleapis.com/instance/postgres/replication/replicas`: The number of read replicas connected to the primary instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`, `replica_instance_id`.\n  5. `alloydb.googleapis.com/instance/postgres/replication/maximum_lag`: The maximum replication time lag calculated across all serving read replicas of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `replica_instance_id`.\n  6. `alloydb.googleapis.com/instance/memory/min_available_memory`: The minimum available memory across all currently serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  7. `alloydb.googleapis.com/instance/postgres/instances`: The number of nodes in the instance, along with their status, which can be either up or down. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `status`.\n  8. `alloydb.googleapis.com/database/postgresql/tuples`: Number of tuples (rows) by state per database in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `state`.\n  9. `alloydb.googleapis.com/database/postgresql/temp_bytes_written_for_top_databases`: The total amount of data(in bytes) written to temporary files by the queries per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  10. `alloydb.googleapis.com/database/postgresql/temp_files_written_for_top_databases`: The number of temporary files used for writing data per database while performing internal algorithms like join, sort etc for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  11. `alloydb.googleapis.com/database/postgresql/inserted_tuples_count_for_top_databases`: The total number of rows inserted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  12. `alloydb.googleapis.com/database/postgresql/updated_tuples_count_for_top_databases`: The total number of rows updated per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  13. `alloydb.googleapis.com/database/postgresql/deleted_tuples_count_for_top_databases`: The total  number of rows deleted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  14. `alloydb.googleapis.com/database/postgresql/backends_for_top_databases`: The current number of connections per database to the instance for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  15. `alloydb.googleapis.com/instance/postgresql/backends_by_state`: The current number of connections to the instance grouped by the state like idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, and fastpath_function_call. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`.\n  16. `alloydb.googleapis.com/instance/postgresql/backends_for_top_applications`: The current number of connections to the AlloyDB instance, grouped by applications for top 500 applications. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `application_name`.\n  17. `alloydb.googleapis.com/database/postgresql/new_connections_for_top_databases`: Total number of new connections added per database for top 500 databases to the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  18. `alloydb.googleapis.com/database/postgresql/deadlock_count_for_top_databases`: Total number of deadlocks detected in the instance per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  19. `alloydb.googleapis.com/database/postgresql/statements_executed_count`: Total count of statements executed in the instance per database per operation_type. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `operation_type`.\n  20. `alloydb.googleapis.com/instance/postgresql/returned_tuples_count`: Number of rows scanned while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  21. `alloydb.googleapis.com/instance/postgresql/fetched_tuples_count`: Number of rows fetched while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  22. `alloydb.googleapis.com/instance/postgresql/updated_tuples_count`: Number of rows updated while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  23. `alloydb.googleapis.com/instance/postgresql/inserted_tuples_count`: Number of rows inserted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  24. `alloydb.googleapis.com/instance/postgresql/deleted_tuples_count`: Number of rows deleted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  25. `alloydb.googleapis.com/instance/postgresql/written_tuples_count`: Number of rows written while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  26. `alloydb.googleapis.com/instance/postgresql/deadlock_count`: Number of deadlocks detected in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  27. `alloydb.googleapis.com/instance/postgresql/blks_read`: Number of blocks read by Postgres that were not in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  28. `alloydb.googleapis.com/instance/postgresql/blks_hit`: Number of times Postgres found the requested block in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  29. `alloydb.googleapis.com/instance/postgresql/temp_bytes_written_count`: The total amount of data(in bytes) written to temporary files by the queries while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  30. `alloydb.googleapis.com/instance/postgresql/temp_files_written_count`: The number of temporary files used for writing data in the instance while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  31. `alloydb.googleapis.com/instance/postgresql/new_connections_count`: The number new connections added to the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  32. `alloydb.googleapis.com/instance/postgresql/wait_count`: Total number of times processes waited for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  33. `alloydb.googleapis.com/instance/postgresql/wait_time`: Total elapsed wait time for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  34. `alloydb.googleapis.com/instance/postgres/transaction_count`: The number of committed and rolled back transactions across all serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n---\nkind: tool\nname: list_clusters\ntype: alloydb-list-clusters\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_cluster\ntype: alloydb-create-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_users\ntype: alloydb-list-users\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_user\ntype: alloydb-create-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_user\ntype: alloydb-get-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: wait_for_operation\ntype: alloydb-wait-for-operation\nsource: alloydb-admin-source\ndelay: 1s\nmaxDelay: 4m\nmultiplier: 2\nmaxRetries: 10\n---\nkind: tool\nname: get_query_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches query level cloudmonitoring data (timeseries metrics) for queries running in an AlloyDB instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB query metrics using the provided metrics and rules. Get labels like `cluster_id`, `instance_id`, and `query_hash` from the user's intent. If `query_hash` is provided, use the per-query metrics.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels. aggregate is the aggregated values for all query stats, Use aggregate metrics if query id is not provided. For perquery metrics do not fetch querystring unless specified by user specifically. Have the aggregation on query hash to avoid fetching the querystring. Do not use latency metrics for anything.\n  1. `alloydb.googleapis.com/database/postgresql/insights/aggregate/latencies`: Aggregated query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  2. `alloydb.googleapis.com/database/postgresql/insights/aggregate/execution_time`: Accumulated aggregated query execution time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  3. `alloydb.googleapis.com/database/postgresql/insights/aggregate/io_time`: Accumulated aggregated IO time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`.\n  4. `alloydb.googleapis.com/database/postgresql/insights/aggregate/lock_time`: Accumulated aggregated lock wait time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`.\n  5. `alloydb.googleapis.com/database/postgresql/insights/aggregate/row_count`: Aggregated number of retrieved or affected rows since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  6. `alloydb.googleapis.com/database/postgresql/insights/aggregate/shared_blk_access_count`: Aggregated shared blocks accessed by statement execution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`.\n  7. `alloydb.googleapis.com/database/postgresql/insights/perquery/latencies`: Per query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  8. `alloydb.googleapis.com/database/postgresql/insights/perquery/execution_time`: Accumulated execution times per user per database per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  9. `alloydb.googleapis.com/database/postgresql/insights/perquery/io_time`: Accumulated IO time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`, `querystring`, `query_hash`.\n  10. `alloydb.googleapis.com/database/postgresql/insights/perquery/lock_time`: Accumulated lock wait time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`, `querystring`, `query_hash`.\n  11. `alloydb.googleapis.com/database/postgresql/insights/perquery/row_count`: The number of retrieved or affected rows since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  12. `alloydb.googleapis.com/database/postgresql/insights/perquery/shared_blk_access_count`: Shared blocks accessed by statement execution per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`, `querystring`, `query_hash`.\n  13. `alloydb.googleapis.com/database/postgresql/insights/pertag/latencies`: Query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  14. `alloydb.googleapis.com/database/postgresql/insights/pertag/execution_time`: Accumulated execution times since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  15. `alloydb.googleapis.com/database/postgresql/insights/pertag/io_time`: Accumulated IO time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `io_type`, `tag_hash`.\n  16. `alloydb.googleapis.com/database/postgresql/insights/pertag/lock_time`: Accumulated lock wait time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `lock_type`, `tag_hash`.\n  17. `alloydb.googleapis.com/database/postgresql/insights/pertag/shared_blk_access_count`: Shared blocks accessed by statement execution per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `access_type`, `tag_hash`.\n  18. `alloydb.googleapis.com/database/postgresql/insights/pertag/row_count`: The number of retrieved or affected rows since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n---\nkind: tool\nname: get_instance\ntype: alloydb-get-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_cluster\ntype: alloydb-get-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_instance\ntype: alloydb-create-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_instances\ntype: alloydb-list-instances\nsource: alloydb-admin-source\n---\nkind: group\nname: admin\ndescription: Use these skills when you need to provision new AlloyDB clusters and instances, monitor their creation status, and retrieve high-level configuration or health data for the environment.\ntools:\n- create_cluster\n- get_cluster\n- list_clusters\n- create_instance\n- get_instance\n- list_instances\n- database_overview\n- wait_for_operation\n---\nkind: group\nname: access-management\ndescription: Use these skills when you need to manage database users, inspect permissions and roles, and verify global configuration parameters related to security and access control.\ntools:\n- create_user\n- list_users\n- get_user\n- list_roles\n- list_pg_settings\n- database_overview\n---\nkind: group\nname: data\ndescription: Use these skills when you need to explore the database schema, identify objects like views and triggers, and execute custom SQL queries to interact with your data.\ntools:\n- execute_sql\n- list_tables\n- list_views\n- list_schemas\n- list_triggers\n- list_indexes\n- list_sequences\n- list_stored_procedure\n---\nkind: group\nname: monitor\ndescription: Use these skills when you need to troubleshoot slow performance, analyze query execution plans, identify resource-heavy processes, and monitor system-level PromQL metrics.\ntools:\n- list_active_queries\n- list_query_stats\n- get_query_plan\n- get_query_metrics\n- get_system_metrics\n- long_running_transactions\n- list_locks\n- list_database_stats\n---\nkind: group\nname: health\ndescription: Use these skills when you need to optimize storage, identify index issues, analyze table statistics, or manage autovacuum and tablespace configurations to maintain peak database health.\ntools:\n- list_top_bloated_tables\n- list_invalid_indexes\n- list_table_stats\n- get_column_cardinality\n- list_autovacuum_configurations\n- list_tablespaces\n- database_overview\n- get_instance\n---\nkind: group\nname: optimize\ndescription: Use these skills when you need to discover and manage PostgreSQL extensions or fine-tune engine-level settings such as memory allocation and server configuration parameters.\ntools:\n- list_available_extensions\n- list_installed_extensions\n- list_memory_configurations\n- list_pg_settings\n- database_overview\n- get_cluster\n---\nkind: group\nname: replication\ndescription: Use these skills when you need to monitor replication health, manage sync states between nodes, and ensure the high availability and data distribution of your AlloyDB cluster.\ntools:\n- replication_stats\n- list_replication_slots\n- list_publication_tables\n- list_instances\n- get_instance\n- database_overview\n","internal/prebuiltconfigs/tools/alloydb-postgres-observability.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nkind: source\nname: cloud-monitoring-source\ntype: cloud-monitoring\n---\nkind: tool\nname: get_system_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches system level cloudmonitoring data (timeseries metrics) for an AlloyDB cluster, instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB system metrics using the provided metrics and rules. Get labels like `cluster_id` and `instance_id` from the user's intent.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels\n  1. `alloydb.googleapis.com/instance/cpu/average_utilization`: The percentage of CPU being used on an instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  2. `alloydb.googleapis.com/instance/cpu/maximum_utilization`: Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  3. `alloydb.googleapis.com/cluster/storage/usage`: The total AlloyDB storage in bytes across the entire cluster. `alloydb.googleapis.com/Cluster`. `cluster_id`.\n  4. `alloydb.googleapis.com/instance/postgres/replication/replicas`: The number of read replicas connected to the primary instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`, `replica_instance_id`.\n  5. `alloydb.googleapis.com/instance/postgres/replication/maximum_lag`: The maximum replication time lag calculated across all serving read replicas of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `replica_instance_id`.\n  6. `alloydb.googleapis.com/instance/memory/min_available_memory`: The minimum available memory across all currently serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  7. `alloydb.googleapis.com/instance/postgres/instances`: The number of nodes in the instance, along with their status, which can be either up or down. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `status`.\n  8. `alloydb.googleapis.com/database/postgresql/tuples`: Number of tuples (rows) by state per database in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `state`.\n  9. `alloydb.googleapis.com/database/postgresql/temp_bytes_written_for_top_databases`: The total amount of data(in bytes) written to temporary files by the queries per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  10. `alloydb.googleapis.com/database/postgresql/temp_files_written_for_top_databases`: The number of temporary files used for writing data per database while performing internal algorithms like join, sort etc for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  11. `alloydb.googleapis.com/database/postgresql/inserted_tuples_count_for_top_databases`: The total number of rows inserted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  12. `alloydb.googleapis.com/database/postgresql/updated_tuples_count_for_top_databases`: The total number of rows updated per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  13. `alloydb.googleapis.com/database/postgresql/deleted_tuples_count_for_top_databases`: The total  number of rows deleted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  14. `alloydb.googleapis.com/database/postgresql/backends_for_top_databases`: The current number of connections per database to the instance for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  15. `alloydb.googleapis.com/instance/postgresql/backends_by_state`: The current number of connections to the instance grouped by the state like idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, and fastpath_function_call. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`.\n  16. `alloydb.googleapis.com/instance/postgresql/backends_for_top_applications`: The current number of connections to the AlloyDB instance, grouped by applications for top 500 applications. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `application_name`.\n  17. `alloydb.googleapis.com/database/postgresql/new_connections_for_top_databases`: Total number of new connections added per database for top 500 databases to the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  18. `alloydb.googleapis.com/database/postgresql/deadlock_count_for_top_databases`: Total number of deadlocks detected in the instance per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  19. `alloydb.googleapis.com/database/postgresql/statements_executed_count`: Total count of statements executed in the instance per database per operation_type. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `operation_type`.\n  20. `alloydb.googleapis.com/instance/postgresql/returned_tuples_count`: Number of rows scanned while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  21. `alloydb.googleapis.com/instance/postgresql/fetched_tuples_count`: Number of rows fetched while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  22. `alloydb.googleapis.com/instance/postgresql/updated_tuples_count`: Number of rows updated while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  23. `alloydb.googleapis.com/instance/postgresql/inserted_tuples_count`: Number of rows inserted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  24. `alloydb.googleapis.com/instance/postgresql/deleted_tuples_count`: Number of rows deleted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  25. `alloydb.googleapis.com/instance/postgresql/written_tuples_count`: Number of rows written while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  26. `alloydb.googleapis.com/instance/postgresql/deadlock_count`: Number of deadlocks detected in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  27. `alloydb.googleapis.com/instance/postgresql/blks_read`: Number of blocks read by Postgres that were not in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  28. `alloydb.googleapis.com/instance/postgresql/blks_hit`: Number of times Postgres found the requested block in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  29. `alloydb.googleapis.com/instance/postgresql/temp_bytes_written_count`: The total amount of data(in bytes) written to temporary files by the queries while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  30. `alloydb.googleapis.com/instance/postgresql/temp_files_written_count`: The number of temporary files used for writing data in the instance while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  31. `alloydb.googleapis.com/instance/postgresql/new_connections_count`: The number new connections added to the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  32. `alloydb.googleapis.com/instance/postgresql/wait_count`: Total number of times processes waited for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  33. `alloydb.googleapis.com/instance/postgresql/wait_time`: Total elapsed wait time for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  34. `alloydb.googleapis.com/instance/postgres/transaction_count`: The number of committed and rolled back transactions across all serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n---\nkind: tool\nname: get_query_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches query level cloudmonitoring data (timeseries metrics) for queries running in an AlloyDB instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB query metrics using the provided metrics and rules. Get labels like `cluster_id`, `instance_id`, and `query_hash` from the user's intent. If `query_hash` is provided, use the per-query metrics.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels. aggregate is the aggregated values for all query stats, Use aggregate metrics if query id is not provided. For perquery metrics do not fetch querystring unless specified by user specifically. Have the aggregation on query hash to avoid fetching the querystring. Do not use latency metrics for anything.\n  1. `alloydb.googleapis.com/database/postgresql/insights/aggregate/latencies`: Aggregated query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  2. `alloydb.googleapis.com/database/postgresql/insights/aggregate/execution_time`: Accumulated aggregated query execution time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  3. `alloydb.googleapis.com/database/postgresql/insights/aggregate/io_time`: Accumulated aggregated IO time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`.\n  4. `alloydb.googleapis.com/database/postgresql/insights/aggregate/lock_time`: Accumulated aggregated lock wait time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`.\n  5. `alloydb.googleapis.com/database/postgresql/insights/aggregate/row_count`: Aggregated number of retrieved or affected rows since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  6. `alloydb.googleapis.com/database/postgresql/insights/aggregate/shared_blk_access_count`: Aggregated shared blocks accessed by statement execution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`.\n  7. `alloydb.googleapis.com/database/postgresql/insights/perquery/latencies`: Per query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  8. `alloydb.googleapis.com/database/postgresql/insights/perquery/execution_time`: Accumulated execution times per user per database per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  9. `alloydb.googleapis.com/database/postgresql/insights/perquery/io_time`: Accumulated IO time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`, `querystring`, `query_hash`.\n  10. `alloydb.googleapis.com/database/postgresql/insights/perquery/lock_time`: Accumulated lock wait time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`, `querystring`, `query_hash`.\n  11. `alloydb.googleapis.com/database/postgresql/insights/perquery/row_count`: The number of retrieved or affected rows since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  12. `alloydb.googleapis.com/database/postgresql/insights/perquery/shared_blk_access_count`: Shared blocks accessed by statement execution per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`, `querystring`, `query_hash`.\n  13. `alloydb.googleapis.com/database/postgresql/insights/pertag/latencies`: Query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  14. `alloydb.googleapis.com/database/postgresql/insights/pertag/execution_time`: Accumulated execution times since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  15. `alloydb.googleapis.com/database/postgresql/insights/pertag/io_time`: Accumulated IO time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `io_type`, `tag_hash`.\n  16. `alloydb.googleapis.com/database/postgresql/insights/pertag/lock_time`: Accumulated lock wait time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `lock_type`, `tag_hash`.\n  17. `alloydb.googleapis.com/database/postgresql/insights/pertag/shared_blk_access_count`: Shared blocks accessed by statement execution per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `access_type`, `tag_hash`.\n  18. `alloydb.googleapis.com/database/postgresql/insights/pertag/row_count`: The number of retrieved or affected rows since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n---\nkind: toolset\nname: alloydb_postgres_cloud_monitoring_tools\ntools:\n- get_system_metrics\n- get_query_metrics\n---\nkind: source\nname: database-insights-source\ntype: databaseinsights\n---\nkind: tool\nname: get_advanced_aggregated_query_stats\ntype: databaseinsights-get-advanced-aggregated-query-stats\nsource: database-insights-source\ndescription: |\n  Fetches aggregated query execution statistics for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, as well as pagination. Returns statistics including query ID, database name, total execution time (sum(execution_time)), average execution time (avg(execution_time)), total execution count (sum(count)), total wait time (sum(wait_time)), and normalized query text. Requires advanced query insights to be enabled.\n  **IMPORTANT:**\n    Use these parameters to narrow down the results as requested by the user.\n    - If the user asks for a specific number of results (e.g., \"Top 10\", \"First 5\", \"List 50\"), map that number directly to page_size.\n    - If they ask for a specific user or database, use the corresponding arguments.\n    - When fetching results for a time range (e.g., \"last 24 hours\"), you MUST calculate and provide EXPLICIT 'start_time' AND 'end_time' in RFC3339 format. This pins the data window so that 'page_token' remains valid for subsequent requests. If 'page_token' is present, 'start_time' and 'end_time' MUST match the initial request.\n  Use Cases:\n    - Identify top queries: \"I want execution details about top queries executed on database <database_name> on instance <instance_id> in the last 6 hours.\"\n    - Monitor specific user activity: \"What were the top queries run by user <user_name> in the last hour?\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching stats in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching stats in RFC3339 format (Defaults to 'now').\n    - 'database': Filter results to a specific database name.\n    - 'username': Filter results to a specific database user.\n    - 'query_id': Fetch aggregated statistics for a single, specific query hash.\n    - 'page_size': Maximum number of query stats to return (Default: 20).\n    - 'page_token': Token for fetching the next set of results.\n  Response:\n    Returns a ranked list of queries with metrics: sum(execution_time), sum(count), avg(execution_time), sum(wait_time), and normalized_query_text.\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution and Wait times**: Metrics like 'sum(execution_time)', 'avg(execution_time)', and 'sum(wait_time)' are in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n---\nkind: tool\nname: get_advanced_aggregated_wait_event_stats\ntype: databaseinsights-get-advanced-aggregated-wait-event-stats\nsource: database-insights-source\ndescription: |\n  Fetches aggregated wait event statistics to identify performance bottlenecks for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, selecting the aggregation level (by wait class or granular wait event), as well as pagination. Returns statistics including wait class or event name, total time spent (sum(time_spent)), average time spent (avg(time_spent)), and total wait count (sum(count)). Requires advanced query insights to be enabled.\n  **IMPORTANT:**\n    Use these parameters to narrow down the results as requested by the user.\n    - If the user asks for a specific number of results (e.g., \"Top 10\", \"First 5\", \"List 50\"), map that number directly to page_size.\n    - If they ask for a specific user or database, use the corresponding arguments.\n    - When fetching results for a time range (e.g., \"last 24 hours\"), you MUST calculate and provide EXPLICIT 'start_time' AND 'end_time' in RFC3339 format. This pins the data window so that 'page_token' remains valid for subsequent requests. If 'page_token' is present, 'start_time' and 'end_time' MUST match the initial request.\n  Intent Interpretation Rules\n    - If the user asks for \"trend\", \"overview\", \"pattern\", or \"high-level analysis\": Use view = WAIT_CLASS (default), EVEN if they say \"wait events\".\n    - Only use view = WAIT_EVENT when the user explicitly asks for:\n      - \"detailed wait events\"\n      - \"specific wait event names\"\n      - \"granular breakdown\"\n      - or mentions specific wait events (e.g., \"ClientWrite\", \"DataFileRead\")\n    - If a query_id is provided WITHOUT explicit request for granularity default to WAIT_CLASS\n    - Phrase \"wait events trend\" should be interpreted as high-level category trend (WAIT_CLASS), NOT individual event types\n    - When in doubt: Prefer WAIT_CLASS (more readable and useful for analysis)\n  Use Cases:\n    - Diagnose bottlenecks: \"What are the top wait events on my instance <instance_id> over the last 2 hours?\"\n    - Query deep-dive: \"Why is query hash <query_id> so slow? Show me its wait events.\"\n    - Investigate contention: \"What wait events is the user <user_name> experiencing in the database <database_name>?\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching stats in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching stats in RFC3339 format (Defaults to 'now').\n    - 'database': Filter stats to a specific database.\n    - 'username': Filter stats to a specific database user.\n    - 'query_id': Breakdown wait events for a specific query hash.\n    - 'page_size': Maximum number of results to return (Default: 20).\n    - 'page_token': Token for fetching the next set of results.\n    - 'view': Aggregation level. Use 'WAIT_CLASS' for high-level categories (e.g., Lock, IO) or 'WAIT_EVENT' for granular details (e.g., ClientWrite, DataFileRead). Defaults to 'WAIT_CLASS'.\n  Response:\n    A dataset showing wait types and the total time spent (\"sum(time_spent)\") in each state.\n    **UNIT AND FORMATTING RULES:**\n      1. **Wait times**: The metric 'sum(time_spent)' is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_advanced_time_series_query_stats\ntype: databaseinsights-get-advanced-time-series-query-stats\nsource: database-insights-source\ndescription: |\n  Fetches time-series history of query execution statistics to analyze trends and spikes for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID. Returns time-series data including rates of execution time (rate(execution_time)) and wait time (rate(wait_time)). Requires advanced query insights to be enabled.\n  Use Cases:\n    - Investigate Latency Spikes: \"Show me the performance trends for query hash -4318400215895414374 over the last 3 hours.\"\n    - Database-Wide Performance: \"How has the execution time for my database 'app_db' changed since yesterday?\"\n    - User-Specific Consumption: \"Get the query history for user 'reporting_svc' over the last 30 minutes.\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching history in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching history in RFC3339 format (Defaults to 'now').\n    - 'database': Filter results to a specific database name.\n    - 'username': Filter results to a specific database user.\n    - 'query_id': Fetch history for a single, specific query hash.\n  Response:\n    Returns a list of time-series data points with metrics like rate(execution_time) and rate(count).\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution times**: The metric 'rate(execution_time)' is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_advanced_time_series_wait_event_stats\ntype: databaseinsights-get-advanced-time-series-wait-event-stats\nsource: database-insights-source\ndescription: |\n  Fetches time-series history of wait event statistics to analyze contention trends for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, as well as selecting the aggregation level (by wait class or granular wait event). Returns time-series data including rate of time spent (rate(time_spent)) grouped by wait class or event. Requires advanced query insights to be enabled.\n  Intent Interpretation Rules\n    - If the user asks for \"trend\", \"overview\", \"pattern\", or \"high-level analysis\": Use view = WAIT_CLASS (default), EVEN if they say \"wait events\".\n    - Only use view = WAIT_EVENT when the user explicitly asks for:\n      - \"detailed wait events\"\n      - \"specific wait event names\"\n      - \"granular breakdown\"\n      - or mentions specific wait events (e.g., \"ClientWrite\", \"DataFileRead\")\n    - If a query_id is provided WITHOUT explicit request for granularity default to WAIT_CLASS\n    - Phrase \"wait events trend\" should be interpreted as high-level category trend (WAIT_CLASS), NOT individual event types\n    - When in doubt: Prefer WAIT_CLASS (more readable and useful for analysis)\n  Use Cases:\n    - Analyze Periodic Contention: \"Show me the wait event history for the last 4 hours on instance 'primary-1'. Is there a spike in IO or Locks every hour?\"\n    - Query-Level Bottleneck Evolution: \"For query hash -4318400215895414374, show me the trend of its wait events over the last day.\"\n    - Correlate Traffic with Lock Contention: \"Get the wait event history for user 'app_backend' in 'prod_db' between 9 AM and 11 AM today.\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching history in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching history in RFC3339 format (Defaults to 'now').\n    - 'database': Filter history to a specific database.\n    - 'username': Filter history to a specific database user.\n    - 'query_id': Breakdown wait events over time for a specific query hash.\n    - 'view': Aggregation level. Use 'WAIT_CLASS' for high-level categories (e.g., Lock, IO) or 'WAIT_EVENT' for granular details (e.g., ClientWrite, DataFileRead). Defaults to 'WAIT_CLASS'.\n  Response:\n    A dataset of time-series points showing the rate of time spent in various wait states.\n    **UNIT AND FORMATTING RULES:**\n      1. **Wait times**: The rate of time spent is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_index_recommendations\ntype: databaseinsights-get-index-recommendations\nsource: database-insights-source\ndescription: |\n  Fetches index advisor suggestions to optimize performance for a requested AlloyDB instance. Supports requesting recommendations for specific databases and a list of query IDs. Returns index recommendations including SQL commands (CREATE INDEX), target schema, relation, and columns, estimated storage size, and predicted query performance improvements (current vs estimated execution duration). Requires advanced query insights to be enabled.\n  Supported Engines:\n    AlloyDB only.\n  Use Cases:\n    - Targeted Optimization: \"I found a slow query with ID <query_id> in my 'sales' database. What index should I add to fix it?\"\n    - Multi-Database Tuning: \"Analyze performance recommendations for query <id_1> in the 'orders' database and query <id_2> in the 'shipping' database.\"\n    - ROI Validation: \"How much faster will my query become if I apply the suggested index, and how much storage will it consume?\"\n  **PARAMETERS:**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location} (Required)\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id} (Required)\n    3. 'database_query_ids': Optional. A list of objects used to target specific queries. Example schema: [{'database': 'dbname', 'query_ids': [12345]}]. If omitted or empty, provides aggregated instance-level recommendations.\n  Response Fields:\n    The response is structured under 'database_index_recommendations', which includes:\n    1. **index_recommendations (List of Objects)**:\n       - 'sql_command': The exact DDL statement to execute to create the index.\n       - 'schema': The schema name for the recommended index.\n       - 'relation': The table name for the recommended index.\n       - 'columns': A list of column names the index targets.\n       - 'estimated_storage_size_bytes': Predicted disk space consumption.\n       - 'impacted_query_ids': List of query IDs that benefit from THIS specific index.\n       - 'impacted_queries_count': Total number of queries that would be improved by this index.\n       - 'index_recommendation_id': Unique ID for mapping back to query improvements.\n    2. **query_improvements (Map of Query ID to Improvement Object)**:\n       - 'query_id': The specific query hash being analyzed.\n       - 'index_recommendation_ids': A list of IDs matching 'index_recommendation_id' above that contribute to this query's gain.\n       - 'current_total_execution_duration': Baseline performance metric.\n       - 'estimated_new_total_execution_duration': Predicted performance after index application.\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution Durations**: The 'current_total_execution_duration' and 'estimated_new_total_execution_duration' are in seconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: A duration of 0.00111s should be reported as 1.11 ms.\n      2. **Storage Size**: The 'estimated_storage_size_bytes' is in bytes.\n         Use the 1024-based binary conversion for byte units (e.g., KiB, MiB, GiB).\n         Example: A size of 26124288 bytes should be reported as 24.91 MB.\n    **Important**:\n    - Recommendations may only be available for a subset of the requested IDs or no IDs at all.\n    - Always cross-reference the 'query_improvements' map and 'impacted_query_ids' to verify which requested IDs are actually valid for optimization.\n    - If 'query_ids' was empty in the request, the response provides aggregated instance-level recommendations.\n---\nkind: toolset\nname: alloydb_postgres_database_insights_tools\ntools:\n- get_advanced_aggregated_query_stats\n- get_advanced_aggregated_wait_event_stats\n- get_advanced_time_series_query_stats\n- get_advanced_time_series_wait_event_stats\n- get_index_recommendations\n---\nkind: toolset\nname: alloydb_postgres_observability_tools\ntools:\n- get_system_metrics\n- get_query_metrics\n- get_advanced_aggregated_query_stats\n- get_advanced_aggregated_wait_event_stats\n- get_advanced_time_series_query_stats\n- get_advanced_time_series_wait_event_stats\n- get_index_recommendations\n","internal/prebuiltconfigs/tools/bigquery.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: bigquery-source\ntype: bigquery\nproject: ${BIGQUERY_PROJECT}\nlocation: ${BIGQUERY_LOCATION:}\nreadOnly: ${BIGQUERY_READONLY:}\nwriteMode: ${BIGQUERY_WRITE_MODE:}\nuseClientOAuth: ${BIGQUERY_USE_CLIENT_OAUTH:false}\nscopes: ${BIGQUERY_SCOPES:}\nmaxQueryResultRows: ${BIGQUERY_MAX_QUERY_RESULT_ROWS:50}\nimpersonateServiceAccount: ${BIGQUERY_IMPERSONATE_SERVICE_ACCOUNT:}\nmaximumBytesBilled: ${BIGQUERY_MAXIMUM_BYTES_BILLED:0}\napiEndpoint: ${BIGQUERY_ENDPOINT:}\n---\nkind: tool\nname: analyze_contribution\ntype: bigquery-analyze-contribution\nsource: bigquery-source\ndescription: Use this tool to analyze the contribution about changes to key metrics in multi-dimensional data.\n---\nkind: tool\nname: ask_data_insights\ntype: bigquery-conversational-analytics\nsource: bigquery-source\ndescription: |\n  Use this tool to perform data analysis, get insights,\n  or answer complex questions about the contents of specific\n  BigQuery tables.\n---\nkind: tool\nname: execute_sql\ntype: bigquery-execute-sql\nsource: bigquery-source\ndescription: Use this tool to execute sql statement.\n---\nkind: tool\nname: forecast\ntype: bigquery-forecast\nsource: bigquery-source\ndescription: Use this tool to forecast time series data.\n---\nkind: tool\nname: get_dataset_info\ntype: bigquery-get-dataset-info\nsource: bigquery-source\ndescription: Use this tool to get dataset metadata.\n---\nkind: tool\nname: get_table_info\ntype: bigquery-get-table-info\nsource: bigquery-source\ndescription: Use this tool to get table metadata.\n---\nkind: tool\nname: list_dataset_ids\ntype: bigquery-list-dataset-ids\nsource: bigquery-source\ndescription: Use this tool to list datasets.\n---\nkind: tool\nname: list_table_ids\ntype: bigquery-list-table-ids\nsource: bigquery-source\ndescription: Use this tool to list tables.\n---\nkind: tool\nname: search_catalog\ntype: bigquery-search-catalog\nsource: bigquery-source\ndescription: Use this tool to find tables, views, models, routines or connections.\n---\nkind: group\nname: data\ndescription: Use these skills when you need to handle large-scale data exploration and dataset management. Use when users need to find data assets or run SQL at scale. Provides metadata discovery and query execution across the data warehouse.\ntools:\n- execute_sql\n- list_dataset_ids\n- list_table_ids\n- get_dataset_info\n- get_table_info\n- search_catalog\n---\nkind: group\nname: analytics\ndescription: Use these skills when you need to handle advanced data intelligence and predictive tasks. Use when a user asks \"why\" data changed or needs future projections. Provides automated insight generation and time-series forecasting.\ntools:\n- analyze_contribution\n- ask_data_insights\n- forecast\n- search_catalog\n","internal/prebuiltconfigs/tools/clickhouse.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/clickhouse.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/clickhouse.yaml)","internal/prebuiltconfigs/tools/cloud-healthcare.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-healthcare.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-healthcare.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml)","internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml)","internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml)","internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml)","internal/prebuiltconfigs/tools/cloud-storage.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-storage.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-storage.yaml)","internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml)","internal/prebuiltconfigs/tools/dataplex.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/dataplex.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataplex.yaml)","internal/prebuiltconfigs/tools/dataproc.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/dataproc.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataproc.yaml)","internal/prebuiltconfigs/tools/elasticsearch.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/elasticsearch.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/elasticsearch.yaml)","internal/prebuiltconfigs/tools/firestore.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/firestore.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/firestore.yaml)","internal/prebuiltconfigs/tools/looker.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker.yaml)","internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml)","internal/prebuiltconfigs/tools/looker-dev.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker-dev.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-dev.yaml)","internal/prebuiltconfigs/tools/mindsdb.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mindsdb.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mindsdb.yaml)","internal/prebuiltconfigs/tools/mssql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mssql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mssql.yaml)","internal/prebuiltconfigs/tools/mysql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mysql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mysql.yaml)","internal/prebuiltconfigs/tools/neo4j.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/neo4j.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/neo4j.yaml)","internal/prebuiltconfigs/tools/oceanbase.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/oceanbase.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oceanbase.yaml)","internal/prebuiltconfigs/tools/oracledb.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/oracledb.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oracledb.yaml)","internal/prebuiltconfigs/tools/postgres.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/postgres.yaml)","internal/prebuiltconfigs/tools/serverless-spark.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/serverless-spark.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/serverless-spark.yaml)","internal/prebuiltconfigs/tools/singlestore.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/singlestore.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/singlestore.yaml)","internal/prebuiltconfigs/tools/snowflake.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/snowflake.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/snowflake.yaml)","internal/prebuiltconfigs/tools/spanner.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/spanner.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner.yaml)","internal/prebuiltconfigs/tools/spanner-postgres.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/spanner-postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner-postgres.yaml)","internal/prebuiltconfigs/tools/sqlite.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/sqlite.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/sqlite.yaml)","skills/maintainer/fix-failing-tests/references/ci-map.md":"# References Skill\n\nPath: `skills/maintainer/fix-failing-tests/references/ci-map.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/maintainer/fix-failing-tests/references/ci-map.md)","docs/en/documentation/configuration/skills/_index.md":"# Skills Skill\n\nPath: `docs/en/documentation/configuration/skills/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/skills/_index.md)","docs/en/documentation/configuration/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/_index.md)","docs/en/documentation/configuration/tools/invoke_tool.md":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/invoke_tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/invoke_tool.md)","docs/en/documentation/configuration/tools/url_parameter_binding.md":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/url_parameter_binding.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/url_parameter_binding.md)","docs/en/integrations/alloydb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/_index.md)","docs/en/integrations/alloydb/tools/alloydb-ai-nl.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/alloydb-ai-nl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/alloydb-ai-nl.md)","docs/en/integrations/alloydb-admin/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/_index.md)","docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md)","docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md)","docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md)","docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md)","docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md)","docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md)","docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md)","docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md)","docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md)","docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md)","docs/en/integrations/arcadedb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/_index.md)","docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md)","docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md)","docs/en/integrations/bigquery/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/_index.md)","docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md)","docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md)","docs/en/integrations/bigquery/tools/bigquery-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-execute-sql.md)","docs/en/integrations/bigquery/tools/bigquery-forecast.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-forecast.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-forecast.md)","docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md)","docs/en/integrations/bigquery/tools/bigquery-get-table-info.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-table-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-table-info.md)","docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md)","docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md)","docs/en/integrations/bigquery/tools/bigquery-search-catalog.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-search-catalog.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-search-catalog.md)","docs/en/integrations/bigquery/tools/bigquery-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-sql.md)","docs/en/integrations/bigtable/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/_index.md)","docs/en/integrations/bigtable/tools/bigtable-create-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-create-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-instance.md)","docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-create-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-table.md)","docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-delete-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-instance.md)","docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-delete-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-table.md)","docs/en/integrations/bigtable/tools/bigtable-get-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-get-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-instance.md)","docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-get-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-table.md)","docs/en/integrations/bigtable/tools/bigtable-list-clusters.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-clusters.md)","docs/en/integrations/bigtable/tools/bigtable-list-instances.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-instances.md)","docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md)","docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md)","docs/en/integrations/bigtable/tools/bigtable-list-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-schemas.md)","docs/en/integrations/bigtable/tools/bigtable-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-tables.md)","docs/en/integrations/bigtable/tools/bigtable-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-sql.md)","docs/en/integrations/bigtable/tools/bigtable-update-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-update-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-instance.md)","docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-update-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-table.md)","docs/en/integrations/cassandra/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cassandra/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/_index.md)","docs/en/integrations/cassandra/tools/cassandra-cql.md":"# Tools Skill\n\nPath: `docs/en/integrations/cassandra/tools/cassandra-cql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/cassandra-cql.md)","docs/en/integrations/clickhouse/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/_index.md)","docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md)","docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md)","docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md)","docs/en/integrations/clickhouse/tools/clickhouse-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-sql.md)","docs/en/integrations/cloud-sql-admin/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/_index.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md)","docs/en/integrations/cloud-sql-mssql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-mssql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mssql/tools/_index.md)","docs/en/integrations/cloud-sql-mysql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-mysql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mysql/tools/_index.md)","docs/en/integrations/cloud-sql-pg/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/_index.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md)","docs/en/integrations/cloud-storage/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/_index.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md)","docs/en/integrations/cloudgda/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/_index.md)","docs/en/integrations/cloudgda/tools/cloud-gda-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/cloud-gda-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/cloud-gda-query.md)","docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md)","docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md)","docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md)","docs/en/integrations/cloudhealthcare/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/_index.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md)","docs/en/integrations/cloudloggingadmin/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/_index.md)","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md)","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md)","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md)","docs/en/integrations/cloudmonitoring/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudmonitoring/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/_index.md)","docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md)","docs/en/integrations/cockroachdb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/_index.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md)","docs/en/integrations/couchbase/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/couchbase/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/_index.md)","docs/en/integrations/couchbase/tools/couchbase-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/couchbase/tools/couchbase-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/couchbase-sql.md)","docs/en/integrations/databaseinsights/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/_index.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md)","docs/en/integrations/dataform/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataform/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/_index.md)","docs/en/integrations/dataform/tools/dataform-compile-local.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataform/tools/dataform-compile-local.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/dataform-compile-local.md)","docs/en/integrations/datalineage/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/datalineage/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/_index.md)","docs/en/integrations/datalineage/tools/datalineage-search-lineage.md":"# Tools Skill\n\nPath: `docs/en/integrations/datalineage/tools/datalineage-search-lineage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/datalineage-search-lineage.md)","docs/en/integrations/dataproc/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/_index.md)","docs/en/integrations/dataproc/tools/dataproc-get-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-cluster.md)","docs/en/integrations/dataproc/tools/dataproc-get-job.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-get-job.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-job.md)","docs/en/integrations/dataproc/tools/dataproc-list-clusters.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-clusters.md)","docs/en/integrations/dataproc/tools/dataproc-list-jobs.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-list-jobs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-jobs.md)","docs/en/integrations/dgraph/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/dgraph/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/_index.md)","docs/en/integrations/dgraph/tools/dgraph-dql.md":"# Tools Skill\n\nPath: `docs/en/integrations/dgraph/tools/dgraph-dql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/dgraph-dql.md)","docs/en/integrations/elasticsearch/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/_index.md)","docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md)","docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md)","docs/en/integrations/firebird/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/_index.md)","docs/en/integrations/firebird/tools/firebird-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/firebird-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-execute-sql.md)","docs/en/integrations/firebird/tools/firebird-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/firebird-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-sql.md)","docs/en/integrations/firestore/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/_index.md)","docs/en/integrations/firestore/tools/firestore-add-documents.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-add-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-add-documents.md)","docs/en/integrations/firestore/tools/firestore-delete-documents.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-delete-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-delete-documents.md)","docs/en/integrations/firestore/tools/firestore-get-documents.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-get-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-documents.md)","docs/en/integrations/firestore/tools/firestore-get-rules.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-get-rules.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-rules.md)","docs/en/integrations/firestore/tools/firestore-list-collections.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-list-collections.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-list-collections.md)","docs/en/integrations/firestore/tools/firestore-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query.md)","docs/en/integrations/firestore/tools/firestore-query-collection.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-query-collection.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query-collection.md)","docs/en/integrations/firestore/tools/firestore-update-document.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-update-document.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-update-document.md)","docs/en/integrations/firestore/tools/firestore-validate-rules.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-validate-rules.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-validate-rules.md)","docs/en/integrations/http/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/http/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/_index.md)","docs/en/integrations/http/tools/http-tool.md":"# Tools Skill\n\nPath: `docs/en/integrations/http/tools/http-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/http-tool.md)","docs/en/integrations/knowledge-catalog/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/_index.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md)","docs/en/integrations/looker/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/_index.md)","docs/en/integrations/looker/tools/looker-add-dashboard-element.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-add-dashboard-element.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-element.md)","docs/en/integrations/looker/tools/looker-add-dashboard-filter.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-add-dashboard-filter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-filter.md)","docs/en/integrations/looker/tools/looker-conversational-analytics.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-conversational-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-conversational-analytics.md)","docs/en/integrations/looker/tools/looker-create-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-agent.md)","docs/en/integrations/looker/tools/looker-create-dashboard-layout.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-dashboard-layout.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-dashboard-layout.md)","docs/en/integrations/looker/tools/looker-create-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-git-branch.md)","docs/en/integrations/looker/tools/looker-create-project-directory.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-project-directory.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-directory.md)","docs/en/integrations/looker/tools/looker-create-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-file.md)","docs/en/integrations/looker/tools/looker-delete-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-agent.md)","docs/en/integrations/looker/tools/looker-delete-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-git-branch.md)","docs/en/integrations/looker/tools/looker-delete-project-directory.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-project-directory.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-directory.md)","docs/en/integrations/looker/tools/looker-delete-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-file.md)","docs/en/integrations/looker/tools/looker-dev-mode.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-dev-mode.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-dev-mode.md)","docs/en/integrations/looker/tools/looker-generate-embed-url.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-generate-embed-url.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-generate-embed-url.md)","docs/en/integrations/looker/tools/looker-get-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-agent.md)","docs/en/integrations/looker/tools/looker-get-connection-databases.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-databases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-databases.md)","docs/en/integrations/looker/tools/looker-get-connection-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-schemas.md)","docs/en/integrations/looker/tools/looker-get-connection-table-columns.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-table-columns.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-table-columns.md)","docs/en/integrations/looker/tools/looker-get-connection-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-tables.md)","docs/en/integrations/looker/tools/looker-get-connections.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connections.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connections.md)","docs/en/integrations/looker/tools/looker-get-dashboard.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboard.md)","docs/en/integrations/looker/tools/looker-get-dashboards.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dashboards.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboards.md)","docs/en/integrations/looker/tools/looker-get-dimensions.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dimensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dimensions.md)","docs/en/integrations/looker/tools/looker-get-explores.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-explores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-explores.md)","docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md)","docs/en/integrations/looker/tools/looker-get-filters.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-filters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-filters.md)","docs/en/integrations/looker/tools/looker-get-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-git-branch.md)","docs/en/integrations/looker/tools/looker-get-looks.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-looks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-looks.md)","docs/en/integrations/looker/tools/looker-get-measures.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-measures.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-measures.md)","docs/en/integrations/looker/tools/looker-get-models.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-models.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-models.md)","docs/en/integrations/looker/tools/looker-get-parameters.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-parameters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-parameters.md)","docs/en/integrations/looker/tools/looker-get-project-directories.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-directories.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-directories.md)","docs/en/integrations/looker/tools/looker-get-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-file.md)","docs/en/integrations/looker/tools/looker-get-project-files.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-files.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-files.md)","docs/en/integrations/looker/tools/looker-get-projects.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-projects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-projects.md)","docs/en/integrations/looker/tools/looker-health-analyze.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-analyze.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-analyze.md)","docs/en/integrations/looker/tools/looker-health-pulse.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-pulse.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-pulse.md)","docs/en/integrations/looker/tools/looker-health-vacuum.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-vacuum.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-vacuum.md)","docs/en/integrations/looker/tools/looker-list-agents.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-list-agents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-agents.md)","docs/en/integrations/looker/tools/looker-list-git-branches.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-list-git-branches.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-git-branches.md)","docs/en/integrations/looker/tools/looker-make-dashboard.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-make-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-dashboard.md)","docs/en/integrations/looker/tools/looker-make-look.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-make-look.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-look.md)","docs/en/integrations/looker/tools/looker-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query.md)","docs/en/integrations/looker/tools/looker-query-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-sql.md)","docs/en/integrations/looker/tools/looker-query-url.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query-url.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-url.md)","docs/en/integrations/looker/tools/looker-run-dashboard.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-run-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-dashboard.md)","docs/en/integrations/looker/tools/looker-run-look.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-run-look.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-look.md)","docs/en/integrations/looker/tools/looker-switch-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-switch-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-switch-git-branch.md)","docs/en/integrations/looker/tools/looker-update-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-agent.md)","docs/en/integrations/looker/tools/looker-update-dashboard-element.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-dashboard-element.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-element.md)","docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md)","docs/en/integrations/looker/tools/looker-update-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-project-file.md)","docs/en/integrations/looker/tools/looker-validate-project.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-validate-project.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-validate-project.md)","docs/en/integrations/mariadb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mariadb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mariadb/tools/_index.md)","docs/en/integrations/mindsdb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/_index.md)","docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md)","docs/en/integrations/mindsdb/tools/mindsdb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/mindsdb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-sql.md)","docs/en/integrations/mongodb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/_index.md)","docs/en/integrations/mongodb/tools/mongodb-aggregate.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-aggregate.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-aggregate.md)","docs/en/integrations/mongodb/tools/mongodb-delete-many.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-delete-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-many.md)","docs/en/integrations/mongodb/tools/mongodb-delete-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-delete-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-one.md)","docs/en/integrations/mongodb/tools/mongodb-find.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-find.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find.md)","docs/en/integrations/mongodb/tools/mongodb-find-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-find-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find-one.md)","docs/en/integrations/mongodb/tools/mongodb-insert-many.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-insert-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-many.md)","docs/en/integrations/mongodb/tools/mongodb-insert-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-insert-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-one.md)","docs/en/integrations/mongodb/tools/mongodb-update-many.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-update-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-many.md)","docs/en/integrations/mongodb/tools/mongodb-update-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-update-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-one.md)","docs/en/integrations/mssql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/_index.md)","docs/en/integrations/mssql/tools/mssql-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-execute-sql.md)","docs/en/integrations/mssql/tools/mssql-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-list-tables.md)","docs/en/integrations/mssql/tools/mssql-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-sql.md)","docs/en/integrations/mysql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/_index.md)","docs/en/integrations/mysql/tools/mysql-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-execute-sql.md)","docs/en/integrations/mysql/tools/mysql-get-query-plan.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-get-query-plan.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-get-query-plan.md)","docs/en/integrations/mysql/tools/mysql-list-active-queries.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-active-queries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-active-queries.md)","docs/en/integrations/mysql/tools/mysql-list-all-locks.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-all-locks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-all-locks.md)","docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md)","docs/en/integrations/mysql/tools/mysql-list-table-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-table-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-stats.md)","docs/en/integrations/mysql/tools/mysql-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables.md)","docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md)","docs/en/integrations/mysql/tools/mysql-show-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-show-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-show-query-stats.md)","docs/en/integrations/mysql/tools/mysql-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-sql.md)","docs/en/integrations/neo4j/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/_index.md)","docs/en/integrations/neo4j/tools/neo4j-cypher.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-cypher.md)","docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md)","docs/en/integrations/neo4j/tools/neo4j-schema.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-schema.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-schema.md)","docs/en/integrations/oceanbase/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/_index.md)","docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md)","docs/en/integrations/oceanbase/tools/oceanbase-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/oceanbase-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-sql.md)","docs/en/integrations/oracle/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/_index.md)","docs/en/integrations/oracle/tools/oracle-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-execute-sql.md)","docs/en/integrations/oracle/tools/oracle-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-list-tables.md)","docs/en/integrations/oracle/tools/oracle-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-sql.md)","docs/en/integrations/postgres/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/_index.md)","docs/en/integrations/postgres/tools/postgres-database-overview.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-database-overview.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-database-overview.md)","docs/en/integrations/postgres/tools/postgres-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-execute-sql.md)","docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md)","docs/en/integrations/postgres/tools/postgres-list-active-queries.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-active-queries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-active-queries.md)","docs/en/integrations/postgres/tools/postgres-list-available-extensions.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-available-extensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-available-extensions.md)","docs/en/integrations/postgres/tools/postgres-list-database-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-database-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-database-stats.md)","docs/en/integrations/postgres/tools/postgres-list-indexes.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-indexes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-indexes.md)","docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md)","docs/en/integrations/postgres/tools/postgres-list-locks.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-locks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-locks.md)","docs/en/integrations/postgres/tools/postgres-list-pg-settings.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-pg-settings.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-pg-settings.md)","docs/en/integrations/postgres/tools/postgres-list-publication-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-publication-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-publication-tables.md)","docs/en/integrations/postgres/tools/postgres-list-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-query-stats.md)","docs/en/integrations/postgres/tools/postgres-list-roles.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-roles.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-roles.md)","docs/en/integrations/postgres/tools/postgres-list-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-schemas.md)","docs/en/integrations/postgres/tools/postgres-list-sequences.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-sequences.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-sequences.md)","docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md)","docs/en/integrations/postgres/tools/postgres-list-table-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-table-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-table-stats.md)","docs/en/integrations/postgres/tools/postgres-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tables.md)","docs/en/integrations/postgres/tools/postgres-list-tablespaces.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-tablespaces.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tablespaces.md)","docs/en/integrations/postgres/tools/postgres-list-triggers.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-triggers.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-triggers.md)","docs/en/integrations/postgres/tools/postgres-list-views.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-views.md)","docs/en/integrations/postgres/tools/postgres-long-running-transactions.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-long-running-transactions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-long-running-transactions.md)","docs/en/integrations/postgres/tools/postgres-replication-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-replication-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-replication-stats.md)","docs/en/integrations/postgres/tools/postgres-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-sql.md)","docs/en/integrations/redis/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/redis/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/_index.md)","docs/en/integrations/redis/tools/redis-tool.md":"# Tools Skill\n\nPath: `docs/en/integrations/redis/tools/redis-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/redis-tool.md)","docs/en/integrations/scylladb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/scylladb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/_index.md)","docs/en/integrations/scylladb/tools/scylladb-cql.md":"# Tools Skill\n\nPath: `docs/en/integrations/scylladb/tools/scylladb-cql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/scylladb-cql.md)","docs/en/integrations/serverless-spark/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/_index.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md)","docs/en/integrations/singlestore/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/_index.md)","docs/en/integrations/singlestore/tools/singlestore-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/singlestore-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-execute-sql.md)","docs/en/integrations/singlestore/tools/singlestore-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/singlestore-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-sql.md)","docs/en/integrations/snowflake/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/_index.md)","docs/en/integrations/snowflake/tools/snowflake-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/snowflake-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-execute-sql.md)","docs/en/integrations/snowflake/tools/snowflake-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/snowflake-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-sql.md)","docs/en/integrations/spanner/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/_index.md)","docs/en/integrations/spanner/tools/spanner-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-execute-sql.md)","docs/en/integrations/spanner/tools/spanner-list-graphs.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-list-graphs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-graphs.md)","docs/en/integrations/spanner/tools/spanner-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-tables.md)","docs/en/integrations/spanner/tools/spanner-search-catalog.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-search-catalog.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-search-catalog.md)","docs/en/integrations/spanner/tools/spanner-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-sql.md)","docs/en/integrations/sqlite/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/_index.md)","docs/en/integrations/sqlite/tools/sqlite-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/sqlite-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-execute-sql.md)","docs/en/integrations/sqlite/tools/sqlite-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/sqlite-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-sql.md)","docs/en/integrations/tidb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/_index.md)","docs/en/integrations/tidb/tools/tidb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/tidb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-execute-sql.md)","docs/en/integrations/tidb/tools/tidb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/tidb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-sql.md)","docs/en/integrations/trino/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/_index.md)","docs/en/integrations/trino/tools/trino-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/trino-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-execute-sql.md)","docs/en/integrations/trino/tools/trino-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/trino-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-sql.md)","docs/en/integrations/utility/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/utility/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/_index.md)","docs/en/integrations/utility/tools/wait.md":"# Tools Skill\n\nPath: `docs/en/integrations/utility/tools/wait.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/wait.md)","docs/en/integrations/valkey/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/valkey/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/_index.md)","docs/en/integrations/valkey/tools/valkey-tool.md":"# Tools Skill\n\nPath: `docs/en/integrations/valkey/tools/valkey-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/valkey-tool.md)","docs/en/integrations/yuagbytedb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/yuagbytedb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/_index.md)","docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md)"},"files":{"extensions/README.md":"# Experimental MCP Toolbox Extensions\n\nThis directory contains specifications and schemas for experimental Model Context Protocol (MCP) extensions supported by MCP Toolbox. Toolbox includes  features that fall outside the official MCP specification. While some capabilities may remain proprietary, others are experimental features being incubated for potential inclusion in the core specification.\n\n## Extension Identifier\n\nThe identifier we are using for this extension is `com.google.cloud/toolbox.<version_string>`. It packages all the custom experimental Toolbox features (such as groups, secure parameters, and authenticated parameters) under a single extension namespace.\n\n## Versioning Strategy\n\n- **Strict Backward Compatibility Within Versions:** Once a version is established, all updates to it must be non-breaking. New capabilities can be added and schemas updated, provided they fail gracefully if unsupported and do not break existing implementations.\n- **Breaking Changes Between Versions:** Breaking changes are allowed when introducing a new protocol version release.\n- **Graduation to Official Spec:** When an experimental feature is officially adopted into the core MCP specification, it will be removed from this experimental extension package. Clients must transition to the official implementation to utilize the feature.\n","skills/README.md":"# MCP Toolbox Agent Skills\n\nThis directory holds [Agent Skills](https://agentskills.io/specification) for the\nMCP Toolbox project — self-contained instructions that teach a coding agent\n(Claude Code, Cursor, Gemini CLI, Codex, and others) how to perform specific\nworkflows against this repo.\n\nSkills are grouped by audience:\n\n- `maintainer/` — skills for maintaining the toolbox itself (e.g. `triage-issues`,\n  `review-prs`, `stale-sweep`).\n\n## Installing\n\nSkills install with [`npx skills`](https://www.npmjs.com/package/skills)\n([source](https://github.com/vercel-labs/skills)), the open Agent Skills CLI. It\nworks with any supported agent and needs only Node.js (no global install\nrequired).\n\nBy default it installs into the **current project** (`.agents/skills/`, symlinked\ninto each detected agent's directory). Add `-g` to install **globally** into your\nhome directory so the skill is available across all projects.\n\n### Install every skill\n\n```bash\n# Interactive: pick which skills and agents to install\nnpx skills add googleapis/mcp-toolbox\n\n# Non-interactive: install all skills for all detected agents\nnpx skills add googleapis/mcp-toolbox -y\n```\n\n### Install all maintainer skills\n\nPoint at the category subdirectory:\n\n```bash\nnpx skills add googleapis/mcp-toolbox/skills/maintainer\n```\n\n### Install a specific skill\n\nPoint directly at the skill's folder:\n\n```bash\n# Shorthand\nnpx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues\n\n# Or the full GitHub URL\nnpx skills add https://github.com/googleapis/mcp-toolbox/tree/main/skills/maintainer/triage-issues\n```\n\nFrom a source that contains several skills, you can also select by name instead\nof a subpath:\n\n```bash\nnpx skills add googleapis/mcp-toolbox --skill triage-issues   # one skill\nnpx skills add googleapis/mcp-toolbox --skill '*'             # all skills\n```\n\n### Install globally\n\nAny of the commands above take `-g` to install into your home directory instead\nof the current project:\n\n```bash\nnpx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues -g\n```\n\n## Managing installed skills\n\n```bash\nnpx skills list                 # list installed skills\nnpx skills update               # update all installed skills to latest\nnpx skills update triage-issues # update a specific skill\nnpx skills remove triage-issues # remove a skill\n```\n\n`update` re-fetches only skills whose upstream content has changed and refreshes\nthe whole skill folder (including bundled `references/`), so keep installed\ncopies read-only — local edits are overwritten on update.\n","extensions/2026-07-28/README.md":"# Extension Version: 2026-07-28\n\nThis directory contains schemas and specifications for the `2026-07-28` version of the experimental MCP Toolbox extension.\n\n## Extension Identifier\n\nThe identifier for this extension version is **`com.google.cloud/toolbox.v1`**.\n\n## Supported Capabilities\n\n- **[Secure Parameters](./secureParams/specification/secure_params.md)**: Separates sensitive runtime parameters from LLM visibility via `secureInputSchema` and `secureArguments`.  \n  Schema: [`secureParams/schema/schema.ts`](./secureParams/schema/schema.ts)\n- **[Groups](./groups/specification/groups.md)**: Exposes a server's configured groups over MCP through the `groups/list` and `groups/get` methods.  \n  Schema: [`groups/schema/schema.ts`](./groups/schema/schema.ts)\n","skills/maintainer/triage-issues/SKILL.md":"---\nname: triage-issues\ndescription: >-\n  Triage GitHub issues in the googleapis/mcp-toolbox repo: propose the correct\n  labels (type / priority / product / status), check for duplicates, verify a bug\n  has enough info to act on, and draft a triage comment. Use whenever a maintainer\n  asks you to triage, label, categorize, prioritize, or \"look at\" an issue (or a\n  batch) in mcp-toolbox, e.g. \"triage #3648\", \"what labels should this get\", \"is\n  this a dup\", triage a batch of issue numbers, or when they paste an mcp-toolbox\n  issue link. PROPOSE-ONLY: delivers the triage in chat for the maintainer to apply;\n  never edits labels, comments, closes, or assigns on its own.\n---\n\n# Triage Issues (mcp-toolbox)\n\nTriage here is mostly manual **labeling**. The `product:` label auto-routes to the owning team\nvia `.github/blunderbuss.yml`. Propose only, never mutating the issue; when a call isn't obvious,\nask rather than guess.\n\n## Goal\n\nGiven an issue number (or several), deliver a triage the maintainer can apply in seconds: labels\nacross the four axes (each with a one-line *why*), likely duplicates, missing bug info, and a\ndraft comment when one adds value.\n\n## Prerequisites\n\n- `gh` authenticated for `googleapis/mcp-toolbox`, plus the issue number(s). A GitHub MCP server\n  substitutes for `gh` if it isn't available: the `gh` commands below map to its read/list tools.\n\n## Guidance\n\n**Read source-of-truth live, not from memory** (labels/routing drift):\n- `gh label list --repo googleapis/mcp-toolbox --limit 200`: the only valid label names. Never propose one not listed.\n- [`.github/blunderbuss.yml`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/blunderbuss.yml): which `product:` labels route to which team.\n- [`.github/ISSUE_TEMPLATE/bug_report.yml`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/ISSUE_TEMPLATE/bug_report.yml): required bug fields (for the completeness check).\n- [references/maintainer-playbook.md](references/maintainer-playbook.md): the **authoritative**\n  taxonomy, priority/status definitions, SLO targets, and comment templates. Read it to classify;\n  this skill only adds how to apply them in a propose-only workflow.\n\nFetch the issue:\n```bash\ngh issue view <n> --repo googleapis/mcp-toolbox --json number,title,body,author,labels,comments,createdAt\n```\n\n**Check bot-noise first.** Automated reports (e.g. \"Cloud Build Failure Reporter ... failed\",\nbot author) just need `periodic-failure`, so skip the rest of the workflow.\n\n**The four axes** (the playbook has the definitions; below is only how to *apply* them here). Skip\nan axis when it doesn't apply: say so, don't force a label.\n\n- **`type:`**: the template pre-applies `type: bug`/`type: question`; trust it, but correct it\n  when the body disagrees (a \"bug\" asking for new behavior is a feature request) and say why.\n- **`product:`**: one per data source; **highest-leverage label**, since it drives team routing.\n  Infer from the source/tool named (e.g. \"looker run_dashboard tool\" → `product: looker`). Don't\n  force one on core/product-agnostic issues; note it has no product owner. If a real data source\n  has no matching label yet, say so and flag it for `.github/labels.yaml` rather than mis-routing.\n- **`priority:`**: **bugs are only ever p0 or p1** (never p2/p3); feature requests span p0-p3.\n  Match the issue to the playbook's priority examples and SLO table, state the reason, and let the\n  maintainer override.\n- **`status:`** (optional): `waiting for response` when a bug lacks info to act, `feedback wanted`\n  when waiting on community/author, `help wanted` for community-open work. See the playbook for\n  exact semantics and the >60-day-silence close rule.\n\n**Community labels** (standalone, not `status:`-prefixed): `good first issue` for well-scoped,\napproachable issues; `ready for work` for triaged issues actionable now. Propose `good first issue`\nalongside `help wanted` when the fix is small and self-contained.\n\n**Assignment** (not a label): rarely needed, since `product:` auto-routes to the team. Propose an\nassignee only when an external contributor volunteers (assign them, to avoid duplicate work) or a\nmaintainer is picking it up; otherwise leave it unassigned so contributors know it's open.\n\n**Duplicates.** `gh issue list --repo googleapis/mcp-toolbox --state all --search \"<key terms>\" --limit 20`\nwith distinctive terms (tool name, error string). If it's a known issue, propose `duplicate` +\nclose: link and reference the original, and thank the reporter (template below).\n\n**Investigate before deferring (bugs).** Before proposing `waiting for response`, try to reproduce\nby tracing the code, and check `git log`/`git blame` for a fix that already landed silently. When\nthe call hinges on whether the bug is real, hand off to the `reproduce-bug` skill, which runs the\ncheap discriminators (wrong tool type, version skew, client-side) and can reproduce most reports on\nSQLite with no credentials; its verdict sharpens both `priority:` and `status:`. If\nit's already fixed, propose `duplicate` + close referencing the commit rather than asking for info.\nIf you can root-cause it, include the `file:line` — it sharpens the priority call. Only fall back to\n`waiting for response` when reproduction genuinely isn't possible, and then ask *specific*,\nactionable questions, not \"please provide more info\". Compare against `bug_report.yml` required\nfields (version, env, expected vs. current, repro) to list exactly what's missing; this feeds the\nlabel and the draft comment.\n\n**Feature requests & questions.** For a feature request, search the codebase for an existing or\npartial implementation before drafting the acknowledgment — it may already be possible (answer and\nclose) or a duplicate. For a `type: question`, answer directly from the code with references rather\nthan only labeling it.\n\n**Draft comment.** Use the playbook's canonical templates verbatim (\"Needs More Information\" for a\nbug missing repro/details, \"Acknowledging a Feature Request\" for an FR), filling in specifics like\nthe exact missing fields; don't invent wording. For a duplicate:\n\n```text\nThanks for reporting this! This is a duplicate of #<original>, so I'm closing this in favor of that issue. Please follow along there for updates.\n```\n\n## Rules\n\n- **Propose only.** Never run `gh issue edit/comment/close` or assign. Deliver in chat.\n- **Only real labels**: every proposed label must appear in `gh label list`.\n- **When type/product is a genuine toss-up, ask.** A confident wrong `product:` mis-routes.\n- **Cite what backs a claim.** Routing/label claims cite the config (e.g. \"routes to\n  `toolbox-looker-team` per `blunderbuss.yml`\"); codebase claims (root cause, \"already fixed\",\n  \"already implemented\") cite `file:line` or a commit SHA, or are marked `[UNVERIFIED]`.\n\n## Output format\n\n```text\n## Issue #<n>: <title>\n\n**Labels:**\n- `type: <x>`: <why>\n- `product: <x>`: <why + routing, or \"no product owner: core/...\">\n- `priority: <x>`: <why>\n- `status: <x>`: <why, if any>\n\n**Duplicates:** <#nums, or \"none for terms: ...\">\n**Completeness (bugs):** <what's missing, or \"complete\">\n**Draft comment:** <paste-ready, or \"none needed\">\n\n**Apply:** gh issue edit <n> --repo googleapis/mcp-toolbox --add-label \"type: ...,product: ...,priority: ...\"\n```\n\nInclude the ready-to-run `gh issue edit` line so the maintainer applies with one paste, but leave\nrunning it to them. For a batch, one block per issue plus a one-line summary table.\n","skills/maintainer/fix-failing-tests/SKILL.md":"---\nname: fix-failing-tests\ndescription: >-\n  Diagnose a failing test in the googleapis/mcp-toolbox repo and land a fix by\n  reasoning from the actual error: read the failure, reproduce it, shrink it\n  until the cause is forced into the open, then fix the cause. Use this whenever\n  a test or CI job is red, a build breaks after a change, many packages fail at\n  once, or a test passes locally but fails in CI.\n---\n\n# Diagnose and Fix Failing Tests\n\nScope: `googleapis/mcp-toolbox`\n\nDebug the way a careful developer does. Read the real error, find out what\nchanged, reproduce it, shrink it until the cause is forced into the open, then\nfix the cause rather than the symptom.\n\n\n## The Evidence Rule\n\n**Every factual claim MUST cite evidence**: a path with line numbers, a build ID,\na log excerpt, or a SHA. Otherwise mark it `[UNVERIFIED]` and say what would\nconfirm it.\n\n**Open every line you cite, including this skill's.** Ensure all pointers are\ncorrect.\n\n## 1. Read the actual failure\n\nHow you arrived decides what evidence you already hold and how much of step 2\nyou can skip.\n\n| You arrived from | What you have | Where that puts you |\n|---|---|---|\n| A gate failing on your PR | A diff and a known-good parent | Your change is the prime suspect, but confirm the same job is green on `main` before assuming it |\n| A `periodic-failure` issue | A build link buried in a long thread | Take the newest comment's link. The title often describes a different, already-fixed failure |\n| An issue someone filed | A claim, often without a log | Establish that it still fails before anything else. Reports go stale, and the fix may have landed already |\n| `main` is red | A range of commits, none of them yours | Bisect over merges. Say you are inheriting it rather than absorbing it into your change |\n| Fails locally, green in CI | A reproduction | Suspect your environment: stale build cache, leftover local state, missing env, different Go version |\n| Green locally, fails in CI | Neither | Suspect what CI does differently: `-race`, another OS, concurrency, a clean checkout, no cached state |\n\nWhatever the door, get to the real error before theorising. Do not work from the\njob summary or the last line of the log. Find the first real error and read it in\nfull.\n\n- **Did a test fail at all?** Some red jobs contain zero failing tests: a\n  compile error before the test step, a coverage threshold, a separate lint job,\n  or a shard that skipped itself. Confirm a real test failure before debugging\n  one. [references/ci-map.md](references/ci-map.md) lists the jobs that go red with everything green.\n- **Which error is the cause?** Compile errors cascade, so the first is the\n  cause and the rest are consequences. Assertion failures do not cascade, so\n  read them all: three unrelated ones mean something different from thirty\n  identical ones.\n- **What kind of failure is it?** An assertion, a panic, a timeout, and a\n  connection error each imply a different investigation. A connection error in\n  a test that never touches the network usually means the process under test\n  died.\n- **What exactly was expected versus produced?** Get the diff, the test name,\n  and the subtest name. \"The test failed\" is not a starting point.\n\n## 2. Establish what changed\n\nA test that passes on `main` and fails on your branch is a different problem\nfrom one failing everywhere.\n\n- Check whether the same job is red on `main`. If it is, you are inheriting\n  someone else's failure and should say so rather than absorbing it into your\n  change.\n- Diff your branch against the last green commit. Look for the smallest change\n  that could plausibly reach the failing code, including indirect reach through\n  a shared helper or an interface.\n- \"Nothing relevant changed\" is a hypothesis, not a fact. Shared infrastructure\n  and concurrent CI runs are changes too.\n\n## 3. Reproduce it\n\nA fix you cannot demonstrate is a guess. Find the smallest command that fails\nreliably, and run it before and after your patch.\n\n```bash\ngo test -race -v ./path/to/package/                  # one package\ngo test -race -run 'TestX/subtest' -v ./path/...     # one subtest\ngo test -race -count=20 -run 'TestX' ./path/...      # does it always fail?\n```\n\nUse `-race` locally, because CI does, and a race can be green without it.\n\nIf you cannot reproduce it, that is itself a finding. Say so explicitly, state\nwhat you would need (credentials, a build log, a concurrent run), and lower your\nconfidence rather than proceeding as if you had confirmed the cause.\n\n## 4. Isolate\n\nShrink the failure until only the cause is left. Each run should answer one\nquestion, so change one variable at a time.\n\n| Axis | Run it both ways | What a difference tells you |\n|---|---|---|\n| Alone vs in suite | the single test, then the whole package | passing alone means shared state or ordering, not bad logic |\n| With vs without your change | stash it and re-run | separates your regression from a pre-existing failure |\n| Repeated | `-count=20` | distinguishes deterministic from intermittent |\n| Order | `-shuffle=on` | exposes tests that depend on their neighbours |\n| Race detector | with and without `-race` | isolates a genuine data race |\n| Scope | one package, then many | one package is local logic, many is a shared cause |\n\nAlone versus in-suite is the highest-information split: it separates \"this test\nis wrong\" from \"this test is a victim\".\n\nWhen many packages fail at once, resist debugging the first one alphabetically.\nLook for the single shared thing they all touch, fix that, and re-run. The list\nusually collapses. Usual candidates: a fake or helper nearly every package\nimports, a shared struct compared field-by-field in table tests, a signature\nevery caller depends on, or registration via a blank import.\n\n## 5. Explain it before you fix it\n\nState one hypothesis as a prediction: *if this is the cause, then X should be\ntrue.* Then check X. If you cannot phrase a prediction, you do not have a\nhypothesis yet and should go back to isolating.\n\nBefore writing a patch, be able to answer:\n\n- Why does it fail **now**, when it passed before?\n- Why does it fail **here** and not in the tests that pass?\n- Does the cause explain **every** symptom, including the ones you set aside?\n\nAn explanation that covers only some of the evidence is usually the wrong one.\n\nSuspect a bystander when the symptom sits far from the cause. A shared deadline\nthat also bounds the process under test kills it on overrun, blaming whichever\ntest was running. A fixture collision can block rather than error, surfacing as\na downstream timeout. Teardown on an expired context fails silently, leaving\nstale state for the next run.\n\n## 6. Fix the cause\n\nDecide what is actually wrong before editing.\n\n- **The code is wrong.** The test caught a real defect. Fix the code.\n- **The test is wrong.** It encoded an assumption that no longer holds. Change\n  it, and say plainly what behaviour changed and why that is acceptable.\n- **The conditions are wrong.** The test and code are both fine, but the\n  environment is shared, slow, or ordered unfavourably. Fix the conditions.\n\nFix at the level the cause lives. A shared helper that breaks many packages gets\none edit there, not a hundred local patches.\n\nNever loosen an assertion, add a retry, or extend a timeout to make red go away\nunless you can explain why the original was wrong. Those are the three edits\nthat hide a real bug while looking like a fix.\n\nSkipping is a last resort: only for a diagnosed intermittent failure that is\nblocking others, and only with a tracking issue and re-enable condition in the\nskip reason, since a bare \"flaky\" is how tests stay skipped for years. Never\nskip a data race, a deterministic failure, or one you cannot explain, because an\nunexplained failure is the most likely to be a real bug.\n\n## 7. Verify\n\n- Re-run the exact command that failed, and confirm it now passes.\n- Re-run the wider package or suite, to check you did not move the failure.\n- For anything intermittent, repeat it. A single green run proves nothing when\n  the failure was one-in-five to begin with.\n- Say what you did **not** verify.\n\n## Output format\n\nReport the diagnosis, then the diff, then anything left open.\n\n```json\n{\n  \"failure\": \"<test or job, exact name>\",\n  \"kind\": \"assertion | compile | panic | timeout | connection | not-a-test-failure\",\n  \"scope\": \"<how many packages, and what they share>\",\n  \"deterministic\": true,\n  \"reproduced\": \"<the exact command, or why not>\",\n  \"evidence\": [\"<path:line or log excerpt> <what it shows>\"],\n  \"root_cause\": \"<one sentence that explains every symptom>\",\n  \"fix_level\": \"code | test | conditions\",\n  \"action\": \"fix | escalate | no-change\",\n  \"confidence\": \"high | medium | low, and why\",\n  \"residual_risk\": \"<what this patch does not cover, and what you did not verify>\"\n}\n```\n\nState `residual_risk` honestly. Claiming certainty you do not have is worse than\na hedged claim, because the next person will trust it.\n\n## Reference\n\n[references/ci-map.md](references/ci-map.md) covers where tests run, how to get the logs, and the jobs\nthat go red with every test passing. Read it in step 1.\n","skills/maintainer/review-prs/SKILL.md":"---\nname: review-prs\ndescription: >-\n  Review a GitHub pull request in the googleapis/mcp-toolbox repo against the\n  team's reviewer checklist: PR title/description conventions, linked issue,\n  logic errors and unhandled edge cases, breaking changes, test coverage, docs\n  updates, security (input handling), and new dependencies. Use whenever a\n  maintainer asks you to review, look over, \"take a look at\", or check whether\n  something is ready to merge in mcp-toolbox, e.g. \"review #3703\", \"can you look\n  at this PR\", \"is this good to merge\", or when they paste an mcp-toolbox PR link.\n  PROPOSE-ONLY: delivers the review in chat for the maintainer to post; never\n  approves, requests changes, comments, labels, or merges on its own.\n---\n\n# Review PRs (mcp-toolbox)\n\nA review here is a proposal the maintainer edits and posts, not a rubber stamp. The value is\na fast, grounded read of the diff against the team's conventions.\n\n## Goal\n\nGiven a PR number or link, deliver a review the maintainer can post in seconds: a suggested\nverdict (approve / request changes / comment), the findings that back it grouped by severity\nso the important things aren't buried, and a paste-ready summary comment.\n\n## Prerequisites\n\n- `gh` authenticated for `googleapis/mcp-toolbox`, plus the PR number(s). A GitHub MCP\n  server substitutes for `gh` if it isn't available: the `gh` commands below map to its\n  read/list tools.\n\n## Workflow\n\n### Step 1: Read the source of truth\n\nRead these live, not from memory. All three are symlinks to the repo-root\nfiles, so they track `main`; cite them by their root names.\n\n- [references/maintainer-playbook.md](references/maintainer-playbook.md): Reviewer's Checklist,\n  SLO/release context, `release candidate` labeling.\n- [references/CONTRIBUTING.md](references/CONTRIBUTING.md): title/scope format (Conventional\n  Commits, with the `type` table), keep-PRs-small, link-an-issue. Cite for title, description,\n  and process findings.\n- [references/DEVELOPER.md](references/DEVELOPER.md): tool/source naming, error taxonomy, the\n  patterns for adding a source/tool/integration test, CI-enforced docs structure, local\n  test/lint commands. Cite for code, test, and docs findings. Prefer it over `GEMINI.md`\n  (`CLAUDE.md`/`AGENTS.md` symlink to it), which only summarizes.\n\n### Step 2: Fetch the PR, its diff, and its checks\n\n```bash\ngh pr view <n> --repo googleapis/mcp-toolbox --json number,title,body,author,labels,files,additions,deletions,commits,baseRefName,headRefName,state,isDraft,reviewDecision\ngh pr diff <n> --repo googleapis/mcp-toolbox\ngh pr checks <n> --repo googleapis/mcp-toolbox\n```\n\n### Step 3: Triage before reviewing\n\nThree shapes end the review early or change its bar:\n\n- **Auto-generated (`renovate`, `release-please`):** the only question is whether checks are\n  green. If so, propose merge and stop.\n- **Draft (`isDraft`):** review lightly and say so; the author isn't asking for a final pass.\n- **Non-code / policy** (third-party badge, backlink, promotional README line, often a drive-by\n  contributor): acceptance is a maintainer policy call, not a code question. Say that plainly\n  instead of manufacturing code findings, and still check title convention and CI. Mark any URL\n  you haven't fetched `[UNVERIFIED]`.\n\n### Step 4: Read the whole diff, including what the title doesn't mention\n\nSkim for the shape, then dive into hunks. Three failure modes:\n\n- **A docs-shaped title never lowers the read bar.** PR #2473, \"docs: fix typo in getting started\n  guide\", added an npm `preinstall` hook that hijacked `git` via `GITHUB_PATH` to exfiltrate an\n  RSA-encrypted `GITHUB_TOKEN`. Read every file in any PR touching `.hugo/`, `package.json`\n  lifecycle scripts, `.github/workflows/`, or `.ci/`. A file the title and description don't\n  account for is itself blocking.\n- **Look for what's *missing*, not just what's wrong:** a refactor applied to 4 of 5 call sites,\n  a fix whose mirror bug still lives elsewhere, a behavior change with no test update, an error\n  swallowed silently.\n- **A hunk is not enough context to judge a hunk.** Read the enclosing function for anything\n  correctness-relevant, and grep call sites when a signature, config field, or parameter changes.\n  A finding that needs a look outside the diff is the one no other reviewer will make.\n\n### Step 5: Check the diff against the issue it claims to fix\n\nKeep this separate from Step 6: a PR can follow every convention and still implement the wrong\nthing. Read the linked issue (`gh issue view <n> --repo googleapis/mcp-toolbox --comments`), then\nask three questions:\n\n- **Missing:** What the issue asked for that the diff doesn't do. A partial fix that closes the\n  issue is worse than none, since the remainder becomes invisible.\n- **Extra:** Unrelated changes bundled in. Ask for a split (`CONTRIBUTING.md`, keep PRs small).\n- **Wrong:** Implemented, but not what the issue described. Quote the issue line beside the\n  `file:line`.\n\nWith no linked issue the PR description is the spec: same three questions, and note that the\nintent is self-declared.\n\n### Step 6: Work the review dimensions\n\nSkip a dimension when it doesn't apply: say so, don't invent a finding.\n\n- **Title & description.** Conventional Commits with the right `type(scope)` per\n  `CONTRIBUTING.md`, plus `!`/`BREAKING CHANGE` for breaking\n  changes. Body follows [`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/PULL_REQUEST_TEMPLATE.md): what, why, completed checklist,\n  `Fixes #<n>`. Note a missing issue link; don't block on it alone.\n- **Correctness.** Cite `file:line` and name the failure case, never\n  \"looks risky\".\n  - *Bugs CI won't catch:* Unhandled error returns, nil/empty input, off-by-one and boundary\n    conditions, concurrency, behavior contradicting stated intent.\n  - *Type conversion at the MCP boundary*: Drivers return native types\n    that don't serialize (MySQL `[]byte` for decimals, nulls as `nil`/`None`). Require explicit\n    handling that maps to the tool's JSON schema; reject implicit casts and missing type switches.\n  - *Error taxonomy* on any new or changed error path: `AgentError` for\n    input/execution errors the agent can fix itself (HTTP 200, `isError: true`) versus\n    `ClientServerError` for infrastructure failures it can't.\n- **Breaking changes.** Changed config field names/YAML shape, tool names, removed or renamed\n  exported symbols, altered defaults. Without `!` in the title and a justification in the body,\n  blocking.\n- **Refactor purity.** A `refactor:` PR must not change behavior. A bundled fix or default change\n  gets split into its own `fix:`/`feat:` PR so it's reviewable and revertable.\n- **Source reuse (new sources).**: No new `internal/sources/<db>/` for a database wire-compatible \n  with an existing source. Same for a tool duplicating an existing tool under a new name.\n- **Architecture (no boilerplate).** New tools embed `tools.BaseTool[Config]`, new sources follow\n  the registration pattern; reject re-declared interface methods (`GetName`, `Manifest`).\n  `DEVELOPER.md` lists what `BaseTool` provides.\n- **Tool and parameter descriptions.** Each `description:` is an LLM prompt, not developer\n  documentation: could an agent pick this tool and fill its parameters from that text alone, at a\n  token cost worth paying? Flag ones that restate the field name, omit units/format/allowed\n  values, or run long without adding information.\n  - *Evals measure exactly this.* For a PR editing `internal/prebuiltconfigs/tools/<config>.yaml`,\n    note that the next step is a maintainer applying the `evals: run` label, which scopes the run\n    to the configs that PR touched. Like integration tests, un-run evals aren't a blocker.\n- **Tests.** New logic or a bug fix needs tests; missing them is usually request-changes.\n  - *Coverage:* happy path, edge cases, and for a fix, a test that fails without it. A new\n    source/tool follows the unit + integration pattern and is wired into\n    `.ci/integration.cloudbuild.yaml`.\n  - *Placement,* reviewed as closely as coverage: source-specific helpers stay unexported in\n    `tests/<db>/<db>_integration_test.go`, never in the shared `tests/common.go`.\n  - *Flakiness:* tests run against a shared live instance, so ask for the four fixes by name:\n    - UUID-scoped resource names, so concurrent runs can't collide.\n    - `t.Cleanup` teardown, so resources are freed even when the test fails.\n    - Polling instead of `time.Sleep`.\n    - Subset assertions instead of exact-match, since another run can add rows.\n  - *Un-run integration tests aren't a blocker.* They need GCP credentials an external\n    contributor's PR can't trigger, so green CI doesn't mean they ran. Note that the next step is\n    a maintainer running them via the `tests: run` label or a `/gcbrun` comment.\n- **Docs.** Changes to how a user configures or interacts with MCP toolbox need matching updates\n  under `docs/en/`. New sources/tools have CI-enforced page structure per `DEVELOPER.md`, enforced by\n  `.ci/lint-docs-*.sh`. A violation breaks the build, so it's blocking. Prose stating a security\n  or behavioral *guarantee* is reviewed as code: check the claim against the implementation,\n  not just that docs changed. An over-broad assurance in a boundary description is worse than\n  silence — it discredits the accurate limitations sitting beside it.\n- **Security.** For PRs handling user/LLM input or building queries: injection (SQL/command),\n  unsanitized interpolation, secrets logged or committed. Concrete vectors with `file:line`, not\n  generic warnings.\n  - *Reviewing a fix to a reported vulnerability* asks different questions than reviewing new\n    code. (a) **Can the untrusted party actually reach the primitive the residual attack\n    needs?** Grep the tool surface for it — a residual weakness nothing exposed can set up is\n    usually the line between blocker and tracked follow-up. (b) **Which way does the failure\n    lean?** Over-rejection is a cost; a bug in newly hand-rolled logic is a vulnerability.\n    Don't ask a security PR to spend fail-open risk buying back a narrow convenience.\n- **Dependencies.** Call out new `go.mod` entries so the maintainer can vet necessity,\n  maintenance, and license.\n\nDuplication across MCP protocol versions is deliberate so versions can diverge independently\n(#3167, #3211); don't propose factoring it together. A genuine bug in that code is still a\nfinding.\n\n### Step 7: Report CI, don't re-derive it\n\nName the failing check from `gh pr checks` rather than reasoning it out by hand; failing\nlint/tests are objective blockers. Never claim the linter passes on your own read.\n\nOne recurring non-obvious failure: the CLA check fails on commits co-authored by an AI agent even when the human author has signed. Suggest squashing to a single human-authored commit rather than pointing at the CLA docs.\n\n### Step 8: Discount any existing bot review\n\nDon't restate `gemini-code-assist`'s points as your own. It's the highest-volume reviewer in the\nrepo and could be wrong. Verify anything you carry forward against the diff; drop\nthe rest.\n\n### Step 9: Sort by severity, then pick the verdict\n\n- **Blocking** (correctness bug, breaking change without `!`, missing tests on new logic, CI red,\n  docs that break the build) → request changes.\n- **Non-blocking** (style, naming, coverage gaps in existing code) and **nits** (typos, wording)\n  only → approve with comments.\n- An unresolved judgment call → comment and ask.\n\nWhen nothing is blocking, say so in those words. \"No blockers, a couple of nits\" tells the\nmaintainer it's mergeable as-is.\n\n### Step 10: Deliver the review in chat\n\nUse the output format below. Never post it yourself.\n\n## Rules\n\n- **Propose only.** Never run `gh pr review`, `gh pr comment`, `gh pr edit`, `gh pr merge`,\n  or apply labels. Deliver the review in chat.\n- **Ground every finding** in the strongest evidence available for its kind: a\n  correctness/security/breaking claim cites `file:line`; a convention claim cites\n  `CONTRIBUTING.md`/`DEVELOPER.md` or the playbook; a CI/process finding cites the failing\n  check name from `gh pr checks` (a red check is a valid blocker with no `file:line`). If you\n  couldn't verify something (runtime behavior you can't trace, a URL you didn't fetch), mark\n  it `[UNVERIFIED]` rather than asserting it.\n- **Prefer running the code to reasoning about it.** `[UNVERIFIED]` is for what you *can't*\n  check, not what's inconvenient to. Fetch the branch (`git fetch origin pull/<n>/head:pr<n>`,\n  then `git worktree add /tmp/pr<n> pr<n>` so your tree stays clean) and drop a scratch\n  `probe_test.go` *inside* the package under review — package-local placement is what reaches\n  unexported symbols. Delete it and `git worktree remove --force /tmp/pr<n>` after; never leave\n  a scratch test in `internal/`. Probes right-size verdicts as often as they confirm them: \"this\n  regresses X\" often shrinks to \"in one narrow case\" once measured.\n- **When it's a genuine judgment call, ask** rather than issuing a confident wrong verdict,\n  since a wrong \"request changes\" costs a contributor a cycle.\n\n## Output format\n\n```\n## Review #<n>: <title>\n\n**Suggested verdict:** <approve / request changes / comment>: <one-line reason>\n\n**Title & issue:** <conventional-commit check; linked issue or \"none, suggest linking\">\n**Spec (vs issue #<n>):** <implements it / what's missing, extra, or wrong; or \"no issue linked\">\n**CI:** <passing / which checks failing, per gh pr checks>\n\n**Blocking:**\n- `file:line`: <finding + the failure case> [cite]\n\n**Non-blocking:**\n- `file:line`: <finding> [cite]\n\n**Nits:**\n- <typo/wording>\n\n**Tests:** <added & adequate / what's missing>\n**Docs:** <updated / what's missing, or n/a>\n**Dependencies:** <new deps to vet, or none>\n**release candidate:** <suggest label / not needed>\n\n**Draft comment:**\n<paste-ready summary the maintainer can post>\n```\n\n- **Empty sections:** omit them rather than writing \"none\".\n- **Except the Spec line:** keep it even when the PR matches its issue. The maintainer wants\n  \"does what the issue asked\" stated, not inferred from silence.\n- **Batches:** review each PR in its own subagent so the diffs don't bleed together, since a\n  finding attributed to the wrong PR is worse than a missed one. Present one block per PR, plus a\n  summary table (PR, verdict, blocker count).\n","GEMINI.md":"# MCP Toolbox Context & Style Guide\n\nThis file (symlinked as `CLAUDE.md`, `AGENTS.md`, and `.gemini/styleguide.md`) provides context and guidelines for AI agents working on the MCP Toolbox for Databases project. It summarizes key information from `CONTRIBUTING.md` and `DEVELOPER.md`.\n\n## Project Overview\n\n**MCP Toolbox for Databases** is a Go-based project designed to provide Model Context Protocol (MCP) tools for various data sources and services. It allows Large Language Models (LLMs) to interact with databases and other tools safely and efficiently.\n\n\n## Tech Stack\n\n-   **Language:** Go (1.23+)\n-   **Documentation:** Hugo (Extended Edition v0.146.0+)\n-   **Containerization:** Docker\n-   **CI/CD:** GitHub Actions, Google Cloud Build\n-   **Linting:** `golangci-lint`\n\n## Key Directories\n\n-   `cmd/`: Application entry points.\n-   `internal/sources/`: Implementations of database sources (e.g., Postgres, BigQuery).\n-   `internal/tools/`: Implementations of specific tools for each source.\n-   `internal/prompts/`: Implementations of MCP prompts.\n-   `internal/resources/`: Implementations of MCP resources and resource templates (e.g., text, file).\n-   `internal/group/`: Implementations of groups scoping tools, prompts, resources, and resource templates.\n-   `tests/`: Integration tests.\n-   `evals/`: Evalsets and harness configs for evaluating the prebuilt tool configs with [EvalBench](https://github.com/googlecloudplatform/evalbench); run by `.ci/evals.cloudbuild.yaml`.\n-   `docs/en`: Project documentation. Separated logically into:\n    - `documentation/`: Documentation and concepts (Section I).\n    - `integrations/`: Reference architectures for DB connectivity and tools (Section II).\n    - `samples/`: Tutorials and code samples (Section III).\n    - `reference/`: CLI info and FAQs (Section IV).\n\n## Development Workflow\n\n### Prerequisites\n\n-   Go 1.23 or later.\n-   Docker (for building container images and running some tests).\n-   Access to necessary Google Cloud resources for integration testing (if applicable).\n\n### Building and Running\n\n1.  **Build Binary:** `go build -o toolbox`\n2.  **Run Server:** `go run .` (Listens on port 5000 by default)\n3.  **Run with Help:** `go run . --help`\n4.  **Test Endpoint:** `curl http://127.0.0.1:5000`\n\n### Testing\n\n-   **Unit Tests:** `go test -race -v ./cmd/... ./internal/...`\n-   **Integration Tests:**\n    -   Run specific source tests: `go test -race -v ./tests/<source_dir>`\n    -   Example: `go test -race -v ./tests/alloydbpg`\n    -   Add new sources to `.ci/integration.cloudbuild.yaml`\n-   **Linting:** `golangci-lint run --fix`\n\n\n## Developing Documentation\n\n### Prerequisites\n\n-   Hugo (Extended Edition v0.146.0+)\n-   Node.js (for `npm ci`)\n\n### Running Local Server\n\n1.  Navigate to `.hugo` directory: `cd .hugo`\n2.  Install dependencies: `npm ci`\n3.  **Generate Search Index:** Because Pagefind requires physical files, `hugo server` alone will not populate the search bar. Build the local index first (using the development environment to block analytics) by running:\n    `hugo --environment development && npx pagefind --site public --output-path static/pagefind`\n4.  Start server: `hugo server`\n\n### Versioning Workflows\n\nDocumentation builds automatically generate standard HTML alongside AI-friendly text files (`llms.txt` and `llms-full.txt`).\n\nThere are 6 workflows in total, handling parallel deployments to both GitHub Pages and Cloudflare Pages. **All deployment workflows automatically execute `npx pagefind --site public` to generate version-scoped search indexes.**\n\n1.  **Deploy In-development docs**: Commits merged to `main` deploy to the `/dev/` path. Automatically defaults to version `Dev`.\n2.  **Deploy Versioned Docs**: New GitHub releases deploy to `/<version>/` and the root path. The release tag is automatically injected into the build as the documentation version. *(Note: Developers must manually add the new version to the `[[params.versions]]` dropdown array in `hugo.toml` prior to merging a release PR).*\n3.  **Deploy Previous Version Docs**: A manual workflow to rebuild older versions by explicitly passing the target tag via the GitHub Actions UI.\n\n## Coding Conventions\n\n### Tool Naming\n\n-   **Tool Name:** `snake_case` (e.g., `list_collections`, `run_query`).\n    -   Do *not* include the product name (e.g., avoid `firestore_list_collections`).\n-   **Tool Type:** `kebab-case` (e.g., `firestore-list-collections`).\n    -   *Must* include the product name.\n\n### Branching and Commits\n\n-   **Branch Naming:** `feat/`, `fix/`, `docs/`, `chore/` (e.g., `feat/add-gemini-md`).\n-   **Commit Messages:** [Conventional Commits](https://www.conventionalcommits.org/) format.\n    -   Format: `<type>(<scope>): <description>`\n    -   Example: `feat(source/postgres): add new connection option`\n    -   Types: `feat`, `fix`, `docs`, `chore`, `test`, `ci`, `refactor`, `revert`, `style`.\n\n ### PR Title Format\n\nFormat: `<type>[optional scope]: <description>`\n\n- **Example:** `feat(source/postgres): add support for \"new-field\" field`\n- **Example (Breaking Change):** `fix(tool/sql)!: change default parameter value`\n\n#### Types\n\n| Type | Description | Version change affected |\n| :--- | :--- | :--- |\n| **BREAKING CHANGE** | Anything with this type or a `!` after the type/scope introduces a breaking API change. E.g. `fix!: description` or `feat!: description`. | major |\n| **feat** | Adding a new feature to the codebase. | minor |\n| **fix** | Fixing a bug or typo in the codebase. | patch |\n| **ci** | Changes made to the continuous integration configuration files or scripts (usually the yml and other configuration files). | n/a |\n| **docs** | Documentations-related PRs, including fixes on docs. | n/a |\n| **chore** | Other small tasks or updates that don't fall into any of the types above. | n/a |\n| **perf** | changed src code, with improvement of performance metrics. | n/a |\n| **refactor** | Change src code but unlike feat, there are no tests broken and no lines lost coverage. | n/a |\n| **revert** | Revert changes made in another commit. | n/a |\n| **style** | updated src code, with only formatting and whitespace updates. In other words, this includes anything a code formatter or linter changes. | n/a |\n| **test** | Changes made to test files. | n/a |\n| **build** | Changes related to build of the projects and dependency. | n/a |\n\n#### Scopes\n\nPRs addressing a specific source or tool should **always** add the source or tool name as scope.\n\nThe scope is formatted as `<type>/<kind>`. Common scopes include:\n- `source/postgres`, `source/cloudsql-mysql`\n- `tool/mssql-sql`, `tool/list-tables`\n- `auth/google`\n\n**Multiple Scopes:**\n- If the PR covers multiple scopes of the same kind, separate them with a comma: `feat(source/postgres,source/alloydbpg): ...`.\n- If the PR covers multiple scope types (e.g., adding a new database source and tool), disregard the scope type prefix: `feat(new-db): adding support for new-db source and tool`.\n\n#### PR Description\n\nEvery PR must include a description that follows the repository's template:\n\n**1. Description**\nA concise description of the changes (bug or feature), its impact, and a summary of the solution.\n\n**2. PR Checklist**\n- [ ] Make sure to open an issue as a bug/issue before writing your code!\n- [ ] Ensure you have manually reviewed the entire diff before requesting a review\n- [ ] Ensure the tests and linter pass\n- [ ] Code coverage does not decrease (if any source code was changed)\n- [ ] Appropriate docs were updated (if necessary)\n- [ ] Make sure to add `!` if this involves a breaking change\n\n**3. Issue Reference**\nUse the format: `Fixes #<issue_number> 🦕`\n\n## Security\n\nBefore proposing or making a change, check it for the vulnerability classes most relevant to this codebase:\n\n-   **SQL/query injection:** Never build a query by concatenating or `fmt.Sprintf`-ing a user-supplied tool parameter into a query string. Bind parameters using the source's parameterized-query API instead.\n-   **Credentials and secrets:** Never log, hardcode, or echo back a credential, API key, connection string, or token. Read secrets from config/environment, not from tool parameters.\n-   **Path/command injection:** Treat any user-supplied string used to build a file path or a shell/subprocess argument as untrusted; validate or reject it rather than passing it through unchecked.\n-   **Auth bypass:** The server enforces each tool's `authRequired`/`scopesRequired` (read via `GetAuthRequired`/`GetScopesRequired`) for every invocation. Do not override these getters or add a code path that skips the checks.\n\nIf a change touches a `source` or `tool` implementation, call out the relevant point(s) above explicitly in the PR description rather than leaving them implicit.\n\n## Adding New Features\n\n### Adding a New Data Source\n\n1.  Create a new directory: `internal/sources/<newdb>`.\n2.  Define `Config` and `Source` structs in `internal/sources/<newdb>/<newdb>.go`.\n3.  Implement `SourceConfig` interface (`SourceConfigType`, `Initialize`).\n4.  Implement `Source` interface (`SourceType`, `ToConfig`).\n5.  Implement `init()` to register the source.\n6.  Add unit tests in `internal/sources/<newdb>/<newdb>_test.go`.\n7.  **Google Cloud Databases:** For every Google Cloud database, ensure a corresponding `product: <database>` label is added to `.github/labels.yaml`, routing is configured in `.github/blunderbuss.yml` (under both `assign_issues_by` and `assign_prs_by`), and the GitHub team is team-synced from an MDB group with write access to the repo.\n\n### Adding a New Tool\n\n1.  Create a new directory: `internal/tools/<newdb>/<toolname>`.\n2.  Define a `Config` struct that **embeds `tools.ConfigBase`** (with `yaml:\",inline\"`). This supplies the shared `name`, `description`, `authRequired`, `scopesRequired`, and `annotations` fields and the applicable getters — add only tool-specific fields and do not redeclare the shared ones.\n3.  Define a `Tool` struct that **embeds `tools.BaseTool[Config]`**. Do *not* re-declare the boilerplate `Tool` methods (`GetName`, `GetDescription`, `Manifest`, `GetParameters`, `RequiresClientAuthorization`, `GetAuthTokenHeaderName`, `EmbedParams`, etc.) — they are inherited from `BaseTool`.\n4.  Implement `ToolConfig` interface (`ToolConfigType`, `Initialize`). In `Initialize`, construct the tool via `tools.NewBaseTool(cfg, annotations, manifest, staticParameters)`.\n5.  Implement only the methods `BaseTool` does not provide: `Invoke` and `ToConfig`. Override an inherited method (e.g. `EmbedParams`, `RequiresClientAuthorization`, `GetAuthTokenHeaderName`) **only** when the tool's behavior differs from the default.\n6.  Implement `init()` to register the tool.\n7.  Add unit tests.\n\nRefer to `internal/tools/postgres/postgressql/postgressql.go` for the canonical pattern.\n\n### Adding Documentation\n\n-   **For a new source:** Add source documentation to `docs/en/integrations/<source_name>/source.md`. Ensure the root `_index.md` file contains **strictly only frontmatter** and no markdown body text.\n-   **For a new native tool:** Add tool documentation to `docs/en/integrations/<source_name>/tools/<tool_name>.md`. Ensure the `tools/_index.md` file contains **strictly only frontmatter**.\n-   **For a new resource:** Add resource documentation to `docs/en/documentation/configuration/resources/<resource_type>.md`.\n-   **Adding Integration Samples:** Add integration-specific samples to `docs/en/integrations/<source_name>/samples/`. Ensure the `samples/_index.md` file contains **strictly only frontmatter**.\n-   **Tool Inheritance (Shared Tools):** Managed databases (e.g., Cloud SQL Postgres) that use the tools of their underlying engine (e.g., Postgres) map their inherited tools by utilizing the `shared_tools` frontmatter parameter inside their `tools/_index.md` file. This file must contain only frontmatter.\n-   **New Top-Level Directories:** If adding a completely new top-level section to the documentation site, you must update the \"Diátaxis Narrative Framework\" section inside both `.hugo/layouts/index.llms.txt` and `.hugo/layouts/index.llms-full.txt` to keep the AI context synced with the site structure.\n\n\n#### Integration Documentation Rules\n\nWhen generating or editing documentation for this repository, you must strictly adhere to the following CI-enforced rules. Failure to do so will break the build.\n\n##### Source Page Constraints (`integrations/**/source.md`)\n\n1.  **File Naming:** The primary connection guide for a source must be named `source.md`. Use `_index.md` solely as an empty structural folder wrapper containing **only YAML frontmatter**.\n2.  **LinkTitle:** The linkTitle has to be set to the string `Source` always.\n3.  **Title Convention:** The YAML frontmatter `title` must always end with \"Source\" (e.g., `title: \"Postgres Source\"`).\n4.  **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.\n5.  **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.\n    *   `## About` (Required)\n    *   `## Available Tools` (Optional)\n    *   `## Requirements` (Optional)\n    *   `## Example` (Required)\n    *   `## Reference` (Required)\n    *   `## Advanced Usage` (Optional)\n    *   `## Troubleshooting` (Optional)\n    *   `## Additional Resources` (Optional)\n6.  **Shortcode Placement:** If you generate the `## Available Tools` section, you must include the `{{< list-tools >}}` shortcode beneath it.\n\n##### Tool Page Constraints (`integrations/**/tools/*.md`)\n\n1.  **Location:** All native tools must reside inside a nested `tools/` subdirectory. The `tools/` directory must contain an `_index.md` file consisting **strictly of frontmatter**.\n2.  **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.\n3.  **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.\n    *   `## About` (Required)\n    *   `## Compatible Sources` (Optional)\n    *   `## Requirements` (Optional)\n    *   `## Parameters` (Optional)\n    *   `## Example` (Required)\n    *   `## Output Format` (Optional)\n    *   `## Reference` (Optional)\n    *   `## Advanced Usage` (Optional)\n    *   `## Troubleshooting` (Optional)\n    *   `## Additional Resources` (Optional)\n4.  **Shortcode Placement:** If you generate the `## Compatible Sources` section, you must include the `{{< compatible-sources >}}` shortcode beneath it.\n5.  **Title Convention:** The YAML frontmatter `title` must always be exactly the kebab-case name of the tool (e.g., `title: \"arcadedb-execute-sql\"`). Do **NOT** append the word \"Tool\" to the title (unlike source pages, which end with \"Source\").\n\n##### Samples Architecture Constraints\nSample code is aggregated visually in the UI via the Samples section, but the physical markdown files are distributed logically based on their scope.\n1.  **Quickstarts:** `docs/en/documentation/getting-started/`\n2.  **Integration-Specific Samples:** `docs/en/integrations/<source_name>/samples/`. (The `samples/_index.md` wrapper must contain **strictly only frontmatter**).\n3.  **General/Cross-Category Samples:** `docs/en/samples/`\n\n##### Samples Maintenance Rules\n\n1. **Filtering (`sample_filters`):** Always include `sample_filters` in the frontmatter. You MUST use strict enums for filtering.\n   * **Source of Truth:** Always refer to `.hugo/data/filters.yaml` for the permitted list of Data Sources, Languages, Frameworks, and Categories.\n   * **Adding New Filters:** If your sample requires the addition of a new filter, add it to `.hugo/data/filters.yaml` using **Title Case** (capitalize the first letter of every word, with words separated by spaces). Do not use snake_case or lowercase.\n2. **Metadata:** Ensure `is_sample: true` is present to prevent the sample from being excluded from the Samples Gallery.\n\n##### Prebuilt Config Constraints (`integrations/**/prebuilt-configs/*.md`)\n\n1. **Naming & Path:** All prebuilt config docs must reside in `prebuilt-configs/`.\n2. **Shortcode Requirement:** The main `documentation/configuration/prebuilt-configs/_index.md` page uses the `{{< list-prebuilt-configs >}}` shortcode, which only detects directories named exactly `prebuilt-configs`.\n3. **YAML Mapping:** Always verify the `kind` of the data source in `internal/prebuiltconfigs/tools/` before choosing the integration folder.\n\n\n##### Asset Constraints (`docs/`)\n\n1.  **File Size Limits:** Never add files larger than 24MB to the `docs/` directory.\n","internal/prebuiltconfigs/tools/alloydb-postgres-admin.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-admin-source\ntype: alloydb-admin\ndefaultProject: ${ALLOYDB_POSTGRES_PROJECT:}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: tool\nname: create_cluster\ntype: alloydb-create-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: wait_for_operation\ntype: alloydb-wait-for-operation\nsource: alloydb-admin-source\ndelay: 1s\nmaxDelay: 4m\nmultiplier: 2\nmaxRetries: 10\n---\nkind: tool\nname: create_instance\ntype: alloydb-create-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_clusters\ntype: alloydb-list-clusters\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_instances\ntype: alloydb-list-instances\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_users\ntype: alloydb-list-users\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_user\ntype: alloydb-create-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_cluster\ntype: alloydb-get-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_instance\ntype: alloydb-get-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_user\ntype: alloydb-get-user\nsource: alloydb-admin-source\n---\nkind: toolset\nname: alloydb_postgres_admin_tools\ntools:\n- create_cluster\n- wait_for_operation\n- create_instance\n- list_clusters\n- list_instances\n- list_users\n- create_user\n- get_cluster\n- get_instance\n- get_user\n","internal/prebuiltconfigs/tools/alloydb-omni.yaml":"# Copyright 2026 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-omni-source\ntype: postgres\nhost: ${ALLOYDB_OMNI_HOST:localhost}\nport: ${ALLOYDB_OMNI_PORT:5432}\ndatabase: ${ALLOYDB_OMNI_DATABASE}\nuser: ${ALLOYDB_OMNI_USER}\npassword: ${ALLOYDB_OMNI_PASSWORD}\nqueryParams: ${ALLOYDB_OMNI_QUERY_PARAMS:}\n---\nkind: tool\nname: execute_sql\ntype: postgres-execute-sql\nsource: alloydb-omni-source\ndescription: Use this tool to execute a single SQL statement.\n---\nkind: tool\nname: list_tables\ntype: postgres-list-tables\nsource: alloydb-omni-source\ndescription: Lists detailed schema information (object type, columns, constraints, indexes, triggers, owner, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas.\n---\nkind: tool\nname: list_active_queries\ntype: postgres-list-active-queries\nsource: alloydb-omni-source\ndescription: List the top N (default 50) currently running queries (state='active') from pg_stat_activity, ordered by longest-running first. Returns pid, user, database, application_name, client_addr, state, wait_event_type/wait_event, backend/xact/query start times, computed query_duration, and the SQL text.\n---\nkind: tool\nname: list_available_extensions\ntype: postgres-list-available-extensions\nsource: alloydb-omni-source\ndescription: Discover all PostgreSQL extensions available for installation on this server, returning name, default_version, and description.\n---\nkind: tool\nname: list_installed_extensions\ntype: postgres-list-installed-extensions\nsource: alloydb-omni-source\ndescription: List all installed PostgreSQL extensions with their name, version, schema, owner, and description.\n---\nkind: tool\nname: long_running_transactions\ntype: postgres-long-running-transactions\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_locks\ntype: postgres-list-locks\nsource: alloydb-omni-source\n---\nkind: tool\nname: replication_stats\ntype: postgres-replication-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_autovacuum_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  category = 'Autovacuum';\n---\nkind: tool\nname: list_columnar_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List AlloyDB Omni columnar-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  name like 'google_columnar_engine.%';\n---\nkind: tool\nname: list_columnar_recommended_columns\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Lists columns that AlloyDB Omni recommends adding to the columnar engine to improve query performance.\nstatement: select * from g_columnar_recommended_columns;\n---\nkind: tool\nname: list_memory_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List PostgreSQL memory-related configurations (name and current setting) from pg_settings.\nstatement: |\n  (\n      SELECT\n      name,\n      pg_size_pretty((setting::bigint * 1024)::bigint) setting\n      FROM pg_settings\n      WHERE name IN ('work_mem', 'maintenance_work_mem')\n  )\n  UNION ALL\n  (\n      SELECT\n      name,\n      pg_size_pretty((((setting::bigint) * 8) * 1024)::bigint)\n      FROM pg_settings\n      WHERE name IN ('shared_buffers', 'wal_buffers', 'effective_cache_size', 'temp_buffers')\n  )\n  ORDER BY 1 DESC;\n---\nkind: tool\nname: list_top_bloated_tables\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: |\n  List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.\nstatement: |\n  SELECT\n      schemaname AS schema_name,\n      relname AS relation_name,\n      n_live_tup AS live_tuples,\n      n_dead_tup AS dead_tuples,\n      TRUNC((n_dead_tup::NUMERIC / NULLIF(n_live_tup + n_dead_tup, 0)) * 100, 2) AS dead_tuple_percentage,\n      last_vacuum,\n      last_autovacuum,\n      last_analyze,\n      last_autoanalyze\n  FROM pg_stat_user_tables\n  ORDER BY n_dead_tup DESC\n  LIMIT COALESCE($1::int, 50);\nparameters:\n- name: limit\n  description: The maximum number of results to return.\n  type: integer\n  default: 50\n---\nkind: tool\nname: list_replication_slots\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List key details for all PostgreSQL replication slots (e.g., type, database, active status) and calculates the size of the outstanding WAL that is being prevented from removal by the slot.\nstatement: |\n  SELECT\n  slot_name,\n  slot_type,\n  plugin,\n  database,\n  temporary,\n  active,\n  restart_lsn,\n  confirmed_flush_lsn,\n  xmin,\n  catalog_xmin,\n  pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal\n  FROM pg_replication_slots;\n---\nkind: tool\nname: list_invalid_indexes\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Lists all invalid PostgreSQL indexes which are taking up disk space but are unusable by the query planner. Typically created by failed CREATE INDEX CONCURRENTLY operations.\nstatement: |\n  SELECT\n      nspname AS schema_name,\n      indexrelid::regclass AS index_name,\n      indrelid::regclass AS table_name,\n      pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size,\n      indisready,\n      indisvalid,\n      pg_get_indexdef(pg_class.oid) AS index_def\n  FROM pg_index\n  JOIN pg_class ON pg_class.oid = pg_index.indexrelid\n  JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace\n  WHERE indisvalid = FALSE;\n---\nkind: tool\nname: get_query_plan\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Generate a PostgreSQL EXPLAIN plan in JSON format for a single SQL statement—without executing it. This returns the optimizer's estimated plan, costs, and rows (no ANALYZE, no extra options).\nstatement: |\n  EXPLAIN (FORMAT JSON) {{.query}};\ntemplateParameters:\n- name: query\n  type: string\n  description: The SQL statement for which you want to generate plan (omit the EXPLAIN keyword).\n  required: true\n---\nkind: tool\nname: list_views\ntype: postgres-list-views\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_schemas\ntype: postgres-list-schemas\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_indexes\ntype: postgres-list-indexes\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_sequences\ntype: postgres-list-sequences\nsource: alloydb-omni-source\n---\nkind: tool\nname: database_overview\ntype: postgres-database-overview\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_triggers\ntype: postgres-list-triggers\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_query_stats\ntype: postgres-list-query-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: get_column_cardinality\ntype: postgres-get-column-cardinality\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_table_stats\ntype: postgres-list-table-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_publication_tables\ntype: postgres-list-publication-tables\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_tablespaces\ntype: postgres-list-tablespaces\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_pg_settings\ntype: postgres-list-pg-settings\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_database_stats\ntype: postgres-list-database-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_roles\ntype: postgres-list-roles\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_stored_procedure\ntype: postgres-list-stored-procedure\nsource: alloydb-omni-source\n---\nkind: group\nname: data\ndescription: Use these skills when you need to explore the database structure, identify schema objects like views and triggers, and execute SQL queries to interact with your data.\ntools:\n- execute_sql\n- list_tables\n- list_views\n- list_schemas\n- list_triggers\n- list_indexes\n- list_sequences\n- list_stored_procedure\n---\nkind: group\nname: performance\ndescription: Use these skills when you need to analyze query performance, generate execution plans, check table/column statistics, and monitor overall database activity.\ntools:\n- execute_sql\n- get_query_plan\n- list_query_stats\n- get_column_cardinality\n- list_table_stats\n- list_database_stats\n- list_active_queries\n---\nkind: group\nname: monitor\ndescription: Use these skills when you need to troubleshoot production issues by identifying locks, tracking long-running transactions, and getting a high-level view of server state.\ntools:\n- database_overview\n- list_active_queries\n- long_running_transactions\n- list_locks\n- list_database_stats\n- list_pg_settings\n---\nkind: group\nname: optimize\ndescription: Use these skills when you need to fine-tune the database engine settings, manage extensions, or optimize the columnar engine for better analytical performance.\ntools:\n- list_pg_settings\n- list_memory_configurations\n- list_available_extensions\n- list_installed_extensions\n- list_autovacuum_configurations\n- list_columnar_configurations\n- list_columnar_recommended_columns\n---\nkind: group\nname: health\ndescription: Use these skills when you need to audit database health, identify storage bloat, find broken indexes, and verify tablespace or maintenance configurations.\ntools:\n- list_top_bloated_tables\n- list_invalid_indexes\n- list_table_stats\n- list_tablespaces\n- database_overview\n- list_autovacuum_configurations\n---\nkind: group\nname: replication\ndescription: Use these skills when you need to monitor the health of database replication, manage sync states between nodes, and audit publication tables for distributed setups.\ntools:\n- replication_stats\n- list_replication_slots\n- list_publication_tables\n- database_overview\n---\nkind: group\nname: access-control\ndescription: Use these skills when you need to manage user roles, inspect permissions, and verify security-related configuration parameters.\ntools:\n- list_roles\n- list_pg_settings\n- database_overview\n","internal/prebuiltconfigs/tools/alloydb-postgres.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-pg-source\ntype: alloydb-postgres\nproject: ${ALLOYDB_POSTGRES_PROJECT}\nregion: ${ALLOYDB_POSTGRES_REGION}\ncluster: ${ALLOYDB_POSTGRES_CLUSTER}\ninstance: ${ALLOYDB_POSTGRES_INSTANCE}\ndatabase: ${ALLOYDB_POSTGRES_DATABASE}\nuser: ${ALLOYDB_POSTGRES_USER:}\npassword: ${ALLOYDB_POSTGRES_PASSWORD:}\nipType: ${ALLOYDB_POSTGRES_IP_TYPE:public}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: source\nname: cloud-monitoring-source\ntype: cloud-monitoring\n---\nkind: source\nname: alloydb-admin-source\ntype: alloydb-admin\ndefaultProject: ${ALLOYDB_POSTGRES_PROJECT:}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: tool\nname: execute_sql\ntype: postgres-execute-sql\nsource: alloydb-pg-source\ndescription: Use this tool to execute a single SQL statement.\n---\nkind: tool\nname: list_tables\ntype: postgres-list-tables\nsource: alloydb-pg-source\ndescription: Lists detailed schema information (object type, columns, constraints, indexes, triggers, owner, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas.\n---\nkind: tool\nname: list_active_queries\ntype: postgres-list-active-queries\nsource: alloydb-pg-source\ndescription: List the top N (default 50) currently running queries (state='active') from pg_stat_activity, ordered by longest-running first. Returns pid, user, database, application_name, client_addr, state, wait_event_type/wait_event, backend/xact/query start times, computed query_duration, and the SQL text.\n---\nkind: tool\nname: list_available_extensions\ntype: postgres-list-available-extensions\nsource: alloydb-pg-source\ndescription: Discover all PostgreSQL extensions available for installation on this server, returning name, default_version, and description.\n---\nkind: tool\nname: list_installed_extensions\ntype: postgres-list-installed-extensions\nsource: alloydb-pg-source\ndescription: List all installed PostgreSQL extensions with their name, version, schema, owner, and description.\n---\nkind: tool\nname: long_running_transactions\ntype: postgres-long-running-transactions\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_locks\ntype: postgres-list-locks\nsource: alloydb-pg-source\n---\nkind: tool\nname: replication_stats\ntype: postgres-replication-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_autovacuum_configurations\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  category = 'Autovacuum';\n---\nkind: tool\nname: list_memory_configurations\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List PostgreSQL memory-related configurations (name and current setting) from pg_settings.\nstatement: |\n  (\n      SELECT\n      name,\n      pg_size_pretty((setting::bigint * 1024)::bigint) setting\n      FROM pg_settings\n      WHERE name IN ('work_mem', 'maintenance_work_mem')\n  )\n  UNION ALL\n  (\n      SELECT\n      name,\n      pg_size_pretty((((setting::bigint) * 8) * 1024)::bigint)\n      FROM pg_settings\n      WHERE name IN ('shared_buffers', 'wal_buffers', 'effective_cache_size', 'temp_buffers')\n  )\n  ORDER BY 1 DESC;\n---\nkind: tool\nname: list_top_bloated_tables\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: |\n  List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.\nstatement: |\n  SELECT\n      schemaname AS schema_name,\n      relname AS relation_name,\n      n_live_tup AS live_tuples,\n      n_dead_tup AS dead_tuples,\n      TRUNC((n_dead_tup::NUMERIC / NULLIF(n_live_tup + n_dead_tup, 0)) * 100, 2) AS dead_tuple_percentage,\n      last_vacuum,\n      last_autovacuum,\n      last_analyze,\n      last_autoanalyze\n  FROM pg_stat_user_tables\n  ORDER BY n_dead_tup DESC\n  LIMIT COALESCE($1::int, 50);\nparameters:\n- name: limit\n  description: The maximum number of results to return.\n  type: integer\n  default: 50\n---\nkind: tool\nname: list_replication_slots\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List key details for all PostgreSQL replication slots (e.g., type, database, active status) and calculates the size of the outstanding WAL that is being prevented from removal by the slot.\nstatement: |\n  SELECT\n  slot_name,\n  slot_type,\n  plugin,\n  database,\n  temporary,\n  active,\n  restart_lsn,\n  confirmed_flush_lsn,\n  xmin,\n  catalog_xmin,\n  pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal\n  FROM pg_replication_slots;\n---\nkind: tool\nname: list_invalid_indexes\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: Lists all invalid PostgreSQL indexes which are taking up disk space but are unusable by the query planner. Typically created by failed CREATE INDEX CONCURRENTLY operations.\nstatement: |\n  SELECT\n      nspname AS schema_name,\n      indexrelid::regclass AS index_name,\n      indrelid::regclass AS table_name,\n      pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size,\n      indisready,\n      indisvalid,\n      pg_get_indexdef(pg_class.oid) AS index_def\n  FROM pg_index\n  JOIN pg_class ON pg_class.oid = pg_index.indexrelid\n  JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace\n  WHERE indisvalid = FALSE;\n---\nkind: tool\nname: get_query_plan\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: Generate a PostgreSQL EXPLAIN plan in JSON format for a single SQL statement—without executing it. This returns the optimizer's estimated plan, costs, and rows (no ANALYZE, no extra options). Use in production safely for plan inspection, regression checks, and query tuning workflows.\nstatement: |\n  EXPLAIN (FORMAT JSON) {{.query}};\ntemplateParameters:\n- name: query\n  type: string\n  description: The SQL statement for which you want to generate plan (omit the EXPLAIN keyword).\n  required: true\n---\nkind: tool\nname: list_views\ntype: postgres-list-views\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_schemas\ntype: postgres-list-schemas\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_indexes\ntype: postgres-list-indexes\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_sequences\ntype: postgres-list-sequences\nsource: alloydb-pg-source\n---\nkind: tool\nname: database_overview\ntype: postgres-database-overview\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_triggers\ntype: postgres-list-triggers\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_query_stats\ntype: postgres-list-query-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: get_column_cardinality\ntype: postgres-get-column-cardinality\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_table_stats\ntype: postgres-list-table-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_publication_tables\ntype: postgres-list-publication-tables\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_tablespaces\ntype: postgres-list-tablespaces\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_pg_settings\ntype: postgres-list-pg-settings\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_database_stats\ntype: postgres-list-database-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_roles\ntype: postgres-list-roles\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_stored_procedure\ntype: postgres-list-stored-procedure\nsource: alloydb-pg-source\n---\nkind: tool\nname: get_system_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches system level cloudmonitoring data (timeseries metrics) for an AlloyDB cluster, instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB system metrics using the provided metrics and rules. Get labels like `cluster_id` and `instance_id` from the user's intent.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels\n  1. `alloydb.googleapis.com/instance/cpu/average_utilization`: The percentage of CPU being used on an instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  2. `alloydb.googleapis.com/instance/cpu/maximum_utilization`: Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  3. `alloydb.googleapis.com/cluster/storage/usage`: The total AlloyDB storage in bytes across the entire cluster. `alloydb.googleapis.com/Cluster`. `cluster_id`.\n  4. `alloydb.googleapis.com/instance/postgres/replication/replicas`: The number of read replicas connected to the primary instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`, `replica_instance_id`.\n  5. `alloydb.googleapis.com/instance/postgres/replication/maximum_lag`: The maximum replication time lag calculated across all serving read replicas of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `replica_instance_id`.\n  6. `alloydb.googleapis.com/instance/memory/min_available_memory`: The minimum available memory across all currently serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  7. `alloydb.googleapis.com/instance/postgres/instances`: The number of nodes in the instance, along with their status, which can be either up or down. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `status`.\n  8. `alloydb.googleapis.com/database/postgresql/tuples`: Number of tuples (rows) by state per database in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `state`.\n  9. `alloydb.googleapis.com/database/postgresql/temp_bytes_written_for_top_databases`: The total amount of data(in bytes) written to temporary files by the queries per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  10. `alloydb.googleapis.com/database/postgresql/temp_files_written_for_top_databases`: The number of temporary files used for writing data per database while performing internal algorithms like join, sort etc for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  11. `alloydb.googleapis.com/database/postgresql/inserted_tuples_count_for_top_databases`: The total number of rows inserted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  12. `alloydb.googleapis.com/database/postgresql/updated_tuples_count_for_top_databases`: The total number of rows updated per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  13. `alloydb.googleapis.com/database/postgresql/deleted_tuples_count_for_top_databases`: The total  number of rows deleted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  14. `alloydb.googleapis.com/database/postgresql/backends_for_top_databases`: The current number of connections per database to the instance for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  15. `alloydb.googleapis.com/instance/postgresql/backends_by_state`: The current number of connections to the instance grouped by the state like idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, and fastpath_function_call. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`.\n  16. `alloydb.googleapis.com/instance/postgresql/backends_for_top_applications`: The current number of connections to the AlloyDB instance, grouped by applications for top 500 applications. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `application_name`.\n  17. `alloydb.googleapis.com/database/postgresql/new_connections_for_top_databases`: Total number of new connections added per database for top 500 databases to the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  18. `alloydb.googleapis.com/database/postgresql/deadlock_count_for_top_databases`: Total number of deadlocks detected in the instance per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  19. `alloydb.googleapis.com/database/postgresql/statements_executed_count`: Total count of statements executed in the instance per database per operation_type. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `operation_type`.\n  20. `alloydb.googleapis.com/instance/postgresql/returned_tuples_count`: Number of rows scanned while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  21. `alloydb.googleapis.com/instance/postgresql/fetched_tuples_count`: Number of rows fetched while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  22. `alloydb.googleapis.com/instance/postgresql/updated_tuples_count`: Number of rows updated while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  23. `alloydb.googleapis.com/instance/postgresql/inserted_tuples_count`: Number of rows inserted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  24. `alloydb.googleapis.com/instance/postgresql/deleted_tuples_count`: Number of rows deleted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  25. `alloydb.googleapis.com/instance/postgresql/written_tuples_count`: Number of rows written while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  26. `alloydb.googleapis.com/instance/postgresql/deadlock_count`: Number of deadlocks detected in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  27. `alloydb.googleapis.com/instance/postgresql/blks_read`: Number of blocks read by Postgres that were not in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  28. `alloydb.googleapis.com/instance/postgresql/blks_hit`: Number of times Postgres found the requested block in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  29. `alloydb.googleapis.com/instance/postgresql/temp_bytes_written_count`: The total amount of data(in bytes) written to temporary files by the queries while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  30. `alloydb.googleapis.com/instance/postgresql/temp_files_written_count`: The number of temporary files used for writing data in the instance while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  31. `alloydb.googleapis.com/instance/postgresql/new_connections_count`: The number new connections added to the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  32. `alloydb.googleapis.com/instance/postgresql/wait_count`: Total number of times processes waited for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  33. `alloydb.googleapis.com/instance/postgresql/wait_time`: Total elapsed wait time for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  34. `alloydb.googleapis.com/instance/postgres/transaction_count`: The number of committed and rolled back transactions across all serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n---\nkind: tool\nname: list_clusters\ntype: alloydb-list-clusters\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_cluster\ntype: alloydb-create-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_users\ntype: alloydb-list-users\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_user\ntype: alloydb-create-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_user\ntype: alloydb-get-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: wait_for_operation\ntype: alloydb-wait-for-operation\nsource: alloydb-admin-source\ndelay: 1s\nmaxDelay: 4m\nmultiplier: 2\nmaxRetries: 10\n---\nkind: tool\nname: get_query_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches query level cloudmonitoring data (timeseries metrics) for queries running in an AlloyDB instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB query metrics using the provided metrics and rules. Get labels like `cluster_id`, `instance_id`, and `query_hash` from the user's intent. If `query_hash` is provided, use the per-query metrics.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels. aggregate is the aggregated values for all query stats, Use aggregate metrics if query id is not provided. For perquery metrics do not fetch querystring unless specified by user specifically. Have the aggregation on query hash to avoid fetching the querystring. Do not use latency metrics for anything.\n  1. `alloydb.googleapis.com/database/postgresql/insights/aggregate/latencies`: Aggregated query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  2. `alloydb.googleapis.com/database/postgresql/insights/aggregate/execution_time`: Accumulated aggregated query execution time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  3. `alloydb.googleapis.com/database/postgresql/insights/aggregate/io_time`: Accumulated aggregated IO time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`.\n  4. `alloydb.googleapis.com/database/postgresql/insights/aggregate/lock_time`: Accumulated aggregated lock wait time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`.\n  5. `alloydb.googleapis.com/database/postgresql/insights/aggregate/row_count`: Aggregated number of retrieved or affected rows since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  6. `alloydb.googleapis.com/database/postgresql/insights/aggregate/shared_blk_access_count`: Aggregated shared blocks accessed by statement execution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`.\n  7. `alloydb.googleapis.com/database/postgresql/insights/perquery/latencies`: Per query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  8. `alloydb.googleapis.com/database/postgresql/insights/perquery/execution_time`: Accumulated execution times per user per database per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  9. `alloydb.googleapis.com/database/postgresql/insights/perquery/io_time`: Accumulated IO time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`, `querystring`, `query_hash`.\n  10. `alloydb.googleapis.com/database/postgresql/insights/perquery/lock_time`: Accumulated lock wait time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`, `querystring`, `query_hash`.\n  11. `alloydb.googleapis.com/database/postgresql/insights/perquery/row_count`: The number of retrieved or affected rows since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  12. `alloydb.googleapis.com/database/postgresql/insights/perquery/shared_blk_access_count`: Shared blocks accessed by statement execution per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`, `querystring`, `query_hash`.\n  13. `alloydb.googleapis.com/database/postgresql/insights/pertag/latencies`: Query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  14. `alloydb.googleapis.com/database/postgresql/insights/pertag/execution_time`: Accumulated execution times since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  15. `alloydb.googleapis.com/database/postgresql/insights/pertag/io_time`: Accumulated IO time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `io_type`, `tag_hash`.\n  16. `alloydb.googleapis.com/database/postgresql/insights/pertag/lock_time`: Accumulated lock wait time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `lock_type`, `tag_hash`.\n  17. `alloydb.googleapis.com/database/postgresql/insights/pertag/shared_blk_access_count`: Shared blocks accessed by statement execution per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `access_type`, `tag_hash`.\n  18. `alloydb.googleapis.com/database/postgresql/insights/pertag/row_count`: The number of retrieved or affected rows since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n---\nkind: tool\nname: get_instance\ntype: alloydb-get-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_cluster\ntype: alloydb-get-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_instance\ntype: alloydb-create-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_instances\ntype: alloydb-list-instances\nsource: alloydb-admin-source\n---\nkind: group\nname: admin\ndescription: Use these skills when you need to provision new AlloyDB clusters and instances, monitor their creation status, and retrieve high-level configuration or health data for the environment.\ntools:\n- create_cluster\n- get_cluster\n- list_clusters\n- create_instance\n- get_instance\n- list_instances\n- database_overview\n- wait_for_operation\n---\nkind: group\nname: access-management\ndescription: Use these skills when you need to manage database users, inspect permissions and roles, and verify global configuration parameters related to security and access control.\ntools:\n- create_user\n- list_users\n- get_user\n- list_roles\n- list_pg_settings\n- database_overview\n---\nkind: group\nname: data\ndescription: Use these skills when you need to explore the database schema, identify objects like views and triggers, and execute custom SQL queries to interact with your data.\ntools:\n- execute_sql\n- list_tables\n- list_views\n- list_schemas\n- list_triggers\n- list_indexes\n- list_sequences\n- list_stored_procedure\n---\nkind: group\nname: monitor\ndescription: Use these skills when you need to troubleshoot slow performance, analyze query execution plans, identify resource-heavy processes, and monitor system-level PromQL metrics.\ntools:\n- list_active_queries\n- list_query_stats\n- get_query_plan\n- get_query_metrics\n- get_system_metrics\n- long_running_transactions\n- list_locks\n- list_database_stats\n---\nkind: group\nname: health\ndescription: Use these skills when you need to optimize storage, identify index issues, analyze table statistics, or manage autovacuum and tablespace configurations to maintain peak database health.\ntools:\n- list_top_bloated_tables\n- list_invalid_indexes\n- list_table_stats\n- get_column_cardinality\n- list_autovacuum_configurations\n- list_tablespaces\n- database_overview\n- get_instance\n---\nkind: group\nname: optimize\ndescription: Use these skills when you need to discover and manage PostgreSQL extensions or fine-tune engine-level settings such as memory allocation and server configuration parameters.\ntools:\n- list_available_extensions\n- list_installed_extensions\n- list_memory_configurations\n- list_pg_settings\n- database_overview\n- get_cluster\n---\nkind: group\nname: replication\ndescription: Use these skills when you need to monitor replication health, manage sync states between nodes, and ensure the high availability and data distribution of your AlloyDB cluster.\ntools:\n- replication_stats\n- list_replication_slots\n- list_publication_tables\n- list_instances\n- get_instance\n- database_overview\n","internal/prebuiltconfigs/tools/alloydb-postgres-observability.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nkind: source\nname: cloud-monitoring-source\ntype: cloud-monitoring\n---\nkind: tool\nname: get_system_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches system level cloudmonitoring data (timeseries metrics) for an AlloyDB cluster, instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB system metrics using the provided metrics and rules. Get labels like `cluster_id` and `instance_id` from the user's intent.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels\n  1. `alloydb.googleapis.com/instance/cpu/average_utilization`: The percentage of CPU being used on an instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  2. `alloydb.googleapis.com/instance/cpu/maximum_utilization`: Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  3. `alloydb.googleapis.com/cluster/storage/usage`: The total AlloyDB storage in bytes across the entire cluster. `alloydb.googleapis.com/Cluster`. `cluster_id`.\n  4. `alloydb.googleapis.com/instance/postgres/replication/replicas`: The number of read replicas connected to the primary instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`, `replica_instance_id`.\n  5. `alloydb.googleapis.com/instance/postgres/replication/maximum_lag`: The maximum replication time lag calculated across all serving read replicas of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `replica_instance_id`.\n  6. `alloydb.googleapis.com/instance/memory/min_available_memory`: The minimum available memory across all currently serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  7. `alloydb.googleapis.com/instance/postgres/instances`: The number of nodes in the instance, along with their status, which can be either up or down. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `status`.\n  8. `alloydb.googleapis.com/database/postgresql/tuples`: Number of tuples (rows) by state per database in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `state`.\n  9. `alloydb.googleapis.com/database/postgresql/temp_bytes_written_for_top_databases`: The total amount of data(in bytes) written to temporary files by the queries per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  10. `alloydb.googleapis.com/database/postgresql/temp_files_written_for_top_databases`: The number of temporary files used for writing data per database while performing internal algorithms like join, sort etc for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  11. `alloydb.googleapis.com/database/postgresql/inserted_tuples_count_for_top_databases`: The total number of rows inserted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  12. `alloydb.googleapis.com/database/postgresql/updated_tuples_count_for_top_databases`: The total number of rows updated per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  13. `alloydb.googleapis.com/database/postgresql/deleted_tuples_count_for_top_databases`: The total  number of rows deleted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  14. `alloydb.googleapis.com/database/postgresql/backends_for_top_databases`: The current number of connections per database to the instance for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  15. `alloydb.googleapis.com/instance/postgresql/backends_by_state`: The current number of connections to the instance grouped by the state like idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, and fastpath_function_call. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`.\n  16. `alloydb.googleapis.com/instance/postgresql/backends_for_top_applications`: The current number of connections to the AlloyDB instance, grouped by applications for top 500 applications. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `application_name`.\n  17. `alloydb.googleapis.com/database/postgresql/new_connections_for_top_databases`: Total number of new connections added per database for top 500 databases to the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  18. `alloydb.googleapis.com/database/postgresql/deadlock_count_for_top_databases`: Total number of deadlocks detected in the instance per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  19. `alloydb.googleapis.com/database/postgresql/statements_executed_count`: Total count of statements executed in the instance per database per operation_type. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `operation_type`.\n  20. `alloydb.googleapis.com/instance/postgresql/returned_tuples_count`: Number of rows scanned while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  21. `alloydb.googleapis.com/instance/postgresql/fetched_tuples_count`: Number of rows fetched while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  22. `alloydb.googleapis.com/instance/postgresql/updated_tuples_count`: Number of rows updated while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  23. `alloydb.googleapis.com/instance/postgresql/inserted_tuples_count`: Number of rows inserted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  24. `alloydb.googleapis.com/instance/postgresql/deleted_tuples_count`: Number of rows deleted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  25. `alloydb.googleapis.com/instance/postgresql/written_tuples_count`: Number of rows written while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  26. `alloydb.googleapis.com/instance/postgresql/deadlock_count`: Number of deadlocks detected in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  27. `alloydb.googleapis.com/instance/postgresql/blks_read`: Number of blocks read by Postgres that were not in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  28. `alloydb.googleapis.com/instance/postgresql/blks_hit`: Number of times Postgres found the requested block in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  29. `alloydb.googleapis.com/instance/postgresql/temp_bytes_written_count`: The total amount of data(in bytes) written to temporary files by the queries while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  30. `alloydb.googleapis.com/instance/postgresql/temp_files_written_count`: The number of temporary files used for writing data in the instance while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  31. `alloydb.googleapis.com/instance/postgresql/new_connections_count`: The number new connections added to the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  32. `alloydb.googleapis.com/instance/postgresql/wait_count`: Total number of times processes waited for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  33. `alloydb.googleapis.com/instance/postgresql/wait_time`: Total elapsed wait time for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  34. `alloydb.googleapis.com/instance/postgres/transaction_count`: The number of committed and rolled back transactions across all serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n---\nkind: tool\nname: get_query_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches query level cloudmonitoring data (timeseries metrics) for queries running in an AlloyDB instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB query metrics using the provided metrics and rules. Get labels like `cluster_id`, `instance_id`, and `query_hash` from the user's intent. If `query_hash` is provided, use the per-query metrics.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels. aggregate is the aggregated values for all query stats, Use aggregate metrics if query id is not provided. For perquery metrics do not fetch querystring unless specified by user specifically. Have the aggregation on query hash to avoid fetching the querystring. Do not use latency metrics for anything.\n  1. `alloydb.googleapis.com/database/postgresql/insights/aggregate/latencies`: Aggregated query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  2. `alloydb.googleapis.com/database/postgresql/insights/aggregate/execution_time`: Accumulated aggregated query execution time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  3. `alloydb.googleapis.com/database/postgresql/insights/aggregate/io_time`: Accumulated aggregated IO time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`.\n  4. `alloydb.googleapis.com/database/postgresql/insights/aggregate/lock_time`: Accumulated aggregated lock wait time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`.\n  5. `alloydb.googleapis.com/database/postgresql/insights/aggregate/row_count`: Aggregated number of retrieved or affected rows since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  6. `alloydb.googleapis.com/database/postgresql/insights/aggregate/shared_blk_access_count`: Aggregated shared blocks accessed by statement execution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`.\n  7. `alloydb.googleapis.com/database/postgresql/insights/perquery/latencies`: Per query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  8. `alloydb.googleapis.com/database/postgresql/insights/perquery/execution_time`: Accumulated execution times per user per database per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  9. `alloydb.googleapis.com/database/postgresql/insights/perquery/io_time`: Accumulated IO time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`, `querystring`, `query_hash`.\n  10. `alloydb.googleapis.com/database/postgresql/insights/perquery/lock_time`: Accumulated lock wait time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`, `querystring`, `query_hash`.\n  11. `alloydb.googleapis.com/database/postgresql/insights/perquery/row_count`: The number of retrieved or affected rows since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  12. `alloydb.googleapis.com/database/postgresql/insights/perquery/shared_blk_access_count`: Shared blocks accessed by statement execution per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`, `querystring`, `query_hash`.\n  13. `alloydb.googleapis.com/database/postgresql/insights/pertag/latencies`: Query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  14. `alloydb.googleapis.com/database/postgresql/insights/pertag/execution_time`: Accumulated execution times since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  15. `alloydb.googleapis.com/database/postgresql/insights/pertag/io_time`: Accumulated IO time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `io_type`, `tag_hash`.\n  16. `alloydb.googleapis.com/database/postgresql/insights/pertag/lock_time`: Accumulated lock wait time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `lock_type`, `tag_hash`.\n  17. `alloydb.googleapis.com/database/postgresql/insights/pertag/shared_blk_access_count`: Shared blocks accessed by statement execution per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `access_type`, `tag_hash`.\n  18. `alloydb.googleapis.com/database/postgresql/insights/pertag/row_count`: The number of retrieved or affected rows since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n---\nkind: toolset\nname: alloydb_postgres_cloud_monitoring_tools\ntools:\n- get_system_metrics\n- get_query_metrics\n---\nkind: source\nname: database-insights-source\ntype: databaseinsights\n---\nkind: tool\nname: get_advanced_aggregated_query_stats\ntype: databaseinsights-get-advanced-aggregated-query-stats\nsource: database-insights-source\ndescription: |\n  Fetches aggregated query execution statistics for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, as well as pagination. Returns statistics including query ID, database name, total execution time (sum(execution_time)), average execution time (avg(execution_time)), total execution count (sum(count)), total wait time (sum(wait_time)), and normalized query text. Requires advanced query insights to be enabled.\n  **IMPORTANT:**\n    Use these parameters to narrow down the results as requested by the user.\n    - If the user asks for a specific number of results (e.g., \"Top 10\", \"First 5\", \"List 50\"), map that number directly to page_size.\n    - If they ask for a specific user or database, use the corresponding arguments.\n    - When fetching results for a time range (e.g., \"last 24 hours\"), you MUST calculate and provide EXPLICIT 'start_time' AND 'end_time' in RFC3339 format. This pins the data window so that 'page_token' remains valid for subsequent requests. If 'page_token' is present, 'start_time' and 'end_time' MUST match the initial request.\n  Use Cases:\n    - Identify top queries: \"I want execution details about top queries executed on database <database_name> on instance <instance_id> in the last 6 hours.\"\n    - Monitor specific user activity: \"What were the top queries run by user <user_name> in the last hour?\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching stats in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching stats in RFC3339 format (Defaults to 'now').\n    - 'database': Filter results to a specific database name.\n    - 'username': Filter results to a specific database user.\n    - 'query_id': Fetch aggregated statistics for a single, specific query hash.\n    - 'page_size': Maximum number of query stats to return (Default: 20).\n    - 'page_token': Token for fetching the next set of results.\n  Response:\n    Returns a ranked list of queries with metrics: sum(execution_time), sum(count), avg(execution_time), sum(wait_time), and normalized_query_text.\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution and Wait times**: Metrics like 'sum(execution_time)', 'avg(execution_time)', and 'sum(wait_time)' are in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n---\nkind: tool\nname: get_advanced_aggregated_wait_event_stats\ntype: databaseinsights-get-advanced-aggregated-wait-event-stats\nsource: database-insights-source\ndescription: |\n  Fetches aggregated wait event statistics to identify performance bottlenecks for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, selecting the aggregation level (by wait class or granular wait event), as well as pagination. Returns statistics including wait class or event name, total time spent (sum(time_spent)), average time spent (avg(time_spent)), and total wait count (sum(count)). Requires advanced query insights to be enabled.\n  **IMPORTANT:**\n    Use these parameters to narrow down the results as requested by the user.\n    - If the user asks for a specific number of results (e.g., \"Top 10\", \"First 5\", \"List 50\"), map that number directly to page_size.\n    - If they ask for a specific user or database, use the corresponding arguments.\n    - When fetching results for a time range (e.g., \"last 24 hours\"), you MUST calculate and provide EXPLICIT 'start_time' AND 'end_time' in RFC3339 format. This pins the data window so that 'page_token' remains valid for subsequent requests. If 'page_token' is present, 'start_time' and 'end_time' MUST match the initial request.\n  Intent Interpretation Rules\n    - If the user asks for \"trend\", \"overview\", \"pattern\", or \"high-level analysis\": Use view = WAIT_CLASS (default), EVEN if they say \"wait events\".\n    - Only use view = WAIT_EVENT when the user explicitly asks for:\n      - \"detailed wait events\"\n      - \"specific wait event names\"\n      - \"granular breakdown\"\n      - or mentions specific wait events (e.g., \"ClientWrite\", \"DataFileRead\")\n    - If a query_id is provided WITHOUT explicit request for granularity default to WAIT_CLASS\n    - Phrase \"wait events trend\" should be interpreted as high-level category trend (WAIT_CLASS), NOT individual event types\n    - When in doubt: Prefer WAIT_CLASS (more readable and useful for analysis)\n  Use Cases:\n    - Diagnose bottlenecks: \"What are the top wait events on my instance <instance_id> over the last 2 hours?\"\n    - Query deep-dive: \"Why is query hash <query_id> so slow? Show me its wait events.\"\n    - Investigate contention: \"What wait events is the user <user_name> experiencing in the database <database_name>?\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching stats in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching stats in RFC3339 format (Defaults to 'now').\n    - 'database': Filter stats to a specific database.\n    - 'username': Filter stats to a specific database user.\n    - 'query_id': Breakdown wait events for a specific query hash.\n    - 'page_size': Maximum number of results to return (Default: 20).\n    - 'page_token': Token for fetching the next set of results.\n    - 'view': Aggregation level. Use 'WAIT_CLASS' for high-level categories (e.g., Lock, IO) or 'WAIT_EVENT' for granular details (e.g., ClientWrite, DataFileRead). Defaults to 'WAIT_CLASS'.\n  Response:\n    A dataset showing wait types and the total time spent (\"sum(time_spent)\") in each state.\n    **UNIT AND FORMATTING RULES:**\n      1. **Wait times**: The metric 'sum(time_spent)' is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_advanced_time_series_query_stats\ntype: databaseinsights-get-advanced-time-series-query-stats\nsource: database-insights-source\ndescription: |\n  Fetches time-series history of query execution statistics to analyze trends and spikes for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID. Returns time-series data including rates of execution time (rate(execution_time)) and wait time (rate(wait_time)). Requires advanced query insights to be enabled.\n  Use Cases:\n    - Investigate Latency Spikes: \"Show me the performance trends for query hash -4318400215895414374 over the last 3 hours.\"\n    - Database-Wide Performance: \"How has the execution time for my database 'app_db' changed since yesterday?\"\n    - User-Specific Consumption: \"Get the query history for user 'reporting_svc' over the last 30 minutes.\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching history in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching history in RFC3339 format (Defaults to 'now').\n    - 'database': Filter results to a specific database name.\n    - 'username': Filter results to a specific database user.\n    - 'query_id': Fetch history for a single, specific query hash.\n  Response:\n    Returns a list of time-series data points with metrics like rate(execution_time) and rate(count).\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution times**: The metric 'rate(execution_time)' is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_advanced_time_series_wait_event_stats\ntype: databaseinsights-get-advanced-time-series-wait-event-stats\nsource: database-insights-source\ndescription: |\n  Fetches time-series history of wait event statistics to analyze contention trends for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, as well as selecting the aggregation level (by wait class or granular wait event). Returns time-series data including rate of time spent (rate(time_spent)) grouped by wait class or event. Requires advanced query insights to be enabled.\n  Intent Interpretation Rules\n    - If the user asks for \"trend\", \"overview\", \"pattern\", or \"high-level analysis\": Use view = WAIT_CLASS (default), EVEN if they say \"wait events\".\n    - Only use view = WAIT_EVENT when the user explicitly asks for:\n      - \"detailed wait events\"\n      - \"specific wait event names\"\n      - \"granular breakdown\"\n      - or mentions specific wait events (e.g., \"ClientWrite\", \"DataFileRead\")\n    - If a query_id is provided WITHOUT explicit request for granularity default to WAIT_CLASS\n    - Phrase \"wait events trend\" should be interpreted as high-level category trend (WAIT_CLASS), NOT individual event types\n    - When in doubt: Prefer WAIT_CLASS (more readable and useful for analysis)\n  Use Cases:\n    - Analyze Periodic Contention: \"Show me the wait event history for the last 4 hours on instance 'primary-1'. Is there a spike in IO or Locks every hour?\"\n    - Query-Level Bottleneck Evolution: \"For query hash -4318400215895414374, show me the trend of its wait events over the last day.\"\n    - Correlate Traffic with Lock Contention: \"Get the wait event history for user 'app_backend' in 'prod_db' between 9 AM and 11 AM today.\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching history in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching history in RFC3339 format (Defaults to 'now').\n    - 'database': Filter history to a specific database.\n    - 'username': Filter history to a specific database user.\n    - 'query_id': Breakdown wait events over time for a specific query hash.\n    - 'view': Aggregation level. Use 'WAIT_CLASS' for high-level categories (e.g., Lock, IO) or 'WAIT_EVENT' for granular details (e.g., ClientWrite, DataFileRead). Defaults to 'WAIT_CLASS'.\n  Response:\n    A dataset of time-series points showing the rate of time spent in various wait states.\n    **UNIT AND FORMATTING RULES:**\n      1. **Wait times**: The rate of time spent is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_index_recommendations\ntype: databaseinsights-get-index-recommendations\nsource: database-insights-source\ndescription: |\n  Fetches index advisor suggestions to optimize performance for a requested AlloyDB instance. Supports requesting recommendations for specific databases and a list of query IDs. Returns index recommendations including SQL commands (CREATE INDEX), target schema, relation, and columns, estimated storage size, and predicted query performance improvements (current vs estimated execution duration). Requires advanced query insights to be enabled.\n  Supported Engines:\n    AlloyDB only.\n  Use Cases:\n    - Targeted Optimization: \"I found a slow query with ID <query_id> in my 'sales' database. What index should I add to fix it?\"\n    - Multi-Database Tuning: \"Analyze performance recommendations for query <id_1> in the 'orders' database and query <id_2> in the 'shipping' database.\"\n    - ROI Validation: \"How much faster will my query become if I apply the suggested index, and how much storage will it consume?\"\n  **PARAMETERS:**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location} (Required)\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id} (Required)\n    3. 'database_query_ids': Optional. A list of objects used to target specific queries. Example schema: [{'database': 'dbname', 'query_ids': [12345]}]. If omitted or empty, provides aggregated instance-level recommendations.\n  Response Fields:\n    The response is structured under 'database_index_recommendations', which includes:\n    1. **index_recommendations (List of Objects)**:\n       - 'sql_command': The exact DDL statement to execute to create the index.\n       - 'schema': The schema name for the recommended index.\n       - 'relation': The table name for the recommended index.\n       - 'columns': A list of column names the index targets.\n       - 'estimated_storage_size_bytes': Predicted disk space consumption.\n       - 'impacted_query_ids': List of query IDs that benefit from THIS specific index.\n       - 'impacted_queries_count': Total number of queries that would be improved by this index.\n       - 'index_recommendation_id': Unique ID for mapping back to query improvements.\n    2. **query_improvements (Map of Query ID to Improvement Object)**:\n       - 'query_id': The specific query hash being analyzed.\n       - 'index_recommendation_ids': A list of IDs matching 'index_recommendation_id' above that contribute to this query's gain.\n       - 'current_total_execution_duration': Baseline performance metric.\n       - 'estimated_new_total_execution_duration': Predicted performance after index application.\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution Durations**: The 'current_total_execution_duration' and 'estimated_new_total_execution_duration' are in seconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: A duration of 0.00111s should be reported as 1.11 ms.\n      2. **Storage Size**: The 'estimated_storage_size_bytes' is in bytes.\n         Use the 1024-based binary conversion for byte units (e.g., KiB, MiB, GiB).\n         Example: A size of 26124288 bytes should be reported as 24.91 MB.\n    **Important**:\n    - Recommendations may only be available for a subset of the requested IDs or no IDs at all.\n    - Always cross-reference the 'query_improvements' map and 'impacted_query_ids' to verify which requested IDs are actually valid for optimization.\n    - If 'query_ids' was empty in the request, the response provides aggregated instance-level recommendations.\n---\nkind: toolset\nname: alloydb_postgres_database_insights_tools\ntools:\n- get_advanced_aggregated_query_stats\n- get_advanced_aggregated_wait_event_stats\n- get_advanced_time_series_query_stats\n- get_advanced_time_series_wait_event_stats\n- get_index_recommendations\n---\nkind: toolset\nname: alloydb_postgres_observability_tools\ntools:\n- get_system_metrics\n- get_query_metrics\n- get_advanced_aggregated_query_stats\n- get_advanced_aggregated_wait_event_stats\n- get_advanced_time_series_query_stats\n- get_advanced_time_series_wait_event_stats\n- get_index_recommendations\n","internal/prebuiltconfigs/tools/bigquery.yaml":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: bigquery-source\ntype: bigquery\nproject: ${BIGQUERY_PROJECT}\nlocation: ${BIGQUERY_LOCATION:}\nreadOnly: ${BIGQUERY_READONLY:}\nwriteMode: ${BIGQUERY_WRITE_MODE:}\nuseClientOAuth: ${BIGQUERY_USE_CLIENT_OAUTH:false}\nscopes: ${BIGQUERY_SCOPES:}\nmaxQueryResultRows: ${BIGQUERY_MAX_QUERY_RESULT_ROWS:50}\nimpersonateServiceAccount: ${BIGQUERY_IMPERSONATE_SERVICE_ACCOUNT:}\nmaximumBytesBilled: ${BIGQUERY_MAXIMUM_BYTES_BILLED:0}\napiEndpoint: ${BIGQUERY_ENDPOINT:}\n---\nkind: tool\nname: analyze_contribution\ntype: bigquery-analyze-contribution\nsource: bigquery-source\ndescription: Use this tool to analyze the contribution about changes to key metrics in multi-dimensional data.\n---\nkind: tool\nname: ask_data_insights\ntype: bigquery-conversational-analytics\nsource: bigquery-source\ndescription: |\n  Use this tool to perform data analysis, get insights,\n  or answer complex questions about the contents of specific\n  BigQuery tables.\n---\nkind: tool\nname: execute_sql\ntype: bigquery-execute-sql\nsource: bigquery-source\ndescription: Use this tool to execute sql statement.\n---\nkind: tool\nname: forecast\ntype: bigquery-forecast\nsource: bigquery-source\ndescription: Use this tool to forecast time series data.\n---\nkind: tool\nname: get_dataset_info\ntype: bigquery-get-dataset-info\nsource: bigquery-source\ndescription: Use this tool to get dataset metadata.\n---\nkind: tool\nname: get_table_info\ntype: bigquery-get-table-info\nsource: bigquery-source\ndescription: Use this tool to get table metadata.\n---\nkind: tool\nname: list_dataset_ids\ntype: bigquery-list-dataset-ids\nsource: bigquery-source\ndescription: Use this tool to list datasets.\n---\nkind: tool\nname: list_table_ids\ntype: bigquery-list-table-ids\nsource: bigquery-source\ndescription: Use this tool to list tables.\n---\nkind: tool\nname: search_catalog\ntype: bigquery-search-catalog\nsource: bigquery-source\ndescription: Use this tool to find tables, views, models, routines or connections.\n---\nkind: group\nname: data\ndescription: Use these skills when you need to handle large-scale data exploration and dataset management. Use when users need to find data assets or run SQL at scale. Provides metadata discovery and query execution across the data warehouse.\ntools:\n- execute_sql\n- list_dataset_ids\n- list_table_ids\n- get_dataset_info\n- get_table_info\n- search_catalog\n---\nkind: group\nname: analytics\ndescription: Use these skills when you need to handle advanced data intelligence and predictive tasks. Use when a user asks \"why\" data changed or needs future projections. Provides automated insight generation and time-series forecasting.\ntools:\n- analyze_contribution\n- ask_data_insights\n- forecast\n- search_catalog\n","internal/prebuiltconfigs/tools/clickhouse.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/clickhouse.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/clickhouse.yaml)","internal/prebuiltconfigs/tools/cloud-healthcare.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-healthcare.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-healthcare.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml)","internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml)","internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml)","internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml)","internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml)","internal/prebuiltconfigs/tools/cloud-storage.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-storage.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-storage.yaml)","internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml)","internal/prebuiltconfigs/tools/dataplex.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/dataplex.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataplex.yaml)","internal/prebuiltconfigs/tools/dataproc.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/dataproc.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataproc.yaml)","internal/prebuiltconfigs/tools/elasticsearch.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/elasticsearch.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/elasticsearch.yaml)","internal/prebuiltconfigs/tools/firestore.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/firestore.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/firestore.yaml)","internal/prebuiltconfigs/tools/looker.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker.yaml)","internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml)","internal/prebuiltconfigs/tools/looker-dev.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker-dev.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-dev.yaml)","internal/prebuiltconfigs/tools/mindsdb.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mindsdb.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mindsdb.yaml)","internal/prebuiltconfigs/tools/mssql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mssql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mssql.yaml)","internal/prebuiltconfigs/tools/mysql.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mysql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mysql.yaml)","internal/prebuiltconfigs/tools/neo4j.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/neo4j.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/neo4j.yaml)","internal/prebuiltconfigs/tools/oceanbase.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/oceanbase.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oceanbase.yaml)","internal/prebuiltconfigs/tools/oracledb.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/oracledb.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oracledb.yaml)","internal/prebuiltconfigs/tools/postgres.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/postgres.yaml)","internal/prebuiltconfigs/tools/serverless-spark.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/serverless-spark.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/serverless-spark.yaml)","internal/prebuiltconfigs/tools/singlestore.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/singlestore.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/singlestore.yaml)","internal/prebuiltconfigs/tools/snowflake.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/snowflake.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/snowflake.yaml)","internal/prebuiltconfigs/tools/spanner.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/spanner.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner.yaml)","internal/prebuiltconfigs/tools/spanner-postgres.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/spanner-postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner-postgres.yaml)","internal/prebuiltconfigs/tools/sqlite.yaml":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/sqlite.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/sqlite.yaml)","skills/maintainer/fix-failing-tests/references/ci-map.md":"# References Skill\n\nPath: `skills/maintainer/fix-failing-tests/references/ci-map.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/maintainer/fix-failing-tests/references/ci-map.md)","docs/en/documentation/configuration/skills/_index.md":"# Skills Skill\n\nPath: `docs/en/documentation/configuration/skills/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/skills/_index.md)","docs/en/documentation/configuration/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/_index.md)","docs/en/documentation/configuration/tools/invoke_tool.md":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/invoke_tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/invoke_tool.md)","docs/en/documentation/configuration/tools/url_parameter_binding.md":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/url_parameter_binding.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/url_parameter_binding.md)","docs/en/integrations/alloydb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/_index.md)","docs/en/integrations/alloydb/tools/alloydb-ai-nl.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/alloydb-ai-nl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/alloydb-ai-nl.md)","docs/en/integrations/alloydb-admin/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/_index.md)","docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md)","docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md)","docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md)","docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md)","docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md)","docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md)","docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md)","docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md)","docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md)","docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md)","docs/en/integrations/arcadedb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/_index.md)","docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md)","docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md)","docs/en/integrations/bigquery/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/_index.md)","docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md)","docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md)","docs/en/integrations/bigquery/tools/bigquery-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-execute-sql.md)","docs/en/integrations/bigquery/tools/bigquery-forecast.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-forecast.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-forecast.md)","docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md)","docs/en/integrations/bigquery/tools/bigquery-get-table-info.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-table-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-table-info.md)","docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md)","docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md)","docs/en/integrations/bigquery/tools/bigquery-search-catalog.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-search-catalog.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-search-catalog.md)","docs/en/integrations/bigquery/tools/bigquery-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-sql.md)","docs/en/integrations/bigtable/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/_index.md)","docs/en/integrations/bigtable/tools/bigtable-create-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-create-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-instance.md)","docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-create-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-table.md)","docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-delete-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-instance.md)","docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-delete-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-table.md)","docs/en/integrations/bigtable/tools/bigtable-get-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-get-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-instance.md)","docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-get-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-table.md)","docs/en/integrations/bigtable/tools/bigtable-list-clusters.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-clusters.md)","docs/en/integrations/bigtable/tools/bigtable-list-instances.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-instances.md)","docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md)","docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md)","docs/en/integrations/bigtable/tools/bigtable-list-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-schemas.md)","docs/en/integrations/bigtable/tools/bigtable-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-tables.md)","docs/en/integrations/bigtable/tools/bigtable-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-sql.md)","docs/en/integrations/bigtable/tools/bigtable-update-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-cluster.md)","docs/en/integrations/bigtable/tools/bigtable-update-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-instance.md)","docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md)","docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md)","docs/en/integrations/bigtable/tools/bigtable-update-table.md":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-table.md)","docs/en/integrations/cassandra/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cassandra/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/_index.md)","docs/en/integrations/cassandra/tools/cassandra-cql.md":"# Tools Skill\n\nPath: `docs/en/integrations/cassandra/tools/cassandra-cql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/cassandra-cql.md)","docs/en/integrations/clickhouse/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/_index.md)","docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md)","docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md)","docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md)","docs/en/integrations/clickhouse/tools/clickhouse-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-sql.md)","docs/en/integrations/cloud-sql-admin/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/_index.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md)","docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md)","docs/en/integrations/cloud-sql-mssql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-mssql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mssql/tools/_index.md)","docs/en/integrations/cloud-sql-mysql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-mysql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mysql/tools/_index.md)","docs/en/integrations/cloud-sql-pg/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/_index.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md)","docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md)","docs/en/integrations/cloud-storage/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/_index.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md)","docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md)","docs/en/integrations/cloudgda/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/_index.md)","docs/en/integrations/cloudgda/tools/cloud-gda-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/cloud-gda-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/cloud-gda-query.md)","docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md)","docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md)","docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md)","docs/en/integrations/cloudhealthcare/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/_index.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md)","docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md)","docs/en/integrations/cloudloggingadmin/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/_index.md)","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md)","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md)","docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md)","docs/en/integrations/cloudmonitoring/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudmonitoring/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/_index.md)","docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md":"# Tools Skill\n\nPath: `docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md)","docs/en/integrations/cockroachdb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/_index.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md)","docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md)","docs/en/integrations/couchbase/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/couchbase/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/_index.md)","docs/en/integrations/couchbase/tools/couchbase-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/couchbase/tools/couchbase-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/couchbase-sql.md)","docs/en/integrations/databaseinsights/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/_index.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md)","docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md)","docs/en/integrations/dataform/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataform/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/_index.md)","docs/en/integrations/dataform/tools/dataform-compile-local.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataform/tools/dataform-compile-local.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/dataform-compile-local.md)","docs/en/integrations/datalineage/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/datalineage/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/_index.md)","docs/en/integrations/datalineage/tools/datalineage-search-lineage.md":"# Tools Skill\n\nPath: `docs/en/integrations/datalineage/tools/datalineage-search-lineage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/datalineage-search-lineage.md)","docs/en/integrations/dataproc/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/_index.md)","docs/en/integrations/dataproc/tools/dataproc-get-cluster.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-cluster.md)","docs/en/integrations/dataproc/tools/dataproc-get-job.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-get-job.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-job.md)","docs/en/integrations/dataproc/tools/dataproc-list-clusters.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-clusters.md)","docs/en/integrations/dataproc/tools/dataproc-list-jobs.md":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-list-jobs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-jobs.md)","docs/en/integrations/dgraph/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/dgraph/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/_index.md)","docs/en/integrations/dgraph/tools/dgraph-dql.md":"# Tools Skill\n\nPath: `docs/en/integrations/dgraph/tools/dgraph-dql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/dgraph-dql.md)","docs/en/integrations/elasticsearch/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/_index.md)","docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md)","docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md)","docs/en/integrations/firebird/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/_index.md)","docs/en/integrations/firebird/tools/firebird-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/firebird-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-execute-sql.md)","docs/en/integrations/firebird/tools/firebird-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/firebird-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-sql.md)","docs/en/integrations/firestore/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/_index.md)","docs/en/integrations/firestore/tools/firestore-add-documents.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-add-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-add-documents.md)","docs/en/integrations/firestore/tools/firestore-delete-documents.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-delete-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-delete-documents.md)","docs/en/integrations/firestore/tools/firestore-get-documents.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-get-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-documents.md)","docs/en/integrations/firestore/tools/firestore-get-rules.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-get-rules.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-rules.md)","docs/en/integrations/firestore/tools/firestore-list-collections.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-list-collections.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-list-collections.md)","docs/en/integrations/firestore/tools/firestore-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query.md)","docs/en/integrations/firestore/tools/firestore-query-collection.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-query-collection.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query-collection.md)","docs/en/integrations/firestore/tools/firestore-update-document.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-update-document.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-update-document.md)","docs/en/integrations/firestore/tools/firestore-validate-rules.md":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-validate-rules.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-validate-rules.md)","docs/en/integrations/http/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/http/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/_index.md)","docs/en/integrations/http/tools/http-tool.md":"# Tools Skill\n\nPath: `docs/en/integrations/http/tools/http-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/http-tool.md)","docs/en/integrations/knowledge-catalog/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/_index.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md)","docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md)","docs/en/integrations/looker/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/_index.md)","docs/en/integrations/looker/tools/looker-add-dashboard-element.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-add-dashboard-element.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-element.md)","docs/en/integrations/looker/tools/looker-add-dashboard-filter.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-add-dashboard-filter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-filter.md)","docs/en/integrations/looker/tools/looker-conversational-analytics.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-conversational-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-conversational-analytics.md)","docs/en/integrations/looker/tools/looker-create-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-agent.md)","docs/en/integrations/looker/tools/looker-create-dashboard-layout.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-dashboard-layout.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-dashboard-layout.md)","docs/en/integrations/looker/tools/looker-create-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-git-branch.md)","docs/en/integrations/looker/tools/looker-create-project-directory.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-project-directory.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-directory.md)","docs/en/integrations/looker/tools/looker-create-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-file.md)","docs/en/integrations/looker/tools/looker-delete-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-agent.md)","docs/en/integrations/looker/tools/looker-delete-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-git-branch.md)","docs/en/integrations/looker/tools/looker-delete-project-directory.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-project-directory.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-directory.md)","docs/en/integrations/looker/tools/looker-delete-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-file.md)","docs/en/integrations/looker/tools/looker-dev-mode.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-dev-mode.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-dev-mode.md)","docs/en/integrations/looker/tools/looker-generate-embed-url.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-generate-embed-url.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-generate-embed-url.md)","docs/en/integrations/looker/tools/looker-get-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-agent.md)","docs/en/integrations/looker/tools/looker-get-connection-databases.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-databases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-databases.md)","docs/en/integrations/looker/tools/looker-get-connection-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-schemas.md)","docs/en/integrations/looker/tools/looker-get-connection-table-columns.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-table-columns.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-table-columns.md)","docs/en/integrations/looker/tools/looker-get-connection-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-tables.md)","docs/en/integrations/looker/tools/looker-get-connections.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connections.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connections.md)","docs/en/integrations/looker/tools/looker-get-dashboard.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboard.md)","docs/en/integrations/looker/tools/looker-get-dashboards.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dashboards.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboards.md)","docs/en/integrations/looker/tools/looker-get-dimensions.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dimensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dimensions.md)","docs/en/integrations/looker/tools/looker-get-explores.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-explores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-explores.md)","docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md)","docs/en/integrations/looker/tools/looker-get-filters.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-filters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-filters.md)","docs/en/integrations/looker/tools/looker-get-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-git-branch.md)","docs/en/integrations/looker/tools/looker-get-looks.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-looks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-looks.md)","docs/en/integrations/looker/tools/looker-get-measures.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-measures.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-measures.md)","docs/en/integrations/looker/tools/looker-get-models.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-models.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-models.md)","docs/en/integrations/looker/tools/looker-get-parameters.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-parameters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-parameters.md)","docs/en/integrations/looker/tools/looker-get-project-directories.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-directories.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-directories.md)","docs/en/integrations/looker/tools/looker-get-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-file.md)","docs/en/integrations/looker/tools/looker-get-project-files.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-files.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-files.md)","docs/en/integrations/looker/tools/looker-get-projects.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-projects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-projects.md)","docs/en/integrations/looker/tools/looker-health-analyze.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-analyze.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-analyze.md)","docs/en/integrations/looker/tools/looker-health-pulse.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-pulse.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-pulse.md)","docs/en/integrations/looker/tools/looker-health-vacuum.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-vacuum.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-vacuum.md)","docs/en/integrations/looker/tools/looker-list-agents.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-list-agents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-agents.md)","docs/en/integrations/looker/tools/looker-list-git-branches.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-list-git-branches.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-git-branches.md)","docs/en/integrations/looker/tools/looker-make-dashboard.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-make-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-dashboard.md)","docs/en/integrations/looker/tools/looker-make-look.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-make-look.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-look.md)","docs/en/integrations/looker/tools/looker-query.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query.md)","docs/en/integrations/looker/tools/looker-query-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-sql.md)","docs/en/integrations/looker/tools/looker-query-url.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query-url.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-url.md)","docs/en/integrations/looker/tools/looker-run-dashboard.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-run-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-dashboard.md)","docs/en/integrations/looker/tools/looker-run-look.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-run-look.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-look.md)","docs/en/integrations/looker/tools/looker-switch-git-branch.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-switch-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-switch-git-branch.md)","docs/en/integrations/looker/tools/looker-update-agent.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-agent.md)","docs/en/integrations/looker/tools/looker-update-dashboard-element.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-dashboard-element.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-element.md)","docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md)","docs/en/integrations/looker/tools/looker-update-project-file.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-project-file.md)","docs/en/integrations/looker/tools/looker-validate-project.md":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-validate-project.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-validate-project.md)","docs/en/integrations/mariadb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mariadb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mariadb/tools/_index.md)","docs/en/integrations/mindsdb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/_index.md)","docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md)","docs/en/integrations/mindsdb/tools/mindsdb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/mindsdb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-sql.md)","docs/en/integrations/mongodb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/_index.md)","docs/en/integrations/mongodb/tools/mongodb-aggregate.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-aggregate.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-aggregate.md)","docs/en/integrations/mongodb/tools/mongodb-delete-many.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-delete-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-many.md)","docs/en/integrations/mongodb/tools/mongodb-delete-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-delete-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-one.md)","docs/en/integrations/mongodb/tools/mongodb-find.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-find.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find.md)","docs/en/integrations/mongodb/tools/mongodb-find-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-find-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find-one.md)","docs/en/integrations/mongodb/tools/mongodb-insert-many.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-insert-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-many.md)","docs/en/integrations/mongodb/tools/mongodb-insert-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-insert-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-one.md)","docs/en/integrations/mongodb/tools/mongodb-update-many.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-update-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-many.md)","docs/en/integrations/mongodb/tools/mongodb-update-one.md":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-update-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-one.md)","docs/en/integrations/mssql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/_index.md)","docs/en/integrations/mssql/tools/mssql-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-execute-sql.md)","docs/en/integrations/mssql/tools/mssql-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-list-tables.md)","docs/en/integrations/mssql/tools/mssql-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-sql.md)","docs/en/integrations/mysql/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/_index.md)","docs/en/integrations/mysql/tools/mysql-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-execute-sql.md)","docs/en/integrations/mysql/tools/mysql-get-query-plan.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-get-query-plan.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-get-query-plan.md)","docs/en/integrations/mysql/tools/mysql-list-active-queries.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-active-queries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-active-queries.md)","docs/en/integrations/mysql/tools/mysql-list-all-locks.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-all-locks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-all-locks.md)","docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md)","docs/en/integrations/mysql/tools/mysql-list-table-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-table-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-stats.md)","docs/en/integrations/mysql/tools/mysql-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables.md)","docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md)","docs/en/integrations/mysql/tools/mysql-show-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-show-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-show-query-stats.md)","docs/en/integrations/mysql/tools/mysql-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-sql.md)","docs/en/integrations/neo4j/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/_index.md)","docs/en/integrations/neo4j/tools/neo4j-cypher.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-cypher.md)","docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md)","docs/en/integrations/neo4j/tools/neo4j-schema.md":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-schema.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-schema.md)","docs/en/integrations/oceanbase/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/_index.md)","docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md)","docs/en/integrations/oceanbase/tools/oceanbase-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/oceanbase-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-sql.md)","docs/en/integrations/oracle/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/_index.md)","docs/en/integrations/oracle/tools/oracle-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-execute-sql.md)","docs/en/integrations/oracle/tools/oracle-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-list-tables.md)","docs/en/integrations/oracle/tools/oracle-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-sql.md)","docs/en/integrations/postgres/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/_index.md)","docs/en/integrations/postgres/tools/postgres-database-overview.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-database-overview.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-database-overview.md)","docs/en/integrations/postgres/tools/postgres-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-execute-sql.md)","docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md)","docs/en/integrations/postgres/tools/postgres-list-active-queries.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-active-queries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-active-queries.md)","docs/en/integrations/postgres/tools/postgres-list-available-extensions.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-available-extensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-available-extensions.md)","docs/en/integrations/postgres/tools/postgres-list-database-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-database-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-database-stats.md)","docs/en/integrations/postgres/tools/postgres-list-indexes.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-indexes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-indexes.md)","docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md)","docs/en/integrations/postgres/tools/postgres-list-locks.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-locks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-locks.md)","docs/en/integrations/postgres/tools/postgres-list-pg-settings.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-pg-settings.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-pg-settings.md)","docs/en/integrations/postgres/tools/postgres-list-publication-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-publication-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-publication-tables.md)","docs/en/integrations/postgres/tools/postgres-list-query-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-query-stats.md)","docs/en/integrations/postgres/tools/postgres-list-roles.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-roles.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-roles.md)","docs/en/integrations/postgres/tools/postgres-list-schemas.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-schemas.md)","docs/en/integrations/postgres/tools/postgres-list-sequences.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-sequences.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-sequences.md)","docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md)","docs/en/integrations/postgres/tools/postgres-list-table-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-table-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-table-stats.md)","docs/en/integrations/postgres/tools/postgres-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tables.md)","docs/en/integrations/postgres/tools/postgres-list-tablespaces.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-tablespaces.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tablespaces.md)","docs/en/integrations/postgres/tools/postgres-list-triggers.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-triggers.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-triggers.md)","docs/en/integrations/postgres/tools/postgres-list-views.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-views.md)","docs/en/integrations/postgres/tools/postgres-long-running-transactions.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-long-running-transactions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-long-running-transactions.md)","docs/en/integrations/postgres/tools/postgres-replication-stats.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-replication-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-replication-stats.md)","docs/en/integrations/postgres/tools/postgres-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-sql.md)","docs/en/integrations/redis/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/redis/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/_index.md)","docs/en/integrations/redis/tools/redis-tool.md":"# Tools Skill\n\nPath: `docs/en/integrations/redis/tools/redis-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/redis-tool.md)","docs/en/integrations/scylladb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/scylladb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/_index.md)","docs/en/integrations/scylladb/tools/scylladb-cql.md":"# Tools Skill\n\nPath: `docs/en/integrations/scylladb/tools/scylladb-cql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/scylladb-cql.md)","docs/en/integrations/serverless-spark/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/_index.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md)","docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md)","docs/en/integrations/singlestore/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/_index.md)","docs/en/integrations/singlestore/tools/singlestore-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/singlestore-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-execute-sql.md)","docs/en/integrations/singlestore/tools/singlestore-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/singlestore-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-sql.md)","docs/en/integrations/snowflake/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/_index.md)","docs/en/integrations/snowflake/tools/snowflake-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/snowflake-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-execute-sql.md)","docs/en/integrations/snowflake/tools/snowflake-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/snowflake-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-sql.md)","docs/en/integrations/spanner/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/_index.md)","docs/en/integrations/spanner/tools/spanner-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-execute-sql.md)","docs/en/integrations/spanner/tools/spanner-list-graphs.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-list-graphs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-graphs.md)","docs/en/integrations/spanner/tools/spanner-list-tables.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-tables.md)","docs/en/integrations/spanner/tools/spanner-search-catalog.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-search-catalog.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-search-catalog.md)","docs/en/integrations/spanner/tools/spanner-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-sql.md)","docs/en/integrations/sqlite/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/_index.md)","docs/en/integrations/sqlite/tools/sqlite-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/sqlite-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-execute-sql.md)","docs/en/integrations/sqlite/tools/sqlite-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/sqlite-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-sql.md)","docs/en/integrations/tidb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/_index.md)","docs/en/integrations/tidb/tools/tidb-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/tidb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-execute-sql.md)","docs/en/integrations/tidb/tools/tidb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/tidb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-sql.md)","docs/en/integrations/trino/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/_index.md)","docs/en/integrations/trino/tools/trino-execute-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/trino-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-execute-sql.md)","docs/en/integrations/trino/tools/trino-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/trino-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-sql.md)","docs/en/integrations/utility/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/utility/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/_index.md)","docs/en/integrations/utility/tools/wait.md":"# Tools Skill\n\nPath: `docs/en/integrations/utility/tools/wait.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/wait.md)","docs/en/integrations/valkey/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/valkey/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/_index.md)","docs/en/integrations/valkey/tools/valkey-tool.md":"# Tools Skill\n\nPath: `docs/en/integrations/valkey/tools/valkey-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/valkey-tool.md)","docs/en/integrations/yuagbytedb/tools/_index.md":"# Tools Skill\n\nPath: `docs/en/integrations/yuagbytedb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/_index.md)","docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md":"# Tools Skill\n\nPath: `docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md)"},"items":[{"name":"_index.md","path":"docs/en/documentation/configuration/skills/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/skills/_index.md","title":"Skills Skill","category":"anthropic-skill","format":"markdown","content":"# Skills Skill\n\nPath: `docs/en/documentation/configuration/skills/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/skills/_index.md)","tokens":300,"sizeBytes":222},{"name":"_index.md","path":"docs/en/documentation/configuration/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/_index.md)","tokens":300,"sizeBytes":219},{"name":"invoke_tool.md","path":"docs/en/documentation/configuration/tools/invoke_tool.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/invoke_tool.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/invoke_tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/invoke_tool.md)","tokens":300,"sizeBytes":229},{"name":"url_parameter_binding.md","path":"docs/en/documentation/configuration/tools/url_parameter_binding.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/url_parameter_binding.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/url_parameter_binding.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/url_parameter_binding.md)","tokens":300,"sizeBytes":249},{"name":"_index.md","path":"docs/en/integrations/alloydb-admin/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/_index.md)","tokens":300,"sizeBytes":217},{"name":"alloydb-create-cluster.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md)","tokens":300,"sizeBytes":249},{"name":"alloydb-create-instance.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md)","tokens":300,"sizeBytes":251},{"name":"alloydb-create-user.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md)","tokens":300,"sizeBytes":243},{"name":"alloydb-get-cluster.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md)","tokens":300,"sizeBytes":243},{"name":"alloydb-get-instance.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md)","tokens":300,"sizeBytes":245},{"name":"alloydb-get-user.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md)","tokens":300,"sizeBytes":237},{"name":"alloydb-list-clusters.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md)","tokens":300,"sizeBytes":247},{"name":"alloydb-list-instances.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md)","tokens":300,"sizeBytes":249},{"name":"alloydb-list-users.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md)","tokens":300,"sizeBytes":241},{"name":"alloydb-wait-for-operation.md","path":"docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md)","tokens":300,"sizeBytes":257},{"name":"_index.md","path":"docs/en/integrations/alloydb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/_index.md)","tokens":300,"sizeBytes":205},{"name":"alloydb-ai-nl.md","path":"docs/en/integrations/alloydb/tools/alloydb-ai-nl.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/alloydb-ai-nl.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/alloydb-ai-nl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/alloydb-ai-nl.md)","tokens":300,"sizeBytes":219},{"name":"_index.md","path":"docs/en/integrations/arcadedb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"arcadedb-execute-cypher.md","path":"docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md)","tokens":300,"sizeBytes":241},{"name":"arcadedb-execute-sql.md","path":"docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md)","tokens":300,"sizeBytes":235},{"name":"_index.md","path":"docs/en/integrations/bigquery/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"bigquery-analyze-contribution.md","path":"docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md)","tokens":300,"sizeBytes":253},{"name":"bigquery-conversational-analytics.md","path":"docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md)","tokens":300,"sizeBytes":261},{"name":"bigquery-execute-sql.md","path":"docs/en/integrations/bigquery/tools/bigquery-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-execute-sql.md)","tokens":300,"sizeBytes":235},{"name":"bigquery-forecast.md","path":"docs/en/integrations/bigquery/tools/bigquery-forecast.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-forecast.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-forecast.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-forecast.md)","tokens":300,"sizeBytes":229},{"name":"bigquery-get-dataset-info.md","path":"docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md)","tokens":300,"sizeBytes":245},{"name":"bigquery-get-table-info.md","path":"docs/en/integrations/bigquery/tools/bigquery-get-table-info.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-table-info.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-table-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-table-info.md)","tokens":300,"sizeBytes":241},{"name":"bigquery-list-dataset-ids.md","path":"docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md)","tokens":300,"sizeBytes":245},{"name":"bigquery-list-table-ids.md","path":"docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md)","tokens":300,"sizeBytes":241},{"name":"bigquery-search-catalog.md","path":"docs/en/integrations/bigquery/tools/bigquery-search-catalog.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-search-catalog.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-search-catalog.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-search-catalog.md)","tokens":300,"sizeBytes":241},{"name":"bigquery-sql.md","path":"docs/en/integrations/bigquery/tools/bigquery-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-sql.md)","tokens":300,"sizeBytes":219},{"name":"_index.md","path":"docs/en/integrations/bigtable/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"bigtable-create-cluster.md","path":"docs/en/integrations/bigtable/tools/bigtable-create-cluster.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-cluster.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-cluster.md)","tokens":300,"sizeBytes":241},{"name":"bigtable-create-instance.md","path":"docs/en/integrations/bigtable/tools/bigtable-create-instance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-instance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-instance.md)","tokens":300,"sizeBytes":243},{"name":"bigtable-create-logical-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-logical-view.md)","tokens":300,"sizeBytes":251},{"name":"bigtable-create-materialized-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-materialized-view.md)","tokens":300,"sizeBytes":261},{"name":"bigtable-create-table.md","path":"docs/en/integrations/bigtable/tools/bigtable-create-table.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-table.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-create-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-create-table.md)","tokens":300,"sizeBytes":237},{"name":"bigtable-delete-cluster.md","path":"docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-cluster.md)","tokens":300,"sizeBytes":241},{"name":"bigtable-delete-instance.md","path":"docs/en/integrations/bigtable/tools/bigtable-delete-instance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-instance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-instance.md)","tokens":300,"sizeBytes":243},{"name":"bigtable-delete-logical-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-logical-view.md)","tokens":300,"sizeBytes":251},{"name":"bigtable-delete-materialized-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-materialized-view.md)","tokens":300,"sizeBytes":261},{"name":"bigtable-delete-table.md","path":"docs/en/integrations/bigtable/tools/bigtable-delete-table.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-table.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-delete-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-delete-table.md)","tokens":300,"sizeBytes":237},{"name":"bigtable-get-cluster.md","path":"docs/en/integrations/bigtable/tools/bigtable-get-cluster.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-cluster.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-cluster.md)","tokens":300,"sizeBytes":235},{"name":"bigtable-get-instance.md","path":"docs/en/integrations/bigtable/tools/bigtable-get-instance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-instance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-instance.md)","tokens":300,"sizeBytes":237},{"name":"bigtable-get-logical-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-logical-view.md)","tokens":300,"sizeBytes":245},{"name":"bigtable-get-materialized-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-materialized-view.md)","tokens":300,"sizeBytes":255},{"name":"bigtable-get-table.md","path":"docs/en/integrations/bigtable/tools/bigtable-get-table.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-table.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-get-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-get-table.md)","tokens":300,"sizeBytes":231},{"name":"bigtable-list-clusters.md","path":"docs/en/integrations/bigtable/tools/bigtable-list-clusters.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-clusters.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-clusters.md)","tokens":300,"sizeBytes":239},{"name":"bigtable-list-instances.md","path":"docs/en/integrations/bigtable/tools/bigtable-list-instances.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-instances.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-instances.md)","tokens":300,"sizeBytes":241},{"name":"bigtable-list-logical-views.md","path":"docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-logical-views.md)","tokens":300,"sizeBytes":249},{"name":"bigtable-list-materialized-views.md","path":"docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-materialized-views.md)","tokens":300,"sizeBytes":259},{"name":"bigtable-list-schemas.md","path":"docs/en/integrations/bigtable/tools/bigtable-list-schemas.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-schemas.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-schemas.md)","tokens":300,"sizeBytes":237},{"name":"bigtable-list-tables.md","path":"docs/en/integrations/bigtable/tools/bigtable-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-list-tables.md)","tokens":300,"sizeBytes":235},{"name":"bigtable-sql.md","path":"docs/en/integrations/bigtable/tools/bigtable-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-sql.md)","tokens":300,"sizeBytes":219},{"name":"bigtable-update-cluster.md","path":"docs/en/integrations/bigtable/tools/bigtable-update-cluster.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-cluster.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-cluster.md)","tokens":300,"sizeBytes":241},{"name":"bigtable-update-instance.md","path":"docs/en/integrations/bigtable/tools/bigtable-update-instance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-instance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-instance.md)","tokens":300,"sizeBytes":243},{"name":"bigtable-update-logical-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-logical-view.md)","tokens":300,"sizeBytes":251},{"name":"bigtable-update-materialized-view.md","path":"docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-materialized-view.md)","tokens":300,"sizeBytes":261},{"name":"bigtable-update-table.md","path":"docs/en/integrations/bigtable/tools/bigtable-update-table.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-table.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/bigtable/tools/bigtable-update-table.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigtable/tools/bigtable-update-table.md)","tokens":300,"sizeBytes":237},{"name":"_index.md","path":"docs/en/integrations/cassandra/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cassandra/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/_index.md)","tokens":300,"sizeBytes":209},{"name":"cassandra-cql.md","path":"docs/en/integrations/cassandra/tools/cassandra-cql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/cassandra-cql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cassandra/tools/cassandra-cql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cassandra/tools/cassandra-cql.md)","tokens":300,"sizeBytes":223},{"name":"_index.md","path":"docs/en/integrations/clickhouse/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/_index.md)","tokens":300,"sizeBytes":211},{"name":"clickhouse-execute-sql.md","path":"docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-execute-sql.md)","tokens":300,"sizeBytes":243},{"name":"clickhouse-list-databases.md","path":"docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-databases.md)","tokens":300,"sizeBytes":249},{"name":"clickhouse-list-tables.md","path":"docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-list-tables.md)","tokens":300,"sizeBytes":243},{"name":"clickhouse-sql.md","path":"docs/en/integrations/clickhouse/tools/clickhouse-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/clickhouse/tools/clickhouse-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/clickhouse/tools/clickhouse-sql.md)","tokens":300,"sizeBytes":227},{"name":"_index.md","path":"docs/en/integrations/cloud-sql-admin/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/_index.md)","tokens":300,"sizeBytes":221},{"name":"cloudsqladminexecutemany.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminexecutemany.md)","tokens":300,"sizeBytes":257},{"name":"cloudsqladminsqlmany.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqladminsqlmany.md)","tokens":300,"sizeBytes":249},{"name":"cloudsqlcloneinstance.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcloneinstance.md)","tokens":300,"sizeBytes":251},{"name":"cloudsqlconnectgce.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlconnectgce.md)","tokens":300,"sizeBytes":245},{"name":"cloudsqlcreatebackup.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatebackup.md)","tokens":300,"sizeBytes":249},{"name":"cloudsqlcreatedatabase.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreatedatabase.md)","tokens":300,"sizeBytes":253},{"name":"cloudsqlcreateusers.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlcreateusers.md)","tokens":300,"sizeBytes":247},{"name":"cloudsqlgetinstances.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlgetinstances.md)","tokens":300,"sizeBytes":249},{"name":"cloudsqllistdatabases.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistdatabases.md)","tokens":300,"sizeBytes":251},{"name":"cloudsqllistinstances.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqllistinstances.md)","tokens":300,"sizeBytes":251},{"name":"cloudsqlmssqlcreateinstance.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmssqlcreateinstance.md)","tokens":300,"sizeBytes":263},{"name":"cloudsqlmysqlcreateinstance.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlmysqlcreateinstance.md)","tokens":300,"sizeBytes":263},{"name":"cloudsqlpgcreateinstances.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgcreateinstances.md)","tokens":300,"sizeBytes":259},{"name":"cloudsqlpgupgradeprecheck.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlpgupgradeprecheck.md)","tokens":300,"sizeBytes":259},{"name":"cloudsqlrestorebackup.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlrestorebackup.md)","tokens":300,"sizeBytes":251},{"name":"cloudsqlwaitforoperation.md","path":"docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-admin/tools/cloudsqlwaitforoperation.md)","tokens":300,"sizeBytes":257},{"name":"_index.md","path":"docs/en/integrations/cloud-sql-mssql/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mssql/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-mssql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mssql/tools/_index.md)","tokens":300,"sizeBytes":221},{"name":"_index.md","path":"docs/en/integrations/cloud-sql-mysql/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mysql/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-mysql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-mysql/tools/_index.md)","tokens":300,"sizeBytes":221},{"name":"_index.md","path":"docs/en/integrations/cloud-sql-pg/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/_index.md)","tokens":300,"sizeBytes":215},{"name":"vector-assist-apply-spec.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-apply-spec.md)","tokens":300,"sizeBytes":251},{"name":"vector-assist-define-spec.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-define-spec.md)","tokens":300,"sizeBytes":253},{"name":"vector-assist-delete-spec.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-delete-spec.md)","tokens":300,"sizeBytes":253},{"name":"vector-assist-generate-query.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-generate-query.md)","tokens":300,"sizeBytes":259},{"name":"vector-assist-get-spec.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-get-spec.md)","tokens":300,"sizeBytes":247},{"name":"vector-assist-improve-query-recall.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-improve-query-recall.md)","tokens":300,"sizeBytes":271},{"name":"vector-assist-list-specs.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-list-specs.md)","tokens":300,"sizeBytes":251},{"name":"vector-assist-modify-spec.md","path":"docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-sql-pg/tools/vector-assist-modify-spec.md)","tokens":300,"sizeBytes":253},{"name":"_index.md","path":"docs/en/integrations/cloud-storage/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/_index.md)","tokens":300,"sizeBytes":217},{"name":"cloud-storage-copy-object.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-copy-object.md)","tokens":300,"sizeBytes":255},{"name":"cloud-storage-create-bucket.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-create-bucket.md)","tokens":300,"sizeBytes":259},{"name":"cloud-storage-delete-bucket.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-bucket.md)","tokens":300,"sizeBytes":259},{"name":"cloud-storage-delete-object.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-delete-object.md)","tokens":300,"sizeBytes":259},{"name":"cloud-storage-download-object.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-download-object.md)","tokens":300,"sizeBytes":263},{"name":"cloud-storage-get-bucket-iam-policy.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-iam-policy.md)","tokens":300,"sizeBytes":275},{"name":"cloud-storage-get-bucket-metadata.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-bucket-metadata.md)","tokens":300,"sizeBytes":271},{"name":"cloud-storage-get-object-metadata.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-get-object-metadata.md)","tokens":300,"sizeBytes":271},{"name":"cloud-storage-list-buckets.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-buckets.md)","tokens":300,"sizeBytes":257},{"name":"cloud-storage-list-objects.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-list-objects.md)","tokens":300,"sizeBytes":257},{"name":"cloud-storage-move-object.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-move-object.md)","tokens":300,"sizeBytes":255},{"name":"cloud-storage-read-object.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-read-object.md)","tokens":300,"sizeBytes":255},{"name":"cloud-storage-upload-object.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-upload-object.md)","tokens":300,"sizeBytes":259},{"name":"cloud-storage-write-object.md","path":"docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloud-storage/tools/cloud-storage-write-object.md)","tokens":300,"sizeBytes":257},{"name":"_index.md","path":"docs/en/integrations/cloudgda/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"cloud-gda-query.md","path":"docs/en/integrations/cloudgda/tools/cloud-gda-query.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/cloud-gda-query.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/cloud-gda-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/cloud-gda-query.md)","tokens":300,"sizeBytes":225},{"name":"conversational-analytics-ask-data-agent.md","path":"docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-ask-data-agent.md)","tokens":300,"sizeBytes":273},{"name":"conversational-analytics-get-data-agent-info.md","path":"docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-get-data-agent-info.md)","tokens":300,"sizeBytes":283},{"name":"conversational-analytics-list-accessible-data-agents.md","path":"docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudgda/tools/conversational-analytics-list-accessible-data-agents.md)","tokens":300,"sizeBytes":299},{"name":"_index.md","path":"docs/en/integrations/cloudhealthcare/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/_index.md)","tokens":300,"sizeBytes":221},{"name":"cloud-healthcare-fhir-fetch-page.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-fetch-page.md)","tokens":300,"sizeBytes":273},{"name":"cloud-healthcare-fhir-patient-everything.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-everything.md)","tokens":300,"sizeBytes":289},{"name":"cloud-healthcare-fhir-patient-search.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-fhir-patient-search.md)","tokens":300,"sizeBytes":281},{"name":"cloud-healthcare-get-dataset.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dataset.md)","tokens":300,"sizeBytes":265},{"name":"cloud-healthcare-get-dicom-store-metrics.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store-metrics.md)","tokens":300,"sizeBytes":289},{"name":"cloud-healthcare-get-dicom-store.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-dicom-store.md)","tokens":300,"sizeBytes":273},{"name":"cloud-healthcare-get-fhir-resource.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-resource.md)","tokens":300,"sizeBytes":277},{"name":"cloud-healthcare-get-fhir-store-metrics.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store-metrics.md)","tokens":300,"sizeBytes":287},{"name":"cloud-healthcare-get-fhir-store.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-get-fhir-store.md)","tokens":300,"sizeBytes":271},{"name":"cloud-healthcare-list-dicom-stores.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-dicom-stores.md)","tokens":300,"sizeBytes":277},{"name":"cloud-healthcare-list-fhir-stores.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-list-fhir-stores.md)","tokens":300,"sizeBytes":275},{"name":"cloud-healthcare-retrieve-rendered-dicom-instance.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-retrieve-rendered-dicom-instance.md)","tokens":300,"sizeBytes":307},{"name":"cloud-healthcare-search-dicom-instances.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-instances.md)","tokens":300,"sizeBytes":287},{"name":"cloud-healthcare-search-dicom-series.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-series.md)","tokens":300,"sizeBytes":281},{"name":"cloud-healthcare-search-dicom-studies.md","path":"docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudhealthcare/tools/cloud-healthcare-search-dicom-studies.md)","tokens":300,"sizeBytes":283},{"name":"_index.md","path":"docs/en/integrations/cloudloggingadmin/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/_index.md)","tokens":300,"sizeBytes":225},{"name":"cloud-logging-admin-list-log-names.md","path":"docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-log-names.md)","tokens":300,"sizeBytes":281},{"name":"cloud-logging-admin-list-resource-types.md","path":"docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-list-resource-types.md)","tokens":300,"sizeBytes":291},{"name":"cloud-logging-admin-query-logs.md","path":"docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudloggingadmin/tools/cloud-logging-admin-query-logs.md)","tokens":300,"sizeBytes":273},{"name":"_index.md","path":"docs/en/integrations/cloudmonitoring/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudmonitoring/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/_index.md)","tokens":300,"sizeBytes":221},{"name":"cloud-monitoring-query-prometheus.md","path":"docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cloudmonitoring/tools/cloud-monitoring-query-prometheus.md)","tokens":300,"sizeBytes":275},{"name":"_index.md","path":"docs/en/integrations/cockroachdb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/_index.md)","tokens":300,"sizeBytes":213},{"name":"cockroachdb-execute-sql.md","path":"docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-execute-sql.md)","tokens":300,"sizeBytes":247},{"name":"cockroachdb-list-schemas.md","path":"docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-schemas.md)","tokens":300,"sizeBytes":249},{"name":"cockroachdb-list-tables.md","path":"docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-list-tables.md)","tokens":300,"sizeBytes":247},{"name":"cockroachdb-sql.md","path":"docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/cockroachdb/tools/cockroachdb-sql.md)","tokens":300,"sizeBytes":231},{"name":"_index.md","path":"docs/en/integrations/couchbase/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/couchbase/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/_index.md)","tokens":300,"sizeBytes":209},{"name":"couchbase-sql.md","path":"docs/en/integrations/couchbase/tools/couchbase-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/couchbase-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/couchbase/tools/couchbase-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/couchbase/tools/couchbase-sql.md)","tokens":300,"sizeBytes":223},{"name":"_index.md","path":"docs/en/integrations/databaseinsights/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/_index.md)","tokens":300,"sizeBytes":223},{"name":"databaseinsights-get-advanced-aggregated-query-stats.md","path":"docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-query-stats.md)","tokens":300,"sizeBytes":315},{"name":"databaseinsights-get-advanced-aggregated-wait-event-stats.md","path":"docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-aggregated-wait-event-stats.md)","tokens":300,"sizeBytes":325},{"name":"databaseinsights-get-advanced-time-series-query-stats.md","path":"docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-query-stats.md)","tokens":300,"sizeBytes":317},{"name":"databaseinsights-get-advanced-time-series-wait-event-stats.md","path":"docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-advanced-time-series-wait-event-stats.md)","tokens":300,"sizeBytes":327},{"name":"databaseinsights-get-index-recommendations.md","path":"docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/databaseinsights/tools/databaseinsights-get-index-recommendations.md)","tokens":300,"sizeBytes":295},{"name":"_index.md","path":"docs/en/integrations/dataform/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dataform/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"dataform-compile-local.md","path":"docs/en/integrations/dataform/tools/dataform-compile-local.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/dataform-compile-local.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dataform/tools/dataform-compile-local.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataform/tools/dataform-compile-local.md)","tokens":300,"sizeBytes":239},{"name":"_index.md","path":"docs/en/integrations/datalineage/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/datalineage/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/_index.md)","tokens":300,"sizeBytes":213},{"name":"datalineage-search-lineage.md","path":"docs/en/integrations/datalineage/tools/datalineage-search-lineage.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/datalineage-search-lineage.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/datalineage/tools/datalineage-search-lineage.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/datalineage/tools/datalineage-search-lineage.md)","tokens":300,"sizeBytes":253},{"name":"_index.md","path":"docs/en/integrations/dataproc/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"dataproc-get-cluster.md","path":"docs/en/integrations/dataproc/tools/dataproc-get-cluster.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-cluster.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-cluster.md)","tokens":300,"sizeBytes":235},{"name":"dataproc-get-job.md","path":"docs/en/integrations/dataproc/tools/dataproc-get-job.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-job.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-get-job.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-get-job.md)","tokens":300,"sizeBytes":227},{"name":"dataproc-list-clusters.md","path":"docs/en/integrations/dataproc/tools/dataproc-list-clusters.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-clusters.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-clusters.md)","tokens":300,"sizeBytes":239},{"name":"dataproc-list-jobs.md","path":"docs/en/integrations/dataproc/tools/dataproc-list-jobs.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-jobs.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dataproc/tools/dataproc-list-jobs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dataproc/tools/dataproc-list-jobs.md)","tokens":300,"sizeBytes":231},{"name":"_index.md","path":"docs/en/integrations/dgraph/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dgraph/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/_index.md)","tokens":300,"sizeBytes":203},{"name":"dgraph-dql.md","path":"docs/en/integrations/dgraph/tools/dgraph-dql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/dgraph-dql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/dgraph/tools/dgraph-dql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/dgraph/tools/dgraph-dql.md)","tokens":300,"sizeBytes":211},{"name":"_index.md","path":"docs/en/integrations/elasticsearch/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/_index.md)","tokens":300,"sizeBytes":217},{"name":"elasticsearch-esql.md","path":"docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-esql.md)","tokens":300,"sizeBytes":241},{"name":"elasticsearch-execute-esql.md","path":"docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/elasticsearch/tools/elasticsearch-execute-esql.md)","tokens":300,"sizeBytes":257},{"name":"_index.md","path":"docs/en/integrations/firebird/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"firebird-execute-sql.md","path":"docs/en/integrations/firebird/tools/firebird-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/firebird-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-execute-sql.md)","tokens":300,"sizeBytes":235},{"name":"firebird-sql.md","path":"docs/en/integrations/firebird/tools/firebird-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firebird/tools/firebird-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firebird/tools/firebird-sql.md)","tokens":300,"sizeBytes":219},{"name":"_index.md","path":"docs/en/integrations/firestore/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/_index.md)","tokens":300,"sizeBytes":209},{"name":"firestore-add-documents.md","path":"docs/en/integrations/firestore/tools/firestore-add-documents.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-add-documents.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-add-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-add-documents.md)","tokens":300,"sizeBytes":243},{"name":"firestore-delete-documents.md","path":"docs/en/integrations/firestore/tools/firestore-delete-documents.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-delete-documents.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-delete-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-delete-documents.md)","tokens":300,"sizeBytes":249},{"name":"firestore-get-documents.md","path":"docs/en/integrations/firestore/tools/firestore-get-documents.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-documents.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-get-documents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-documents.md)","tokens":300,"sizeBytes":243},{"name":"firestore-get-rules.md","path":"docs/en/integrations/firestore/tools/firestore-get-rules.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-rules.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-get-rules.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-get-rules.md)","tokens":300,"sizeBytes":235},{"name":"firestore-list-collections.md","path":"docs/en/integrations/firestore/tools/firestore-list-collections.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-list-collections.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-list-collections.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-list-collections.md)","tokens":300,"sizeBytes":249},{"name":"firestore-query-collection.md","path":"docs/en/integrations/firestore/tools/firestore-query-collection.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query-collection.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-query-collection.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query-collection.md)","tokens":300,"sizeBytes":249},{"name":"firestore-query.md","path":"docs/en/integrations/firestore/tools/firestore-query.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-query.md)","tokens":300,"sizeBytes":227},{"name":"firestore-update-document.md","path":"docs/en/integrations/firestore/tools/firestore-update-document.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-update-document.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-update-document.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-update-document.md)","tokens":300,"sizeBytes":247},{"name":"firestore-validate-rules.md","path":"docs/en/integrations/firestore/tools/firestore-validate-rules.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-validate-rules.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/firestore/tools/firestore-validate-rules.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/firestore/tools/firestore-validate-rules.md)","tokens":300,"sizeBytes":245},{"name":"_index.md","path":"docs/en/integrations/http/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/http/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/_index.md)","tokens":300,"sizeBytes":199},{"name":"http-tool.md","path":"docs/en/integrations/http/tools/http-tool.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/http-tool.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/http/tools/http-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/http/tools/http-tool.md)","tokens":300,"sizeBytes":205},{"name":"_index.md","path":"docs/en/integrations/knowledge-catalog/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/_index.md)","tokens":300,"sizeBytes":225},{"name":"knowledge-catalog-check-data-quality.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-check-data-quality.md)","tokens":300,"sizeBytes":285},{"name":"knowledge-catalog-create-data-asset.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-asset.md)","tokens":300,"sizeBytes":283},{"name":"knowledge-catalog-create-data-product.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-create-data-product.md)","tokens":300,"sizeBytes":287},{"name":"knowledge-catalog-discover-metadata.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-discover-metadata.md)","tokens":300,"sizeBytes":283},{"name":"knowledge-catalog-generate-data-insights.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-insights.md)","tokens":300,"sizeBytes":293},{"name":"knowledge-catalog-generate-data-profile.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-generate-data-profile.md)","tokens":300,"sizeBytes":291},{"name":"knowledge-catalog-get-data-asset.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-asset.md)","tokens":300,"sizeBytes":277},{"name":"knowledge-catalog-get-data-insights.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-insights.md)","tokens":300,"sizeBytes":283},{"name":"knowledge-catalog-get-data-product.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-product.md)","tokens":300,"sizeBytes":281},{"name":"knowledge-catalog-get-data-profile.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-profile.md)","tokens":300,"sizeBytes":281},{"name":"knowledge-catalog-get-data-quality-results.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-data-quality-results.md)","tokens":300,"sizeBytes":297},{"name":"knowledge-catalog-get-discovery-results.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-discovery-results.md)","tokens":300,"sizeBytes":291},{"name":"knowledge-catalog-get-operation.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-operation.md)","tokens":300,"sizeBytes":275},{"name":"knowledge-catalog-get-run-status.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-get-run-status.md)","tokens":300,"sizeBytes":277},{"name":"knowledge-catalog-list-data-assets.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-assets.md)","tokens":300,"sizeBytes":281},{"name":"knowledge-catalog-list-data-products.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-list-data-products.md)","tokens":300,"sizeBytes":285},{"name":"knowledge-catalog-lookup-context.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-context.md)","tokens":300,"sizeBytes":277},{"name":"knowledge-catalog-lookup-entry.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-lookup-entry.md)","tokens":300,"sizeBytes":273},{"name":"knowledge-catalog-search-aspect-types.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-aspect-types.md)","tokens":300,"sizeBytes":287},{"name":"knowledge-catalog-search-dq-scans.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-dq-scans.md)","tokens":300,"sizeBytes":279},{"name":"knowledge-catalog-search-entries.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-search-entries.md)","tokens":300,"sizeBytes":277},{"name":"knowledge-catalog-update-data-asset.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-asset.md)","tokens":300,"sizeBytes":283},{"name":"knowledge-catalog-update-data-product-aspects.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product-aspects.md)","tokens":300,"sizeBytes":303},{"name":"knowledge-catalog-update-data-product.md","path":"docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/knowledge-catalog/tools/knowledge-catalog-update-data-product.md)","tokens":300,"sizeBytes":287},{"name":"_index.md","path":"docs/en/integrations/looker/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/_index.md)","tokens":300,"sizeBytes":203},{"name":"looker-add-dashboard-element.md","path":"docs/en/integrations/looker/tools/looker-add-dashboard-element.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-element.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-add-dashboard-element.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-element.md)","tokens":300,"sizeBytes":247},{"name":"looker-add-dashboard-filter.md","path":"docs/en/integrations/looker/tools/looker-add-dashboard-filter.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-filter.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-add-dashboard-filter.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-add-dashboard-filter.md)","tokens":300,"sizeBytes":245},{"name":"looker-conversational-analytics.md","path":"docs/en/integrations/looker/tools/looker-conversational-analytics.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-conversational-analytics.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-conversational-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-conversational-analytics.md)","tokens":300,"sizeBytes":253},{"name":"looker-create-agent.md","path":"docs/en/integrations/looker/tools/looker-create-agent.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-agent.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-agent.md)","tokens":300,"sizeBytes":229},{"name":"looker-create-dashboard-layout.md","path":"docs/en/integrations/looker/tools/looker-create-dashboard-layout.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-dashboard-layout.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-dashboard-layout.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-dashboard-layout.md)","tokens":300,"sizeBytes":251},{"name":"looker-create-git-branch.md","path":"docs/en/integrations/looker/tools/looker-create-git-branch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-git-branch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-git-branch.md)","tokens":300,"sizeBytes":239},{"name":"looker-create-project-directory.md","path":"docs/en/integrations/looker/tools/looker-create-project-directory.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-directory.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-project-directory.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-directory.md)","tokens":300,"sizeBytes":253},{"name":"looker-create-project-file.md","path":"docs/en/integrations/looker/tools/looker-create-project-file.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-file.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-create-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-create-project-file.md)","tokens":300,"sizeBytes":243},{"name":"looker-delete-agent.md","path":"docs/en/integrations/looker/tools/looker-delete-agent.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-agent.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-agent.md)","tokens":300,"sizeBytes":229},{"name":"looker-delete-git-branch.md","path":"docs/en/integrations/looker/tools/looker-delete-git-branch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-git-branch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-git-branch.md)","tokens":300,"sizeBytes":239},{"name":"looker-delete-project-directory.md","path":"docs/en/integrations/looker/tools/looker-delete-project-directory.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-directory.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-project-directory.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-directory.md)","tokens":300,"sizeBytes":253},{"name":"looker-delete-project-file.md","path":"docs/en/integrations/looker/tools/looker-delete-project-file.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-file.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-delete-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-delete-project-file.md)","tokens":300,"sizeBytes":243},{"name":"looker-dev-mode.md","path":"docs/en/integrations/looker/tools/looker-dev-mode.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-dev-mode.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-dev-mode.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-dev-mode.md)","tokens":300,"sizeBytes":221},{"name":"looker-generate-embed-url.md","path":"docs/en/integrations/looker/tools/looker-generate-embed-url.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-generate-embed-url.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-generate-embed-url.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-generate-embed-url.md)","tokens":300,"sizeBytes":241},{"name":"looker-get-agent.md","path":"docs/en/integrations/looker/tools/looker-get-agent.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-agent.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-agent.md)","tokens":300,"sizeBytes":223},{"name":"looker-get-connection-databases.md","path":"docs/en/integrations/looker/tools/looker-get-connection-databases.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-databases.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-databases.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-databases.md)","tokens":300,"sizeBytes":253},{"name":"looker-get-connection-schemas.md","path":"docs/en/integrations/looker/tools/looker-get-connection-schemas.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-schemas.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-schemas.md)","tokens":300,"sizeBytes":249},{"name":"looker-get-connection-table-columns.md","path":"docs/en/integrations/looker/tools/looker-get-connection-table-columns.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-table-columns.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-table-columns.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-table-columns.md)","tokens":300,"sizeBytes":261},{"name":"looker-get-connection-tables.md","path":"docs/en/integrations/looker/tools/looker-get-connection-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connection-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connection-tables.md)","tokens":300,"sizeBytes":247},{"name":"looker-get-connections.md","path":"docs/en/integrations/looker/tools/looker-get-connections.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connections.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-connections.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-connections.md)","tokens":300,"sizeBytes":235},{"name":"looker-get-dashboard.md","path":"docs/en/integrations/looker/tools/looker-get-dashboard.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboard.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboard.md)","tokens":300,"sizeBytes":231},{"name":"looker-get-dashboards.md","path":"docs/en/integrations/looker/tools/looker-get-dashboards.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboards.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dashboards.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dashboards.md)","tokens":300,"sizeBytes":233},{"name":"looker-get-dimensions.md","path":"docs/en/integrations/looker/tools/looker-get-dimensions.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dimensions.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-dimensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-dimensions.md)","tokens":300,"sizeBytes":233},{"name":"looker-get-explores.md","path":"docs/en/integrations/looker/tools/looker-get-explores.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-explores.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-explores.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-explores.md)","tokens":300,"sizeBytes":229},{"name":"looker-get-field-value-suggestions.md","path":"docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-field-value-suggestions.md)","tokens":300,"sizeBytes":259},{"name":"looker-get-filters.md","path":"docs/en/integrations/looker/tools/looker-get-filters.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-filters.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-filters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-filters.md)","tokens":300,"sizeBytes":227},{"name":"looker-get-git-branch.md","path":"docs/en/integrations/looker/tools/looker-get-git-branch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-git-branch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-git-branch.md)","tokens":300,"sizeBytes":233},{"name":"looker-get-looks.md","path":"docs/en/integrations/looker/tools/looker-get-looks.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-looks.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-looks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-looks.md)","tokens":300,"sizeBytes":223},{"name":"looker-get-measures.md","path":"docs/en/integrations/looker/tools/looker-get-measures.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-measures.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-measures.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-measures.md)","tokens":300,"sizeBytes":229},{"name":"looker-get-models.md","path":"docs/en/integrations/looker/tools/looker-get-models.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-models.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-models.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-models.md)","tokens":300,"sizeBytes":225},{"name":"looker-get-parameters.md","path":"docs/en/integrations/looker/tools/looker-get-parameters.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-parameters.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-parameters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-parameters.md)","tokens":300,"sizeBytes":233},{"name":"looker-get-project-directories.md","path":"docs/en/integrations/looker/tools/looker-get-project-directories.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-directories.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-directories.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-directories.md)","tokens":300,"sizeBytes":251},{"name":"looker-get-project-file.md","path":"docs/en/integrations/looker/tools/looker-get-project-file.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-file.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-file.md)","tokens":300,"sizeBytes":237},{"name":"looker-get-project-files.md","path":"docs/en/integrations/looker/tools/looker-get-project-files.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-files.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-project-files.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-project-files.md)","tokens":300,"sizeBytes":239},{"name":"looker-get-projects.md","path":"docs/en/integrations/looker/tools/looker-get-projects.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-projects.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-get-projects.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-get-projects.md)","tokens":300,"sizeBytes":229},{"name":"looker-health-analyze.md","path":"docs/en/integrations/looker/tools/looker-health-analyze.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-analyze.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-analyze.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-analyze.md)","tokens":300,"sizeBytes":233},{"name":"looker-health-pulse.md","path":"docs/en/integrations/looker/tools/looker-health-pulse.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-pulse.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-pulse.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-pulse.md)","tokens":300,"sizeBytes":229},{"name":"looker-health-vacuum.md","path":"docs/en/integrations/looker/tools/looker-health-vacuum.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-vacuum.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-health-vacuum.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-health-vacuum.md)","tokens":300,"sizeBytes":231},{"name":"looker-list-agents.md","path":"docs/en/integrations/looker/tools/looker-list-agents.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-agents.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-list-agents.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-agents.md)","tokens":300,"sizeBytes":227},{"name":"looker-list-git-branches.md","path":"docs/en/integrations/looker/tools/looker-list-git-branches.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-git-branches.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-list-git-branches.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-list-git-branches.md)","tokens":300,"sizeBytes":239},{"name":"looker-make-dashboard.md","path":"docs/en/integrations/looker/tools/looker-make-dashboard.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-dashboard.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-make-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-dashboard.md)","tokens":300,"sizeBytes":233},{"name":"looker-make-look.md","path":"docs/en/integrations/looker/tools/looker-make-look.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-look.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-make-look.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-make-look.md)","tokens":300,"sizeBytes":223},{"name":"looker-query-sql.md","path":"docs/en/integrations/looker/tools/looker-query-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-sql.md)","tokens":300,"sizeBytes":223},{"name":"looker-query-url.md","path":"docs/en/integrations/looker/tools/looker-query-url.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-url.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query-url.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query-url.md)","tokens":300,"sizeBytes":223},{"name":"looker-query.md","path":"docs/en/integrations/looker/tools/looker-query.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-query.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-query.md)","tokens":300,"sizeBytes":215},{"name":"looker-run-dashboard.md","path":"docs/en/integrations/looker/tools/looker-run-dashboard.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-dashboard.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-run-dashboard.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-dashboard.md)","tokens":300,"sizeBytes":231},{"name":"looker-run-look.md","path":"docs/en/integrations/looker/tools/looker-run-look.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-look.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-run-look.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-run-look.md)","tokens":300,"sizeBytes":221},{"name":"looker-switch-git-branch.md","path":"docs/en/integrations/looker/tools/looker-switch-git-branch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-switch-git-branch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-switch-git-branch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-switch-git-branch.md)","tokens":300,"sizeBytes":239},{"name":"looker-update-agent.md","path":"docs/en/integrations/looker/tools/looker-update-agent.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-agent.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-agent.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-agent.md)","tokens":300,"sizeBytes":229},{"name":"looker-update-dashboard-element.md","path":"docs/en/integrations/looker/tools/looker-update-dashboard-element.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-element.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-dashboard-element.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-element.md)","tokens":300,"sizeBytes":253},{"name":"looker-update-dashboard-layout-component.md","path":"docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-dashboard-layout-component.md)","tokens":300,"sizeBytes":271},{"name":"looker-update-project-file.md","path":"docs/en/integrations/looker/tools/looker-update-project-file.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-project-file.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-update-project-file.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-update-project-file.md)","tokens":300,"sizeBytes":243},{"name":"looker-validate-project.md","path":"docs/en/integrations/looker/tools/looker-validate-project.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-validate-project.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/looker/tools/looker-validate-project.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/looker/tools/looker-validate-project.md)","tokens":300,"sizeBytes":237},{"name":"_index.md","path":"docs/en/integrations/mariadb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mariadb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mariadb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mariadb/tools/_index.md)","tokens":300,"sizeBytes":205},{"name":"_index.md","path":"docs/en/integrations/mindsdb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/_index.md)","tokens":300,"sizeBytes":205},{"name":"mindsdb-execute-sql.md","path":"docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-execute-sql.md)","tokens":300,"sizeBytes":231},{"name":"mindsdb-sql.md","path":"docs/en/integrations/mindsdb/tools/mindsdb-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mindsdb/tools/mindsdb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mindsdb/tools/mindsdb-sql.md)","tokens":300,"sizeBytes":215},{"name":"_index.md","path":"docs/en/integrations/mongodb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/_index.md)","tokens":300,"sizeBytes":205},{"name":"mongodb-aggregate.md","path":"docs/en/integrations/mongodb/tools/mongodb-aggregate.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-aggregate.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-aggregate.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-aggregate.md)","tokens":300,"sizeBytes":227},{"name":"mongodb-delete-many.md","path":"docs/en/integrations/mongodb/tools/mongodb-delete-many.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-many.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-delete-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-many.md)","tokens":300,"sizeBytes":231},{"name":"mongodb-delete-one.md","path":"docs/en/integrations/mongodb/tools/mongodb-delete-one.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-one.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-delete-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-delete-one.md)","tokens":300,"sizeBytes":229},{"name":"mongodb-find-one.md","path":"docs/en/integrations/mongodb/tools/mongodb-find-one.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find-one.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-find-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find-one.md)","tokens":300,"sizeBytes":225},{"name":"mongodb-find.md","path":"docs/en/integrations/mongodb/tools/mongodb-find.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-find.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-find.md)","tokens":300,"sizeBytes":217},{"name":"mongodb-insert-many.md","path":"docs/en/integrations/mongodb/tools/mongodb-insert-many.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-many.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-insert-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-many.md)","tokens":300,"sizeBytes":231},{"name":"mongodb-insert-one.md","path":"docs/en/integrations/mongodb/tools/mongodb-insert-one.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-one.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-insert-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-insert-one.md)","tokens":300,"sizeBytes":229},{"name":"mongodb-update-many.md","path":"docs/en/integrations/mongodb/tools/mongodb-update-many.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-many.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-update-many.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-many.md)","tokens":300,"sizeBytes":231},{"name":"mongodb-update-one.md","path":"docs/en/integrations/mongodb/tools/mongodb-update-one.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-one.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mongodb/tools/mongodb-update-one.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mongodb/tools/mongodb-update-one.md)","tokens":300,"sizeBytes":229},{"name":"_index.md","path":"docs/en/integrations/mssql/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/_index.md)","tokens":300,"sizeBytes":201},{"name":"mssql-execute-sql.md","path":"docs/en/integrations/mssql/tools/mssql-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-execute-sql.md)","tokens":300,"sizeBytes":223},{"name":"mssql-list-tables.md","path":"docs/en/integrations/mssql/tools/mssql-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-list-tables.md)","tokens":300,"sizeBytes":223},{"name":"mssql-sql.md","path":"docs/en/integrations/mssql/tools/mssql-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mssql/tools/mssql-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mssql/tools/mssql-sql.md)","tokens":300,"sizeBytes":207},{"name":"_index.md","path":"docs/en/integrations/mysql/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/_index.md)","tokens":300,"sizeBytes":201},{"name":"mysql-execute-sql.md","path":"docs/en/integrations/mysql/tools/mysql-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-execute-sql.md)","tokens":300,"sizeBytes":223},{"name":"mysql-get-query-plan.md","path":"docs/en/integrations/mysql/tools/mysql-get-query-plan.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-get-query-plan.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-get-query-plan.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-get-query-plan.md)","tokens":300,"sizeBytes":229},{"name":"mysql-list-active-queries.md","path":"docs/en/integrations/mysql/tools/mysql-list-active-queries.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-active-queries.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-active-queries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-active-queries.md)","tokens":300,"sizeBytes":239},{"name":"mysql-list-all-locks.md","path":"docs/en/integrations/mysql/tools/mysql-list-all-locks.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-all-locks.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-all-locks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-all-locks.md)","tokens":300,"sizeBytes":229},{"name":"mysql-list-table-fragmentation.md","path":"docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-fragmentation.md)","tokens":300,"sizeBytes":249},{"name":"mysql-list-table-stats.md","path":"docs/en/integrations/mysql/tools/mysql-list-table-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-table-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-table-stats.md)","tokens":300,"sizeBytes":233},{"name":"mysql-list-tables-missing-unique-indexes.md","path":"docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables-missing-unique-indexes.md)","tokens":300,"sizeBytes":269},{"name":"mysql-list-tables.md","path":"docs/en/integrations/mysql/tools/mysql-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-list-tables.md)","tokens":300,"sizeBytes":223},{"name":"mysql-show-query-stats.md","path":"docs/en/integrations/mysql/tools/mysql-show-query-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-show-query-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-show-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-show-query-stats.md)","tokens":300,"sizeBytes":233},{"name":"mysql-sql.md","path":"docs/en/integrations/mysql/tools/mysql-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/mysql/tools/mysql-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/mysql/tools/mysql-sql.md)","tokens":300,"sizeBytes":207},{"name":"_index.md","path":"docs/en/integrations/neo4j/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/_index.md)","tokens":300,"sizeBytes":201},{"name":"neo4j-cypher.md","path":"docs/en/integrations/neo4j/tools/neo4j-cypher.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-cypher.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-cypher.md)","tokens":300,"sizeBytes":213},{"name":"neo4j-execute-cypher.md","path":"docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-execute-cypher.md)","tokens":300,"sizeBytes":229},{"name":"neo4j-schema.md","path":"docs/en/integrations/neo4j/tools/neo4j-schema.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-schema.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/neo4j/tools/neo4j-schema.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/neo4j/tools/neo4j-schema.md)","tokens":300,"sizeBytes":213},{"name":"_index.md","path":"docs/en/integrations/oceanbase/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/_index.md)","tokens":300,"sizeBytes":209},{"name":"oceanbase-execute-sql.md","path":"docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-execute-sql.md)","tokens":300,"sizeBytes":239},{"name":"oceanbase-sql.md","path":"docs/en/integrations/oceanbase/tools/oceanbase-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/oceanbase/tools/oceanbase-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oceanbase/tools/oceanbase-sql.md)","tokens":300,"sizeBytes":223},{"name":"_index.md","path":"docs/en/integrations/oracle/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/_index.md)","tokens":300,"sizeBytes":203},{"name":"oracle-execute-sql.md","path":"docs/en/integrations/oracle/tools/oracle-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-execute-sql.md)","tokens":300,"sizeBytes":227},{"name":"oracle-list-tables.md","path":"docs/en/integrations/oracle/tools/oracle-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-list-tables.md)","tokens":300,"sizeBytes":227},{"name":"oracle-sql.md","path":"docs/en/integrations/oracle/tools/oracle-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/oracle/tools/oracle-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/oracle/tools/oracle-sql.md)","tokens":300,"sizeBytes":211},{"name":"_index.md","path":"docs/en/integrations/postgres/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"postgres-database-overview.md","path":"docs/en/integrations/postgres/tools/postgres-database-overview.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-database-overview.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-database-overview.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-database-overview.md)","tokens":300,"sizeBytes":247},{"name":"postgres-execute-sql.md","path":"docs/en/integrations/postgres/tools/postgres-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-execute-sql.md)","tokens":300,"sizeBytes":235},{"name":"postgres-get-column-cardinality.md","path":"docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-get-column-cardinality.md)","tokens":300,"sizeBytes":257},{"name":"postgres-list-active-queries.md","path":"docs/en/integrations/postgres/tools/postgres-list-active-queries.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-active-queries.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-active-queries.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-active-queries.md)","tokens":300,"sizeBytes":251},{"name":"postgres-list-available-extensions.md","path":"docs/en/integrations/postgres/tools/postgres-list-available-extensions.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-available-extensions.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-available-extensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-available-extensions.md)","tokens":300,"sizeBytes":263},{"name":"postgres-list-database-stats.md","path":"docs/en/integrations/postgres/tools/postgres-list-database-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-database-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-database-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-database-stats.md)","tokens":300,"sizeBytes":251},{"name":"postgres-list-indexes.md","path":"docs/en/integrations/postgres/tools/postgres-list-indexes.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-indexes.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-indexes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-indexes.md)","tokens":300,"sizeBytes":237},{"name":"postgres-list-installed-extensions.md","path":"docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-installed-extensions.md)","tokens":300,"sizeBytes":263},{"name":"postgres-list-locks.md","path":"docs/en/integrations/postgres/tools/postgres-list-locks.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-locks.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-locks.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-locks.md)","tokens":300,"sizeBytes":233},{"name":"postgres-list-pg-settings.md","path":"docs/en/integrations/postgres/tools/postgres-list-pg-settings.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-pg-settings.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-pg-settings.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-pg-settings.md)","tokens":300,"sizeBytes":245},{"name":"postgres-list-publication-tables.md","path":"docs/en/integrations/postgres/tools/postgres-list-publication-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-publication-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-publication-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-publication-tables.md)","tokens":300,"sizeBytes":259},{"name":"postgres-list-query-stats.md","path":"docs/en/integrations/postgres/tools/postgres-list-query-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-query-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-query-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-query-stats.md)","tokens":300,"sizeBytes":245},{"name":"postgres-list-roles.md","path":"docs/en/integrations/postgres/tools/postgres-list-roles.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-roles.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-roles.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-roles.md)","tokens":300,"sizeBytes":233},{"name":"postgres-list-schemas.md","path":"docs/en/integrations/postgres/tools/postgres-list-schemas.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-schemas.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-schemas.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-schemas.md)","tokens":300,"sizeBytes":237},{"name":"postgres-list-sequences.md","path":"docs/en/integrations/postgres/tools/postgres-list-sequences.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-sequences.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-sequences.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-sequences.md)","tokens":300,"sizeBytes":241},{"name":"postgres-list-stored-procedure.md","path":"docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-stored-procedure.md)","tokens":300,"sizeBytes":255},{"name":"postgres-list-table-stats.md","path":"docs/en/integrations/postgres/tools/postgres-list-table-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-table-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-table-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-table-stats.md)","tokens":300,"sizeBytes":245},{"name":"postgres-list-tables.md","path":"docs/en/integrations/postgres/tools/postgres-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tables.md)","tokens":300,"sizeBytes":235},{"name":"postgres-list-tablespaces.md","path":"docs/en/integrations/postgres/tools/postgres-list-tablespaces.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tablespaces.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-tablespaces.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-tablespaces.md)","tokens":300,"sizeBytes":245},{"name":"postgres-list-triggers.md","path":"docs/en/integrations/postgres/tools/postgres-list-triggers.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-triggers.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-triggers.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-triggers.md)","tokens":300,"sizeBytes":239},{"name":"postgres-list-views.md","path":"docs/en/integrations/postgres/tools/postgres-list-views.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-views.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-list-views.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-list-views.md)","tokens":300,"sizeBytes":233},{"name":"postgres-long-running-transactions.md","path":"docs/en/integrations/postgres/tools/postgres-long-running-transactions.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-long-running-transactions.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-long-running-transactions.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-long-running-transactions.md)","tokens":300,"sizeBytes":263},{"name":"postgres-replication-stats.md","path":"docs/en/integrations/postgres/tools/postgres-replication-stats.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-replication-stats.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-replication-stats.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-replication-stats.md)","tokens":300,"sizeBytes":247},{"name":"postgres-sql.md","path":"docs/en/integrations/postgres/tools/postgres-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/postgres/tools/postgres-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/postgres/tools/postgres-sql.md)","tokens":300,"sizeBytes":219},{"name":"_index.md","path":"docs/en/integrations/redis/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/redis/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/_index.md)","tokens":300,"sizeBytes":201},{"name":"redis-tool.md","path":"docs/en/integrations/redis/tools/redis-tool.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/redis-tool.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/redis/tools/redis-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/redis/tools/redis-tool.md)","tokens":300,"sizeBytes":209},{"name":"_index.md","path":"docs/en/integrations/scylladb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/scylladb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/_index.md)","tokens":300,"sizeBytes":207},{"name":"scylladb-cql.md","path":"docs/en/integrations/scylladb/tools/scylladb-cql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/scylladb-cql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/scylladb/tools/scylladb-cql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/scylladb/tools/scylladb-cql.md)","tokens":300,"sizeBytes":219},{"name":"_index.md","path":"docs/en/integrations/serverless-spark/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/_index.md)","tokens":300,"sizeBytes":223},{"name":"serverless-spark-cancel-batch.md","path":"docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-cancel-batch.md)","tokens":300,"sizeBytes":269},{"name":"serverless-spark-create-pyspark-batch.md","path":"docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-pyspark-batch.md)","tokens":300,"sizeBytes":285},{"name":"serverless-spark-create-spark-batch.md","path":"docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-create-spark-batch.md)","tokens":300,"sizeBytes":281},{"name":"serverless-spark-get-batch.md","path":"docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-batch.md)","tokens":300,"sizeBytes":263},{"name":"serverless-spark-get-session-template.md","path":"docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-get-session-template.md)","tokens":300,"sizeBytes":285},{"name":"serverless-spark-list-batches.md","path":"docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/serverless-spark/tools/serverless-spark-list-batches.md)","tokens":300,"sizeBytes":269},{"name":"_index.md","path":"docs/en/integrations/singlestore/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/_index.md)","tokens":300,"sizeBytes":213},{"name":"singlestore-execute-sql.md","path":"docs/en/integrations/singlestore/tools/singlestore-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/singlestore-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-execute-sql.md)","tokens":300,"sizeBytes":247},{"name":"singlestore-sql.md","path":"docs/en/integrations/singlestore/tools/singlestore-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/singlestore/tools/singlestore-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/singlestore/tools/singlestore-sql.md)","tokens":300,"sizeBytes":231},{"name":"_index.md","path":"docs/en/integrations/snowflake/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/_index.md)","tokens":300,"sizeBytes":209},{"name":"snowflake-execute-sql.md","path":"docs/en/integrations/snowflake/tools/snowflake-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/snowflake-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-execute-sql.md)","tokens":300,"sizeBytes":239},{"name":"snowflake-sql.md","path":"docs/en/integrations/snowflake/tools/snowflake-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/snowflake/tools/snowflake-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/snowflake/tools/snowflake-sql.md)","tokens":300,"sizeBytes":223},{"name":"_index.md","path":"docs/en/integrations/spanner/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/_index.md)","tokens":300,"sizeBytes":205},{"name":"spanner-execute-sql.md","path":"docs/en/integrations/spanner/tools/spanner-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-execute-sql.md)","tokens":300,"sizeBytes":231},{"name":"spanner-list-graphs.md","path":"docs/en/integrations/spanner/tools/spanner-list-graphs.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-graphs.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-list-graphs.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-graphs.md)","tokens":300,"sizeBytes":231},{"name":"spanner-list-tables.md","path":"docs/en/integrations/spanner/tools/spanner-list-tables.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-tables.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-list-tables.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-list-tables.md)","tokens":300,"sizeBytes":231},{"name":"spanner-search-catalog.md","path":"docs/en/integrations/spanner/tools/spanner-search-catalog.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-search-catalog.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-search-catalog.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-search-catalog.md)","tokens":300,"sizeBytes":237},{"name":"spanner-sql.md","path":"docs/en/integrations/spanner/tools/spanner-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/spanner/tools/spanner-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/spanner/tools/spanner-sql.md)","tokens":300,"sizeBytes":215},{"name":"_index.md","path":"docs/en/integrations/sqlite/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/_index.md)","tokens":300,"sizeBytes":203},{"name":"sqlite-execute-sql.md","path":"docs/en/integrations/sqlite/tools/sqlite-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/sqlite-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-execute-sql.md)","tokens":300,"sizeBytes":227},{"name":"sqlite-sql.md","path":"docs/en/integrations/sqlite/tools/sqlite-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/sqlite/tools/sqlite-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/sqlite/tools/sqlite-sql.md)","tokens":300,"sizeBytes":211},{"name":"_index.md","path":"docs/en/integrations/tidb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/_index.md)","tokens":300,"sizeBytes":199},{"name":"tidb-execute-sql.md","path":"docs/en/integrations/tidb/tools/tidb-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/tidb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-execute-sql.md)","tokens":300,"sizeBytes":219},{"name":"tidb-sql.md","path":"docs/en/integrations/tidb/tools/tidb-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/tidb/tools/tidb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/tidb/tools/tidb-sql.md)","tokens":300,"sizeBytes":203},{"name":"_index.md","path":"docs/en/integrations/trino/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/_index.md)","tokens":300,"sizeBytes":201},{"name":"trino-execute-sql.md","path":"docs/en/integrations/trino/tools/trino-execute-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-execute-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/trino-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-execute-sql.md)","tokens":300,"sizeBytes":223},{"name":"trino-sql.md","path":"docs/en/integrations/trino/tools/trino-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/trino/tools/trino-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/trino/tools/trino-sql.md)","tokens":300,"sizeBytes":207},{"name":"_index.md","path":"docs/en/integrations/utility/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/utility/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/_index.md)","tokens":300,"sizeBytes":205},{"name":"wait.md","path":"docs/en/integrations/utility/tools/wait.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/wait.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/utility/tools/wait.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/utility/tools/wait.md)","tokens":300,"sizeBytes":201},{"name":"_index.md","path":"docs/en/integrations/valkey/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/valkey/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/_index.md)","tokens":300,"sizeBytes":203},{"name":"valkey-tool.md","path":"docs/en/integrations/valkey/tools/valkey-tool.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/valkey-tool.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/valkey/tools/valkey-tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/valkey/tools/valkey-tool.md)","tokens":300,"sizeBytes":213},{"name":"_index.md","path":"docs/en/integrations/yuagbytedb/tools/_index.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/_index.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/yuagbytedb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/_index.md)","tokens":300,"sizeBytes":211},{"name":"yugabytedb-sql.md","path":"docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md","title":"Tools Skill","category":"anthropic-skill","format":"markdown","content":"# Tools Skill\n\nPath: `docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/yuagbytedb/tools/yugabytedb-sql.md)","tokens":300,"sizeBytes":227},{"name":"alloydb-omni.yaml","path":"internal/prebuiltconfigs/tools/alloydb-omni.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/alloydb-omni.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Copyright 2026 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-omni-source\ntype: postgres\nhost: ${ALLOYDB_OMNI_HOST:localhost}\nport: ${ALLOYDB_OMNI_PORT:5432}\ndatabase: ${ALLOYDB_OMNI_DATABASE}\nuser: ${ALLOYDB_OMNI_USER}\npassword: ${ALLOYDB_OMNI_PASSWORD}\nqueryParams: ${ALLOYDB_OMNI_QUERY_PARAMS:}\n---\nkind: tool\nname: execute_sql\ntype: postgres-execute-sql\nsource: alloydb-omni-source\ndescription: Use this tool to execute a single SQL statement.\n---\nkind: tool\nname: list_tables\ntype: postgres-list-tables\nsource: alloydb-omni-source\ndescription: Lists detailed schema information (object type, columns, constraints, indexes, triggers, owner, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas.\n---\nkind: tool\nname: list_active_queries\ntype: postgres-list-active-queries\nsource: alloydb-omni-source\ndescription: List the top N (default 50) currently running queries (state='active') from pg_stat_activity, ordered by longest-running first. Returns pid, user, database, application_name, client_addr, state, wait_event_type/wait_event, backend/xact/query start times, computed query_duration, and the SQL text.\n---\nkind: tool\nname: list_available_extensions\ntype: postgres-list-available-extensions\nsource: alloydb-omni-source\ndescription: Discover all PostgreSQL extensions available for installation on this server, returning name, default_version, and description.\n---\nkind: tool\nname: list_installed_extensions\ntype: postgres-list-installed-extensions\nsource: alloydb-omni-source\ndescription: List all installed PostgreSQL extensions with their name, version, schema, owner, and description.\n---\nkind: tool\nname: long_running_transactions\ntype: postgres-long-running-transactions\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_locks\ntype: postgres-list-locks\nsource: alloydb-omni-source\n---\nkind: tool\nname: replication_stats\ntype: postgres-replication-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_autovacuum_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  category = 'Autovacuum';\n---\nkind: tool\nname: list_columnar_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List AlloyDB Omni columnar-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  name like 'google_columnar_engine.%';\n---\nkind: tool\nname: list_columnar_recommended_columns\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Lists columns that AlloyDB Omni recommends adding to the columnar engine to improve query performance.\nstatement: select * from g_columnar_recommended_columns;\n---\nkind: tool\nname: list_memory_configurations\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List PostgreSQL memory-related configurations (name and current setting) from pg_settings.\nstatement: |\n  (\n      SELECT\n      name,\n      pg_size_pretty((setting::bigint * 1024)::bigint) setting\n      FROM pg_settings\n      WHERE name IN ('work_mem', 'maintenance_work_mem')\n  )\n  UNION ALL\n  (\n      SELECT\n      name,\n      pg_size_pretty((((setting::bigint) * 8) * 1024)::bigint)\n      FROM pg_settings\n      WHERE name IN ('shared_buffers', 'wal_buffers', 'effective_cache_size', 'temp_buffers')\n  )\n  ORDER BY 1 DESC;\n---\nkind: tool\nname: list_top_bloated_tables\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: |\n  List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.\nstatement: |\n  SELECT\n      schemaname AS schema_name,\n      relname AS relation_name,\n      n_live_tup AS live_tuples,\n      n_dead_tup AS dead_tuples,\n      TRUNC((n_dead_tup::NUMERIC / NULLIF(n_live_tup + n_dead_tup, 0)) * 100, 2) AS dead_tuple_percentage,\n      last_vacuum,\n      last_autovacuum,\n      last_analyze,\n      last_autoanalyze\n  FROM pg_stat_user_tables\n  ORDER BY n_dead_tup DESC\n  LIMIT COALESCE($1::int, 50);\nparameters:\n- name: limit\n  description: The maximum number of results to return.\n  type: integer\n  default: 50\n---\nkind: tool\nname: list_replication_slots\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: List key details for all PostgreSQL replication slots (e.g., type, database, active status) and calculates the size of the outstanding WAL that is being prevented from removal by the slot.\nstatement: |\n  SELECT\n  slot_name,\n  slot_type,\n  plugin,\n  database,\n  temporary,\n  active,\n  restart_lsn,\n  confirmed_flush_lsn,\n  xmin,\n  catalog_xmin,\n  pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal\n  FROM pg_replication_slots;\n---\nkind: tool\nname: list_invalid_indexes\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Lists all invalid PostgreSQL indexes which are taking up disk space but are unusable by the query planner. Typically created by failed CREATE INDEX CONCURRENTLY operations.\nstatement: |\n  SELECT\n      nspname AS schema_name,\n      indexrelid::regclass AS index_name,\n      indrelid::regclass AS table_name,\n      pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size,\n      indisready,\n      indisvalid,\n      pg_get_indexdef(pg_class.oid) AS index_def\n  FROM pg_index\n  JOIN pg_class ON pg_class.oid = pg_index.indexrelid\n  JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace\n  WHERE indisvalid = FALSE;\n---\nkind: tool\nname: get_query_plan\ntype: postgres-sql\nsource: alloydb-omni-source\ndescription: Generate a PostgreSQL EXPLAIN plan in JSON format for a single SQL statement—without executing it. This returns the optimizer's estimated plan, costs, and rows (no ANALYZE, no extra options).\nstatement: |\n  EXPLAIN (FORMAT JSON) {{.query}};\ntemplateParameters:\n- name: query\n  type: string\n  description: The SQL statement for which you want to generate plan (omit the EXPLAIN keyword).\n  required: true\n---\nkind: tool\nname: list_views\ntype: postgres-list-views\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_schemas\ntype: postgres-list-schemas\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_indexes\ntype: postgres-list-indexes\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_sequences\ntype: postgres-list-sequences\nsource: alloydb-omni-source\n---\nkind: tool\nname: database_overview\ntype: postgres-database-overview\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_triggers\ntype: postgres-list-triggers\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_query_stats\ntype: postgres-list-query-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: get_column_cardinality\ntype: postgres-get-column-cardinality\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_table_stats\ntype: postgres-list-table-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_publication_tables\ntype: postgres-list-publication-tables\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_tablespaces\ntype: postgres-list-tablespaces\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_pg_settings\ntype: postgres-list-pg-settings\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_database_stats\ntype: postgres-list-database-stats\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_roles\ntype: postgres-list-roles\nsource: alloydb-omni-source\n---\nkind: tool\nname: list_stored_procedure\ntype: postgres-list-stored-procedure\nsource: alloydb-omni-source\n---\nkind: group\nname: data\ndescription: Use these skills when you need to explore the database structure, identify schema objects like views and triggers, and execute SQL queries to interact with your data.\ntools:\n- execute_sql\n- list_tables\n- list_views\n- list_schemas\n- list_triggers\n- list_indexes\n- list_sequences\n- list_stored_procedure\n---\nkind: group\nname: performance\ndescription: Use these skills when you need to analyze query performance, generate execution plans, check table/column statistics, and monitor overall database activity.\ntools:\n- execute_sql\n- get_query_plan\n- list_query_stats\n- get_column_cardinality\n- list_table_stats\n- list_database_stats\n- list_active_queries\n---\nkind: group\nname: monitor\ndescription: Use these skills when you need to troubleshoot production issues by identifying locks, tracking long-running transactions, and getting a high-level view of server state.\ntools:\n- database_overview\n- list_active_queries\n- long_running_transactions\n- list_locks\n- list_database_stats\n- list_pg_settings\n---\nkind: group\nname: optimize\ndescription: Use these skills when you need to fine-tune the database engine settings, manage extensions, or optimize the columnar engine for better analytical performance.\ntools:\n- list_pg_settings\n- list_memory_configurations\n- list_available_extensions\n- list_installed_extensions\n- list_autovacuum_configurations\n- list_columnar_configurations\n- list_columnar_recommended_columns\n---\nkind: group\nname: health\ndescription: Use these skills when you need to audit database health, identify storage bloat, find broken indexes, and verify tablespace or maintenance configurations.\ntools:\n- list_top_bloated_tables\n- list_invalid_indexes\n- list_table_stats\n- list_tablespaces\n- database_overview\n- list_autovacuum_configurations\n---\nkind: group\nname: replication\ndescription: Use these skills when you need to monitor the health of database replication, manage sync states between nodes, and audit publication tables for distributed setups.\ntools:\n- replication_stats\n- list_replication_slots\n- list_publication_tables\n- database_overview\n---\nkind: group\nname: access-control\ndescription: Use these skills when you need to manage user roles, inspect permissions, and verify security-related configuration parameters.\ntools:\n- list_roles\n- list_pg_settings\n- database_overview\n","isInternal":false,"tokens":2567,"sizeBytes":10477},{"name":"alloydb-postgres-admin.yaml","path":"internal/prebuiltconfigs/tools/alloydb-postgres-admin.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/alloydb-postgres-admin.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-admin-source\ntype: alloydb-admin\ndefaultProject: ${ALLOYDB_POSTGRES_PROJECT:}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: tool\nname: create_cluster\ntype: alloydb-create-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: wait_for_operation\ntype: alloydb-wait-for-operation\nsource: alloydb-admin-source\ndelay: 1s\nmaxDelay: 4m\nmultiplier: 2\nmaxRetries: 10\n---\nkind: tool\nname: create_instance\ntype: alloydb-create-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_clusters\ntype: alloydb-list-clusters\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_instances\ntype: alloydb-list-instances\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_users\ntype: alloydb-list-users\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_user\ntype: alloydb-create-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_cluster\ntype: alloydb-get-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_instance\ntype: alloydb-get-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_user\ntype: alloydb-get-user\nsource: alloydb-admin-source\n---\nkind: toolset\nname: alloydb_postgres_admin_tools\ntools:\n- create_cluster\n- wait_for_operation\n- create_instance\n- list_clusters\n- list_instances\n- list_users\n- create_user\n- get_cluster\n- get_instance\n- get_user\n","isInternal":false,"tokens":497,"sizeBytes":1905},{"name":"alloydb-postgres-observability.yaml","path":"internal/prebuiltconfigs/tools/alloydb-postgres-observability.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/alloydb-postgres-observability.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nkind: source\nname: cloud-monitoring-source\ntype: cloud-monitoring\n---\nkind: tool\nname: get_system_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches system level cloudmonitoring data (timeseries metrics) for an AlloyDB cluster, instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB system metrics using the provided metrics and rules. Get labels like `cluster_id` and `instance_id` from the user's intent.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels\n  1. `alloydb.googleapis.com/instance/cpu/average_utilization`: The percentage of CPU being used on an instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  2. `alloydb.googleapis.com/instance/cpu/maximum_utilization`: Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  3. `alloydb.googleapis.com/cluster/storage/usage`: The total AlloyDB storage in bytes across the entire cluster. `alloydb.googleapis.com/Cluster`. `cluster_id`.\n  4. `alloydb.googleapis.com/instance/postgres/replication/replicas`: The number of read replicas connected to the primary instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`, `replica_instance_id`.\n  5. `alloydb.googleapis.com/instance/postgres/replication/maximum_lag`: The maximum replication time lag calculated across all serving read replicas of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `replica_instance_id`.\n  6. `alloydb.googleapis.com/instance/memory/min_available_memory`: The minimum available memory across all currently serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  7. `alloydb.googleapis.com/instance/postgres/instances`: The number of nodes in the instance, along with their status, which can be either up or down. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `status`.\n  8. `alloydb.googleapis.com/database/postgresql/tuples`: Number of tuples (rows) by state per database in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `state`.\n  9. `alloydb.googleapis.com/database/postgresql/temp_bytes_written_for_top_databases`: The total amount of data(in bytes) written to temporary files by the queries per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  10. `alloydb.googleapis.com/database/postgresql/temp_files_written_for_top_databases`: The number of temporary files used for writing data per database while performing internal algorithms like join, sort etc for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  11. `alloydb.googleapis.com/database/postgresql/inserted_tuples_count_for_top_databases`: The total number of rows inserted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  12. `alloydb.googleapis.com/database/postgresql/updated_tuples_count_for_top_databases`: The total number of rows updated per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  13. `alloydb.googleapis.com/database/postgresql/deleted_tuples_count_for_top_databases`: The total  number of rows deleted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  14. `alloydb.googleapis.com/database/postgresql/backends_for_top_databases`: The current number of connections per database to the instance for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  15. `alloydb.googleapis.com/instance/postgresql/backends_by_state`: The current number of connections to the instance grouped by the state like idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, and fastpath_function_call. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`.\n  16. `alloydb.googleapis.com/instance/postgresql/backends_for_top_applications`: The current number of connections to the AlloyDB instance, grouped by applications for top 500 applications. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `application_name`.\n  17. `alloydb.googleapis.com/database/postgresql/new_connections_for_top_databases`: Total number of new connections added per database for top 500 databases to the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  18. `alloydb.googleapis.com/database/postgresql/deadlock_count_for_top_databases`: Total number of deadlocks detected in the instance per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  19. `alloydb.googleapis.com/database/postgresql/statements_executed_count`: Total count of statements executed in the instance per database per operation_type. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `operation_type`.\n  20. `alloydb.googleapis.com/instance/postgresql/returned_tuples_count`: Number of rows scanned while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  21. `alloydb.googleapis.com/instance/postgresql/fetched_tuples_count`: Number of rows fetched while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  22. `alloydb.googleapis.com/instance/postgresql/updated_tuples_count`: Number of rows updated while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  23. `alloydb.googleapis.com/instance/postgresql/inserted_tuples_count`: Number of rows inserted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  24. `alloydb.googleapis.com/instance/postgresql/deleted_tuples_count`: Number of rows deleted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  25. `alloydb.googleapis.com/instance/postgresql/written_tuples_count`: Number of rows written while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  26. `alloydb.googleapis.com/instance/postgresql/deadlock_count`: Number of deadlocks detected in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  27. `alloydb.googleapis.com/instance/postgresql/blks_read`: Number of blocks read by Postgres that were not in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  28. `alloydb.googleapis.com/instance/postgresql/blks_hit`: Number of times Postgres found the requested block in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  29. `alloydb.googleapis.com/instance/postgresql/temp_bytes_written_count`: The total amount of data(in bytes) written to temporary files by the queries while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  30. `alloydb.googleapis.com/instance/postgresql/temp_files_written_count`: The number of temporary files used for writing data in the instance while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  31. `alloydb.googleapis.com/instance/postgresql/new_connections_count`: The number new connections added to the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  32. `alloydb.googleapis.com/instance/postgresql/wait_count`: Total number of times processes waited for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  33. `alloydb.googleapis.com/instance/postgresql/wait_time`: Total elapsed wait time for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  34. `alloydb.googleapis.com/instance/postgres/transaction_count`: The number of committed and rolled back transactions across all serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n---\nkind: tool\nname: get_query_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches query level cloudmonitoring data (timeseries metrics) for queries running in an AlloyDB instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB query metrics using the provided metrics and rules. Get labels like `cluster_id`, `instance_id`, and `query_hash` from the user's intent. If `query_hash` is provided, use the per-query metrics.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels. aggregate is the aggregated values for all query stats, Use aggregate metrics if query id is not provided. For perquery metrics do not fetch querystring unless specified by user specifically. Have the aggregation on query hash to avoid fetching the querystring. Do not use latency metrics for anything.\n  1. `alloydb.googleapis.com/database/postgresql/insights/aggregate/latencies`: Aggregated query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  2. `alloydb.googleapis.com/database/postgresql/insights/aggregate/execution_time`: Accumulated aggregated query execution time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  3. `alloydb.googleapis.com/database/postgresql/insights/aggregate/io_time`: Accumulated aggregated IO time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`.\n  4. `alloydb.googleapis.com/database/postgresql/insights/aggregate/lock_time`: Accumulated aggregated lock wait time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`.\n  5. `alloydb.googleapis.com/database/postgresql/insights/aggregate/row_count`: Aggregated number of retrieved or affected rows since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  6. `alloydb.googleapis.com/database/postgresql/insights/aggregate/shared_blk_access_count`: Aggregated shared blocks accessed by statement execution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`.\n  7. `alloydb.googleapis.com/database/postgresql/insights/perquery/latencies`: Per query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  8. `alloydb.googleapis.com/database/postgresql/insights/perquery/execution_time`: Accumulated execution times per user per database per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  9. `alloydb.googleapis.com/database/postgresql/insights/perquery/io_time`: Accumulated IO time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`, `querystring`, `query_hash`.\n  10. `alloydb.googleapis.com/database/postgresql/insights/perquery/lock_time`: Accumulated lock wait time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`, `querystring`, `query_hash`.\n  11. `alloydb.googleapis.com/database/postgresql/insights/perquery/row_count`: The number of retrieved or affected rows since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  12. `alloydb.googleapis.com/database/postgresql/insights/perquery/shared_blk_access_count`: Shared blocks accessed by statement execution per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`, `querystring`, `query_hash`.\n  13. `alloydb.googleapis.com/database/postgresql/insights/pertag/latencies`: Query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  14. `alloydb.googleapis.com/database/postgresql/insights/pertag/execution_time`: Accumulated execution times since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  15. `alloydb.googleapis.com/database/postgresql/insights/pertag/io_time`: Accumulated IO time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `io_type`, `tag_hash`.\n  16. `alloydb.googleapis.com/database/postgresql/insights/pertag/lock_time`: Accumulated lock wait time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `lock_type`, `tag_hash`.\n  17. `alloydb.googleapis.com/database/postgresql/insights/pertag/shared_blk_access_count`: Shared blocks accessed by statement execution per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `access_type`, `tag_hash`.\n  18. `alloydb.googleapis.com/database/postgresql/insights/pertag/row_count`: The number of retrieved or affected rows since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n---\nkind: toolset\nname: alloydb_postgres_cloud_monitoring_tools\ntools:\n- get_system_metrics\n- get_query_metrics\n---\nkind: source\nname: database-insights-source\ntype: databaseinsights\n---\nkind: tool\nname: get_advanced_aggregated_query_stats\ntype: databaseinsights-get-advanced-aggregated-query-stats\nsource: database-insights-source\ndescription: |\n  Fetches aggregated query execution statistics for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, as well as pagination. Returns statistics including query ID, database name, total execution time (sum(execution_time)), average execution time (avg(execution_time)), total execution count (sum(count)), total wait time (sum(wait_time)), and normalized query text. Requires advanced query insights to be enabled.\n  **IMPORTANT:**\n    Use these parameters to narrow down the results as requested by the user.\n    - If the user asks for a specific number of results (e.g., \"Top 10\", \"First 5\", \"List 50\"), map that number directly to page_size.\n    - If they ask for a specific user or database, use the corresponding arguments.\n    - When fetching results for a time range (e.g., \"last 24 hours\"), you MUST calculate and provide EXPLICIT 'start_time' AND 'end_time' in RFC3339 format. This pins the data window so that 'page_token' remains valid for subsequent requests. If 'page_token' is present, 'start_time' and 'end_time' MUST match the initial request.\n  Use Cases:\n    - Identify top queries: \"I want execution details about top queries executed on database <database_name> on instance <instance_id> in the last 6 hours.\"\n    - Monitor specific user activity: \"What were the top queries run by user <user_name> in the last hour?\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching stats in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching stats in RFC3339 format (Defaults to 'now').\n    - 'database': Filter results to a specific database name.\n    - 'username': Filter results to a specific database user.\n    - 'query_id': Fetch aggregated statistics for a single, specific query hash.\n    - 'page_size': Maximum number of query stats to return (Default: 20).\n    - 'page_token': Token for fetching the next set of results.\n  Response:\n    Returns a ranked list of queries with metrics: sum(execution_time), sum(count), avg(execution_time), sum(wait_time), and normalized_query_text.\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution and Wait times**: Metrics like 'sum(execution_time)', 'avg(execution_time)', and 'sum(wait_time)' are in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n---\nkind: tool\nname: get_advanced_aggregated_wait_event_stats\ntype: databaseinsights-get-advanced-aggregated-wait-event-stats\nsource: database-insights-source\ndescription: |\n  Fetches aggregated wait event statistics to identify performance bottlenecks for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, selecting the aggregation level (by wait class or granular wait event), as well as pagination. Returns statistics including wait class or event name, total time spent (sum(time_spent)), average time spent (avg(time_spent)), and total wait count (sum(count)). Requires advanced query insights to be enabled.\n  **IMPORTANT:**\n    Use these parameters to narrow down the results as requested by the user.\n    - If the user asks for a specific number of results (e.g., \"Top 10\", \"First 5\", \"List 50\"), map that number directly to page_size.\n    - If they ask for a specific user or database, use the corresponding arguments.\n    - When fetching results for a time range (e.g., \"last 24 hours\"), you MUST calculate and provide EXPLICIT 'start_time' AND 'end_time' in RFC3339 format. This pins the data window so that 'page_token' remains valid for subsequent requests. If 'page_token' is present, 'start_time' and 'end_time' MUST match the initial request.\n  Intent Interpretation Rules\n    - If the user asks for \"trend\", \"overview\", \"pattern\", or \"high-level analysis\": Use view = WAIT_CLASS (default), EVEN if they say \"wait events\".\n    - Only use view = WAIT_EVENT when the user explicitly asks for:\n      - \"detailed wait events\"\n      - \"specific wait event names\"\n      - \"granular breakdown\"\n      - or mentions specific wait events (e.g., \"ClientWrite\", \"DataFileRead\")\n    - If a query_id is provided WITHOUT explicit request for granularity default to WAIT_CLASS\n    - Phrase \"wait events trend\" should be interpreted as high-level category trend (WAIT_CLASS), NOT individual event types\n    - When in doubt: Prefer WAIT_CLASS (more readable and useful for analysis)\n  Use Cases:\n    - Diagnose bottlenecks: \"What are the top wait events on my instance <instance_id> over the last 2 hours?\"\n    - Query deep-dive: \"Why is query hash <query_id> so slow? Show me its wait events.\"\n    - Investigate contention: \"What wait events is the user <user_name> experiencing in the database <database_name>?\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching stats in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching stats in RFC3339 format (Defaults to 'now').\n    - 'database': Filter stats to a specific database.\n    - 'username': Filter stats to a specific database user.\n    - 'query_id': Breakdown wait events for a specific query hash.\n    - 'page_size': Maximum number of results to return (Default: 20).\n    - 'page_token': Token for fetching the next set of results.\n    - 'view': Aggregation level. Use 'WAIT_CLASS' for high-level categories (e.g., Lock, IO) or 'WAIT_EVENT' for granular details (e.g., ClientWrite, DataFileRead). Defaults to 'WAIT_CLASS'.\n  Response:\n    A dataset showing wait types and the total time spent (\"sum(time_spent)\") in each state.\n    **UNIT AND FORMATTING RULES:**\n      1. **Wait times**: The metric 'sum(time_spent)' is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_advanced_time_series_query_stats\ntype: databaseinsights-get-advanced-time-series-query-stats\nsource: database-insights-source\ndescription: |\n  Fetches time-series history of query execution statistics to analyze trends and spikes for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID. Returns time-series data including rates of execution time (rate(execution_time)) and wait time (rate(wait_time)). Requires advanced query insights to be enabled.\n  Use Cases:\n    - Investigate Latency Spikes: \"Show me the performance trends for query hash -4318400215895414374 over the last 3 hours.\"\n    - Database-Wide Performance: \"How has the execution time for my database 'app_db' changed since yesterday?\"\n    - User-Specific Consumption: \"Get the query history for user 'reporting_svc' over the last 30 minutes.\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching history in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching history in RFC3339 format (Defaults to 'now').\n    - 'database': Filter results to a specific database name.\n    - 'username': Filter results to a specific database user.\n    - 'query_id': Fetch history for a single, specific query hash.\n  Response:\n    Returns a list of time-series data points with metrics like rate(execution_time) and rate(count).\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution times**: The metric 'rate(execution_time)' is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_advanced_time_series_wait_event_stats\ntype: databaseinsights-get-advanced-time-series-wait-event-stats\nsource: database-insights-source\ndescription: |\n  Fetches time-series history of wait event statistics to analyze contention trends for a requested AlloyDB instance within a specified time period. Supports filtering by database name, database user, and a specific query ID, as well as selecting the aggregation level (by wait class or granular wait event). Returns time-series data including rate of time spent (rate(time_spent)) grouped by wait class or event. Requires advanced query insights to be enabled.\n  Intent Interpretation Rules\n    - If the user asks for \"trend\", \"overview\", \"pattern\", or \"high-level analysis\": Use view = WAIT_CLASS (default), EVEN if they say \"wait events\".\n    - Only use view = WAIT_EVENT when the user explicitly asks for:\n      - \"detailed wait events\"\n      - \"specific wait event names\"\n      - \"granular breakdown\"\n      - or mentions specific wait events (e.g., \"ClientWrite\", \"DataFileRead\")\n    - If a query_id is provided WITHOUT explicit request for granularity default to WAIT_CLASS\n    - Phrase \"wait events trend\" should be interpreted as high-level category trend (WAIT_CLASS), NOT individual event types\n    - When in doubt: Prefer WAIT_CLASS (more readable and useful for analysis)\n  Use Cases:\n    - Analyze Periodic Contention: \"Show me the wait event history for the last 4 hours on instance 'primary-1'. Is there a spike in IO or Locks every hour?\"\n    - Query-Level Bottleneck Evolution: \"For query hash -4318400215895414374, show me the trend of its wait events over the last day.\"\n    - Correlate Traffic with Lock Contention: \"Get the wait event history for user 'app_backend' in 'prod_db' between 9 AM and 11 AM today.\"\n  **REQUIRED PARAMETERS (Mandatory):**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location}\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id}\n  **OPTIONAL PARAMETERS (Additional Filters):**\n    - 'start_time': Beginning of the interval for fetching history in RFC3339 format (Defaults to 1 hour ago).\n    - 'end_time': End of the interval for fetching history in RFC3339 format (Defaults to 'now').\n    - 'database': Filter history to a specific database.\n    - 'username': Filter history to a specific database user.\n    - 'query_id': Breakdown wait events over time for a specific query hash.\n    - 'view': Aggregation level. Use 'WAIT_CLASS' for high-level categories (e.g., Lock, IO) or 'WAIT_EVENT' for granular details (e.g., ClientWrite, DataFileRead). Defaults to 'WAIT_CLASS'.\n  Response:\n    A dataset of time-series points showing the rate of time spent in various wait states.\n    **UNIT AND FORMATTING RULES:**\n      1. **Wait times**: The rate of time spent is in microseconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: 1112.3 microseconds should be reported as 1.11 ms.\n---\nkind: tool\nname: get_index_recommendations\ntype: databaseinsights-get-index-recommendations\nsource: database-insights-source\ndescription: |\n  Fetches index advisor suggestions to optimize performance for a requested AlloyDB instance. Supports requesting recommendations for specific databases and a list of query IDs. Returns index recommendations including SQL commands (CREATE INDEX), target schema, relation, and columns, estimated storage size, and predicted query performance improvements (current vs estimated execution duration). Requires advanced query insights to be enabled.\n  Supported Engines:\n    AlloyDB only.\n  Use Cases:\n    - Targeted Optimization: \"I found a slow query with ID <query_id> in my 'sales' database. What index should I add to fix it?\"\n    - Multi-Database Tuning: \"Analyze performance recommendations for query <id_1> in the 'orders' database and query <id_2> in the 'shipping' database.\"\n    - ROI Validation: \"How much faster will my query become if I apply the suggested index, and how much storage will it consume?\"\n  **PARAMETERS:**\n    1. 'parent': Project and location. Format: projects/{project_id}/locations/{location} (Required)\n    2. 'full_resource_name': The full identifier for the AlloyDB instance. Provide the full resource name ONLY in the following format: //alloydb.googleapis.com/projects/{project_id}/locations/{location}/clusters/{cluster_id}/instances/{instance_id} (Required)\n    3. 'database_query_ids': Optional. A list of objects used to target specific queries. Example schema: [{'database': 'dbname', 'query_ids': [12345]}]. If omitted or empty, provides aggregated instance-level recommendations.\n  Response Fields:\n    The response is structured under 'database_index_recommendations', which includes:\n    1. **index_recommendations (List of Objects)**:\n       - 'sql_command': The exact DDL statement to execute to create the index.\n       - 'schema': The schema name for the recommended index.\n       - 'relation': The table name for the recommended index.\n       - 'columns': A list of column names the index targets.\n       - 'estimated_storage_size_bytes': Predicted disk space consumption.\n       - 'impacted_query_ids': List of query IDs that benefit from THIS specific index.\n       - 'impacted_queries_count': Total number of queries that would be improved by this index.\n       - 'index_recommendation_id': Unique ID for mapping back to query improvements.\n    2. **query_improvements (Map of Query ID to Improvement Object)**:\n       - 'query_id': The specific query hash being analyzed.\n       - 'index_recommendation_ids': A list of IDs matching 'index_recommendation_id' above that contribute to this query's gain.\n       - 'current_total_execution_duration': Baseline performance metric.\n       - 'estimated_new_total_execution_duration': Predicted performance after index application.\n    **UNIT AND FORMATTING RULES:**\n      1. **Execution Durations**: The 'current_total_execution_duration' and 'estimated_new_total_execution_duration' are in seconds.\n         ALWAYS report these values, rounded to two decimal places, in **milliseconds** (ms) if less than 1 second, or in **seconds** (s) if 1 second or more.\n         Example: A duration of 0.00111s should be reported as 1.11 ms.\n      2. **Storage Size**: The 'estimated_storage_size_bytes' is in bytes.\n         Use the 1024-based binary conversion for byte units (e.g., KiB, MiB, GiB).\n         Example: A size of 26124288 bytes should be reported as 24.91 MB.\n    **Important**:\n    - Recommendations may only be available for a subset of the requested IDs or no IDs at all.\n    - Always cross-reference the 'query_improvements' map and 'impacted_query_ids' to verify which requested IDs are actually valid for optimization.\n    - If 'query_ids' was empty in the request, the response provides aggregated instance-level recommendations.\n---\nkind: toolset\nname: alloydb_postgres_database_insights_tools\ntools:\n- get_advanced_aggregated_query_stats\n- get_advanced_aggregated_wait_event_stats\n- get_advanced_time_series_query_stats\n- get_advanced_time_series_wait_event_stats\n- get_index_recommendations\n---\nkind: toolset\nname: alloydb_postgres_observability_tools\ntools:\n- get_system_metrics\n- get_query_metrics\n- get_advanced_aggregated_query_stats\n- get_advanced_aggregated_wait_event_stats\n- get_advanced_time_series_query_stats\n- get_advanced_time_series_wait_event_stats\n- get_index_recommendations\n","isInternal":false,"tokens":8505,"sizeBytes":35581},{"name":"alloydb-postgres.yaml","path":"internal/prebuiltconfigs/tools/alloydb-postgres.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/alloydb-postgres.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: alloydb-pg-source\ntype: alloydb-postgres\nproject: ${ALLOYDB_POSTGRES_PROJECT}\nregion: ${ALLOYDB_POSTGRES_REGION}\ncluster: ${ALLOYDB_POSTGRES_CLUSTER}\ninstance: ${ALLOYDB_POSTGRES_INSTANCE}\ndatabase: ${ALLOYDB_POSTGRES_DATABASE}\nuser: ${ALLOYDB_POSTGRES_USER:}\npassword: ${ALLOYDB_POSTGRES_PASSWORD:}\nipType: ${ALLOYDB_POSTGRES_IP_TYPE:public}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: source\nname: cloud-monitoring-source\ntype: cloud-monitoring\n---\nkind: source\nname: alloydb-admin-source\ntype: alloydb-admin\ndefaultProject: ${ALLOYDB_POSTGRES_PROJECT:}\nreadOnly: ${ALLOYDB_POSTGRES_READONLY:false}\n---\nkind: tool\nname: execute_sql\ntype: postgres-execute-sql\nsource: alloydb-pg-source\ndescription: Use this tool to execute a single SQL statement.\n---\nkind: tool\nname: list_tables\ntype: postgres-list-tables\nsource: alloydb-pg-source\ndescription: Lists detailed schema information (object type, columns, constraints, indexes, triggers, owner, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas.\n---\nkind: tool\nname: list_active_queries\ntype: postgres-list-active-queries\nsource: alloydb-pg-source\ndescription: List the top N (default 50) currently running queries (state='active') from pg_stat_activity, ordered by longest-running first. Returns pid, user, database, application_name, client_addr, state, wait_event_type/wait_event, backend/xact/query start times, computed query_duration, and the SQL text.\n---\nkind: tool\nname: list_available_extensions\ntype: postgres-list-available-extensions\nsource: alloydb-pg-source\ndescription: Discover all PostgreSQL extensions available for installation on this server, returning name, default_version, and description.\n---\nkind: tool\nname: list_installed_extensions\ntype: postgres-list-installed-extensions\nsource: alloydb-pg-source\ndescription: List all installed PostgreSQL extensions with their name, version, schema, owner, and description.\n---\nkind: tool\nname: long_running_transactions\ntype: postgres-long-running-transactions\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_locks\ntype: postgres-list-locks\nsource: alloydb-pg-source\n---\nkind: tool\nname: replication_stats\ntype: postgres-replication-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_autovacuum_configurations\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.\nstatement: |\n  SELECT name,\n      setting\n  FROM   pg_settings\n  WHERE  category = 'Autovacuum';\n---\nkind: tool\nname: list_memory_configurations\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List PostgreSQL memory-related configurations (name and current setting) from pg_settings.\nstatement: |\n  (\n      SELECT\n      name,\n      pg_size_pretty((setting::bigint * 1024)::bigint) setting\n      FROM pg_settings\n      WHERE name IN ('work_mem', 'maintenance_work_mem')\n  )\n  UNION ALL\n  (\n      SELECT\n      name,\n      pg_size_pretty((((setting::bigint) * 8) * 1024)::bigint)\n      FROM pg_settings\n      WHERE name IN ('shared_buffers', 'wal_buffers', 'effective_cache_size', 'temp_buffers')\n  )\n  ORDER BY 1 DESC;\n---\nkind: tool\nname: list_top_bloated_tables\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: |\n  List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.\nstatement: |\n  SELECT\n      schemaname AS schema_name,\n      relname AS relation_name,\n      n_live_tup AS live_tuples,\n      n_dead_tup AS dead_tuples,\n      TRUNC((n_dead_tup::NUMERIC / NULLIF(n_live_tup + n_dead_tup, 0)) * 100, 2) AS dead_tuple_percentage,\n      last_vacuum,\n      last_autovacuum,\n      last_analyze,\n      last_autoanalyze\n  FROM pg_stat_user_tables\n  ORDER BY n_dead_tup DESC\n  LIMIT COALESCE($1::int, 50);\nparameters:\n- name: limit\n  description: The maximum number of results to return.\n  type: integer\n  default: 50\n---\nkind: tool\nname: list_replication_slots\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: List key details for all PostgreSQL replication slots (e.g., type, database, active status) and calculates the size of the outstanding WAL that is being prevented from removal by the slot.\nstatement: |\n  SELECT\n  slot_name,\n  slot_type,\n  plugin,\n  database,\n  temporary,\n  active,\n  restart_lsn,\n  confirmed_flush_lsn,\n  xmin,\n  catalog_xmin,\n  pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal\n  FROM pg_replication_slots;\n---\nkind: tool\nname: list_invalid_indexes\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: Lists all invalid PostgreSQL indexes which are taking up disk space but are unusable by the query planner. Typically created by failed CREATE INDEX CONCURRENTLY operations.\nstatement: |\n  SELECT\n      nspname AS schema_name,\n      indexrelid::regclass AS index_name,\n      indrelid::regclass AS table_name,\n      pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size,\n      indisready,\n      indisvalid,\n      pg_get_indexdef(pg_class.oid) AS index_def\n  FROM pg_index\n  JOIN pg_class ON pg_class.oid = pg_index.indexrelid\n  JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace\n  WHERE indisvalid = FALSE;\n---\nkind: tool\nname: get_query_plan\ntype: postgres-sql\nsource: alloydb-pg-source\ndescription: Generate a PostgreSQL EXPLAIN plan in JSON format for a single SQL statement—without executing it. This returns the optimizer's estimated plan, costs, and rows (no ANALYZE, no extra options). Use in production safely for plan inspection, regression checks, and query tuning workflows.\nstatement: |\n  EXPLAIN (FORMAT JSON) {{.query}};\ntemplateParameters:\n- name: query\n  type: string\n  description: The SQL statement for which you want to generate plan (omit the EXPLAIN keyword).\n  required: true\n---\nkind: tool\nname: list_views\ntype: postgres-list-views\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_schemas\ntype: postgres-list-schemas\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_indexes\ntype: postgres-list-indexes\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_sequences\ntype: postgres-list-sequences\nsource: alloydb-pg-source\n---\nkind: tool\nname: database_overview\ntype: postgres-database-overview\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_triggers\ntype: postgres-list-triggers\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_query_stats\ntype: postgres-list-query-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: get_column_cardinality\ntype: postgres-get-column-cardinality\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_table_stats\ntype: postgres-list-table-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_publication_tables\ntype: postgres-list-publication-tables\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_tablespaces\ntype: postgres-list-tablespaces\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_pg_settings\ntype: postgres-list-pg-settings\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_database_stats\ntype: postgres-list-database-stats\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_roles\ntype: postgres-list-roles\nsource: alloydb-pg-source\n---\nkind: tool\nname: list_stored_procedure\ntype: postgres-list-stored-procedure\nsource: alloydb-pg-source\n---\nkind: tool\nname: get_system_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches system level cloudmonitoring data (timeseries metrics) for an AlloyDB cluster, instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB system metrics using the provided metrics and rules. Get labels like `cluster_id` and `instance_id` from the user's intent.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels\n  1. `alloydb.googleapis.com/instance/cpu/average_utilization`: The percentage of CPU being used on an instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  2. `alloydb.googleapis.com/instance/cpu/maximum_utilization`: Maximum CPU utilization across all currently serving nodes of the instance from 0 to 100. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  3. `alloydb.googleapis.com/cluster/storage/usage`: The total AlloyDB storage in bytes across the entire cluster. `alloydb.googleapis.com/Cluster`. `cluster_id`.\n  4. `alloydb.googleapis.com/instance/postgres/replication/replicas`: The number of read replicas connected to the primary instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`, `replica_instance_id`.\n  5. `alloydb.googleapis.com/instance/postgres/replication/maximum_lag`: The maximum replication time lag calculated across all serving read replicas of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `replica_instance_id`.\n  6. `alloydb.googleapis.com/instance/memory/min_available_memory`: The minimum available memory across all currently serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  7. `alloydb.googleapis.com/instance/postgres/instances`: The number of nodes in the instance, along with their status, which can be either up or down. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `status`.\n  8. `alloydb.googleapis.com/database/postgresql/tuples`: Number of tuples (rows) by state per database in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `state`.\n  9. `alloydb.googleapis.com/database/postgresql/temp_bytes_written_for_top_databases`: The total amount of data(in bytes) written to temporary files by the queries per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  10. `alloydb.googleapis.com/database/postgresql/temp_files_written_for_top_databases`: The number of temporary files used for writing data per database while performing internal algorithms like join, sort etc for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  11. `alloydb.googleapis.com/database/postgresql/inserted_tuples_count_for_top_databases`: The total number of rows inserted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  12. `alloydb.googleapis.com/database/postgresql/updated_tuples_count_for_top_databases`: The total number of rows updated per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  13. `alloydb.googleapis.com/database/postgresql/deleted_tuples_count_for_top_databases`: The total  number of rows deleted per db for top 500 dbs as a result of the queries in the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  14. `alloydb.googleapis.com/database/postgresql/backends_for_top_databases`: The current number of connections per database to the instance for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  15. `alloydb.googleapis.com/instance/postgresql/backends_by_state`: The current number of connections to the instance grouped by the state like idle, active, idle_in_transaction, idle_in_transaction_aborted, disabled, and fastpath_function_call. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `state`.\n  16. `alloydb.googleapis.com/instance/postgresql/backends_for_top_applications`: The current number of connections to the AlloyDB instance, grouped by applications for top 500 applications. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `application_name`.\n  17. `alloydb.googleapis.com/database/postgresql/new_connections_for_top_databases`: Total number of new connections added per database for top 500 databases to the instance. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  18. `alloydb.googleapis.com/database/postgresql/deadlock_count_for_top_databases`: Total number of deadlocks detected in the instance per database for top 500 dbs. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`.\n  19. `alloydb.googleapis.com/database/postgresql/statements_executed_count`: Total count of statements executed in the instance per database per operation_type. `alloydb.googleapis.com/Database`. `cluster_id`, `instance_id`, `database`, `operation_type`.\n  20. `alloydb.googleapis.com/instance/postgresql/returned_tuples_count`: Number of rows scanned while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  21. `alloydb.googleapis.com/instance/postgresql/fetched_tuples_count`: Number of rows fetched while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  22. `alloydb.googleapis.com/instance/postgresql/updated_tuples_count`: Number of rows updated while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  23. `alloydb.googleapis.com/instance/postgresql/inserted_tuples_count`: Number of rows inserted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  24. `alloydb.googleapis.com/instance/postgresql/deleted_tuples_count`: Number of rows deleted while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  25. `alloydb.googleapis.com/instance/postgresql/written_tuples_count`: Number of rows written while processing the queries in the instance since the last sample. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  26. `alloydb.googleapis.com/instance/postgresql/deadlock_count`: Number of deadlocks detected in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  27. `alloydb.googleapis.com/instance/postgresql/blks_read`: Number of blocks read by Postgres that were not in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  28. `alloydb.googleapis.com/instance/postgresql/blks_hit`: Number of times Postgres found the requested block in the buffer cache. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  29. `alloydb.googleapis.com/instance/postgresql/temp_bytes_written_count`: The total amount of data(in bytes) written to temporary files by the queries while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  30. `alloydb.googleapis.com/instance/postgresql/temp_files_written_count`: The number of temporary files used for writing data in the instance while performing internal algorithms like join, sort etc. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  31. `alloydb.googleapis.com/instance/postgresql/new_connections_count`: The number new connections added to the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n  32. `alloydb.googleapis.com/instance/postgresql/wait_count`: Total number of times processes waited for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  33. `alloydb.googleapis.com/instance/postgresql/wait_time`: Total elapsed wait time for each wait event in the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`, `wait_event_type`, `wait_event_name`.\n  34. `alloydb.googleapis.com/instance/postgres/transaction_count`: The number of committed and rolled back transactions across all serving nodes of the instance. `alloydb.googleapis.com/Instance`. `cluster_id`, `instance_id`.\n---\nkind: tool\nname: list_clusters\ntype: alloydb-list-clusters\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_cluster\ntype: alloydb-create-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_users\ntype: alloydb-list-users\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_user\ntype: alloydb-create-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_user\ntype: alloydb-get-user\nsource: alloydb-admin-source\n---\nkind: tool\nname: wait_for_operation\ntype: alloydb-wait-for-operation\nsource: alloydb-admin-source\ndelay: 1s\nmaxDelay: 4m\nmultiplier: 2\nmaxRetries: 10\n---\nkind: tool\nname: get_query_metrics\ntype: cloud-monitoring-query-prometheus\nsource: cloud-monitoring-source\ndescription: |\n  Fetches query level cloudmonitoring data (timeseries metrics) for queries running in an AlloyDB instance.\n  To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`.\n  \n  Generate the PromQL `query` for AlloyDB query metrics using the provided metrics and rules. Get labels like `cluster_id`, `instance_id`, and `query_hash` from the user's intent. If `query_hash` is provided, use the per-query metrics.\n  \n  Defaults:\n  1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user.\n  \n  PromQL Query Examples:\n  1. Basic Time Series: `avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m])`\n  2. Top K: `topk(30, avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\"}[5m]))`\n  3. Mean: `avg(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"my-instance\",\"cluster_id\"=\"my-cluster\"}[5m]))`\n  4. Minimum: `min(min_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  5. Maximum: `max(max_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  6. Sum: `sum(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  7. Count streams: `count(avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"instance_id\"=\"alloydb-instance\",\"cluster_id\"=\"alloydb-cluster\"}[5m]))`\n  8. Percentile with groupby on instanceid, clusterid: `quantile by (\"instance_id\",\"cluster_id\")(0.99,avg_over_time({\"__name__\"=\"alloydb.googleapis.com/instance/cpu/average_utilization\",\"monitored_resource\"=\"alloydb.googleapis.com/Instance\",\"cluster_id\"=\"my-cluster\",\"instance_id\"=\"my-instance\"}[5m]))`\n  \n  Available Metrics List: metricname. description. monitored resource. labels. aggregate is the aggregated values for all query stats, Use aggregate metrics if query id is not provided. For perquery metrics do not fetch querystring unless specified by user specifically. Have the aggregation on query hash to avoid fetching the querystring. Do not use latency metrics for anything.\n  1. `alloydb.googleapis.com/database/postgresql/insights/aggregate/latencies`: Aggregated query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  2. `alloydb.googleapis.com/database/postgresql/insights/aggregate/execution_time`: Accumulated aggregated query execution time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  3. `alloydb.googleapis.com/database/postgresql/insights/aggregate/io_time`: Accumulated aggregated IO time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`.\n  4. `alloydb.googleapis.com/database/postgresql/insights/aggregate/lock_time`: Accumulated aggregated lock wait time since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`.\n  5. `alloydb.googleapis.com/database/postgresql/insights/aggregate/row_count`: Aggregated number of retrieved or affected rows since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`.\n  6. `alloydb.googleapis.com/database/postgresql/insights/aggregate/shared_blk_access_count`: Aggregated shared blocks accessed by statement execution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`.\n  7. `alloydb.googleapis.com/database/postgresql/insights/perquery/latencies`: Per query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  8. `alloydb.googleapis.com/database/postgresql/insights/perquery/execution_time`: Accumulated execution times per user per database per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  9. `alloydb.googleapis.com/database/postgresql/insights/perquery/io_time`: Accumulated IO time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `io_type`, `querystring`, `query_hash`.\n  10. `alloydb.googleapis.com/database/postgresql/insights/perquery/lock_time`: Accumulated lock wait time since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `lock_type`, `querystring`, `query_hash`.\n  11. `alloydb.googleapis.com/database/postgresql/insights/perquery/row_count`: The number of retrieved or affected rows since the last sample per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `querystring`, `query_hash`.\n  12. `alloydb.googleapis.com/database/postgresql/insights/perquery/shared_blk_access_count`: Shared blocks accessed by statement execution per query. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `access_type`, `querystring`, `query_hash`.\n  13. `alloydb.googleapis.com/database/postgresql/insights/pertag/latencies`: Query latency distribution. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  14. `alloydb.googleapis.com/database/postgresql/insights/pertag/execution_time`: Accumulated execution times since the last sample. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n  15. `alloydb.googleapis.com/database/postgresql/insights/pertag/io_time`: Accumulated IO time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `io_type`, `tag_hash`.\n  16. `alloydb.googleapis.com/database/postgresql/insights/pertag/lock_time`: Accumulated lock wait time since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `lock_type`, `tag_hash`.\n  17. `alloydb.googleapis.com/database/postgresql/insights/pertag/shared_blk_access_count`: Shared blocks accessed by statement execution per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `access_type`, `tag_hash`.\n  18. `alloydb.googleapis.com/database/postgresql/insights/pertag/row_count`: The number of retrieved or affected rows since the last sample per tag. `alloydb.googleapis.com/Database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`.\n---\nkind: tool\nname: get_instance\ntype: alloydb-get-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: get_cluster\ntype: alloydb-get-cluster\nsource: alloydb-admin-source\n---\nkind: tool\nname: create_instance\ntype: alloydb-create-instance\nsource: alloydb-admin-source\n---\nkind: tool\nname: list_instances\ntype: alloydb-list-instances\nsource: alloydb-admin-source\n---\nkind: group\nname: admin\ndescription: Use these skills when you need to provision new AlloyDB clusters and instances, monitor their creation status, and retrieve high-level configuration or health data for the environment.\ntools:\n- create_cluster\n- get_cluster\n- list_clusters\n- create_instance\n- get_instance\n- list_instances\n- database_overview\n- wait_for_operation\n---\nkind: group\nname: access-management\ndescription: Use these skills when you need to manage database users, inspect permissions and roles, and verify global configuration parameters related to security and access control.\ntools:\n- create_user\n- list_users\n- get_user\n- list_roles\n- list_pg_settings\n- database_overview\n---\nkind: group\nname: data\ndescription: Use these skills when you need to explore the database schema, identify objects like views and triggers, and execute custom SQL queries to interact with your data.\ntools:\n- execute_sql\n- list_tables\n- list_views\n- list_schemas\n- list_triggers\n- list_indexes\n- list_sequences\n- list_stored_procedure\n---\nkind: group\nname: monitor\ndescription: Use these skills when you need to troubleshoot slow performance, analyze query execution plans, identify resource-heavy processes, and monitor system-level PromQL metrics.\ntools:\n- list_active_queries\n- list_query_stats\n- get_query_plan\n- get_query_metrics\n- get_system_metrics\n- long_running_transactions\n- list_locks\n- list_database_stats\n---\nkind: group\nname: health\ndescription: Use these skills when you need to optimize storage, identify index issues, analyze table statistics, or manage autovacuum and tablespace configurations to maintain peak database health.\ntools:\n- list_top_bloated_tables\n- list_invalid_indexes\n- list_table_stats\n- get_column_cardinality\n- list_autovacuum_configurations\n- list_tablespaces\n- database_overview\n- get_instance\n---\nkind: group\nname: optimize\ndescription: Use these skills when you need to discover and manage PostgreSQL extensions or fine-tune engine-level settings such as memory allocation and server configuration parameters.\ntools:\n- list_available_extensions\n- list_installed_extensions\n- list_memory_configurations\n- list_pg_settings\n- database_overview\n- get_cluster\n---\nkind: group\nname: replication\ndescription: Use these skills when you need to monitor replication health, manage sync states between nodes, and ensure the high availability and data distribution of your AlloyDB cluster.\ntools:\n- replication_stats\n- list_replication_slots\n- list_publication_tables\n- list_instances\n- get_instance\n- database_overview\n","isInternal":false,"tokens":7293,"sizeBytes":29369},{"name":"bigquery.yaml","path":"internal/prebuiltconfigs/tools/bigquery.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/bigquery.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nkind: source\nname: bigquery-source\ntype: bigquery\nproject: ${BIGQUERY_PROJECT}\nlocation: ${BIGQUERY_LOCATION:}\nreadOnly: ${BIGQUERY_READONLY:}\nwriteMode: ${BIGQUERY_WRITE_MODE:}\nuseClientOAuth: ${BIGQUERY_USE_CLIENT_OAUTH:false}\nscopes: ${BIGQUERY_SCOPES:}\nmaxQueryResultRows: ${BIGQUERY_MAX_QUERY_RESULT_ROWS:50}\nimpersonateServiceAccount: ${BIGQUERY_IMPERSONATE_SERVICE_ACCOUNT:}\nmaximumBytesBilled: ${BIGQUERY_MAXIMUM_BYTES_BILLED:0}\napiEndpoint: ${BIGQUERY_ENDPOINT:}\n---\nkind: tool\nname: analyze_contribution\ntype: bigquery-analyze-contribution\nsource: bigquery-source\ndescription: Use this tool to analyze the contribution about changes to key metrics in multi-dimensional data.\n---\nkind: tool\nname: ask_data_insights\ntype: bigquery-conversational-analytics\nsource: bigquery-source\ndescription: |\n  Use this tool to perform data analysis, get insights,\n  or answer complex questions about the contents of specific\n  BigQuery tables.\n---\nkind: tool\nname: execute_sql\ntype: bigquery-execute-sql\nsource: bigquery-source\ndescription: Use this tool to execute sql statement.\n---\nkind: tool\nname: forecast\ntype: bigquery-forecast\nsource: bigquery-source\ndescription: Use this tool to forecast time series data.\n---\nkind: tool\nname: get_dataset_info\ntype: bigquery-get-dataset-info\nsource: bigquery-source\ndescription: Use this tool to get dataset metadata.\n---\nkind: tool\nname: get_table_info\ntype: bigquery-get-table-info\nsource: bigquery-source\ndescription: Use this tool to get table metadata.\n---\nkind: tool\nname: list_dataset_ids\ntype: bigquery-list-dataset-ids\nsource: bigquery-source\ndescription: Use this tool to list datasets.\n---\nkind: tool\nname: list_table_ids\ntype: bigquery-list-table-ids\nsource: bigquery-source\ndescription: Use this tool to list tables.\n---\nkind: tool\nname: search_catalog\ntype: bigquery-search-catalog\nsource: bigquery-source\ndescription: Use this tool to find tables, views, models, routines or connections.\n---\nkind: group\nname: data\ndescription: Use these skills when you need to handle large-scale data exploration and dataset management. Use when users need to find data assets or run SQL at scale. Provides metadata discovery and query execution across the data warehouse.\ntools:\n- execute_sql\n- list_dataset_ids\n- list_table_ids\n- get_dataset_info\n- get_table_info\n- search_catalog\n---\nkind: group\nname: analytics\ndescription: Use these skills when you need to handle advanced data intelligence and predictive tasks. Use when a user asks \"why\" data changed or needs future projections. Provides automated insight generation and time-series forecasting.\ntools:\n- analyze_contribution\n- ask_data_insights\n- forecast\n- search_catalog\n","isInternal":false,"tokens":760,"sizeBytes":3246},{"name":"clickhouse.yaml","path":"internal/prebuiltconfigs/tools/clickhouse.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/clickhouse.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/clickhouse.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/clickhouse.yaml)","tokens":300,"sizeBytes":209},{"name":"cloud-healthcare.yaml","path":"internal/prebuiltconfigs/tools/cloud-healthcare.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-healthcare.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-healthcare.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-healthcare.yaml)","tokens":300,"sizeBytes":221},{"name":"cloud-sql-mssql-admin.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-admin.yaml)","tokens":300,"sizeBytes":231},{"name":"cloud-sql-mssql-observability.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql-observability.yaml)","tokens":300,"sizeBytes":247},{"name":"cloud-sql-mssql.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mssql.yaml)","tokens":300,"sizeBytes":219},{"name":"cloud-sql-mysql-admin.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-admin.yaml)","tokens":300,"sizeBytes":231},{"name":"cloud-sql-mysql-observability.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql-observability.yaml)","tokens":300,"sizeBytes":247},{"name":"cloud-sql-mysql.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-mysql.yaml)","tokens":300,"sizeBytes":219},{"name":"cloud-sql-postgres-admin.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-admin.yaml)","tokens":300,"sizeBytes":237},{"name":"cloud-sql-postgres-observability.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres-observability.yaml)","tokens":300,"sizeBytes":253},{"name":"cloud-sql-postgres.yaml","path":"internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-sql-postgres.yaml)","tokens":300,"sizeBytes":225},{"name":"cloud-storage.yaml","path":"internal/prebuiltconfigs/tools/cloud-storage.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-storage.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/cloud-storage.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/cloud-storage.yaml)","tokens":300,"sizeBytes":215},{"name":"conversational-analytics-with-data-agent.yaml","path":"internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/conversational-analytics-with-data-agent.yaml)","tokens":300,"sizeBytes":269},{"name":"dataplex.yaml","path":"internal/prebuiltconfigs/tools/dataplex.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataplex.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/dataplex.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataplex.yaml)","tokens":300,"sizeBytes":205},{"name":"dataproc.yaml","path":"internal/prebuiltconfigs/tools/dataproc.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataproc.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/dataproc.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/dataproc.yaml)","tokens":300,"sizeBytes":205},{"name":"elasticsearch.yaml","path":"internal/prebuiltconfigs/tools/elasticsearch.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/elasticsearch.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/elasticsearch.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/elasticsearch.yaml)","tokens":300,"sizeBytes":215},{"name":"firestore.yaml","path":"internal/prebuiltconfigs/tools/firestore.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/firestore.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/firestore.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/firestore.yaml)","tokens":300,"sizeBytes":207},{"name":"looker-conversational-analytics.yaml","path":"internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-conversational-analytics.yaml)","tokens":300,"sizeBytes":251},{"name":"looker-dev.yaml","path":"internal/prebuiltconfigs/tools/looker-dev.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-dev.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker-dev.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker-dev.yaml)","tokens":300,"sizeBytes":209},{"name":"looker.yaml","path":"internal/prebuiltconfigs/tools/looker.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/looker.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/looker.yaml)","tokens":300,"sizeBytes":201},{"name":"mindsdb.yaml","path":"internal/prebuiltconfigs/tools/mindsdb.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mindsdb.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mindsdb.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mindsdb.yaml)","tokens":300,"sizeBytes":203},{"name":"mssql.yaml","path":"internal/prebuiltconfigs/tools/mssql.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mssql.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mssql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mssql.yaml)","tokens":300,"sizeBytes":199},{"name":"mysql.yaml","path":"internal/prebuiltconfigs/tools/mysql.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mysql.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/mysql.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/mysql.yaml)","tokens":300,"sizeBytes":199},{"name":"neo4j.yaml","path":"internal/prebuiltconfigs/tools/neo4j.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/neo4j.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/neo4j.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/neo4j.yaml)","tokens":300,"sizeBytes":199},{"name":"oceanbase.yaml","path":"internal/prebuiltconfigs/tools/oceanbase.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oceanbase.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/oceanbase.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oceanbase.yaml)","tokens":300,"sizeBytes":207},{"name":"oracledb.yaml","path":"internal/prebuiltconfigs/tools/oracledb.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oracledb.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/oracledb.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/oracledb.yaml)","tokens":300,"sizeBytes":205},{"name":"postgres.yaml","path":"internal/prebuiltconfigs/tools/postgres.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/postgres.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/postgres.yaml)","tokens":300,"sizeBytes":205},{"name":"serverless-spark.yaml","path":"internal/prebuiltconfigs/tools/serverless-spark.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/serverless-spark.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/serverless-spark.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/serverless-spark.yaml)","tokens":300,"sizeBytes":221},{"name":"singlestore.yaml","path":"internal/prebuiltconfigs/tools/singlestore.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/singlestore.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/singlestore.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/singlestore.yaml)","tokens":300,"sizeBytes":211},{"name":"snowflake.yaml","path":"internal/prebuiltconfigs/tools/snowflake.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/snowflake.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/snowflake.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/snowflake.yaml)","tokens":300,"sizeBytes":207},{"name":"spanner-postgres.yaml","path":"internal/prebuiltconfigs/tools/spanner-postgres.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner-postgres.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/spanner-postgres.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner-postgres.yaml)","tokens":300,"sizeBytes":221},{"name":"spanner.yaml","path":"internal/prebuiltconfigs/tools/spanner.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/spanner.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/spanner.yaml)","tokens":300,"sizeBytes":203},{"name":"sqlite.yaml","path":"internal/prebuiltconfigs/tools/sqlite.yaml","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/sqlite.yaml","title":"Tools Skill","category":"anthropic-skill","format":"yaml","content":"# Tools Skill\n\nPath: `internal/prebuiltconfigs/tools/sqlite.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/internal/prebuiltconfigs/tools/sqlite.yaml)","tokens":300,"sizeBytes":201},{"name":"ci-map.md","path":"skills/maintainer/fix-failing-tests/references/ci-map.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/maintainer/fix-failing-tests/references/ci-map.md","title":"References Skill","category":"anthropic-skill","format":"markdown","content":"# References Skill\n\nPath: `skills/maintainer/fix-failing-tests/references/ci-map.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/maintainer/fix-failing-tests/references/ci-map.md)","tokens":300,"sizeBytes":234},{"name":"SKILL.md","path":"skills/maintainer/fix-failing-tests/SKILL.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/maintainer/fix-failing-tests/SKILL.md","title":"fix-failing-tests","category":"anthropic-skill","format":"markdown","content":"---\nname: fix-failing-tests\ndescription: >-\n  Diagnose a failing test in the googleapis/mcp-toolbox repo and land a fix by\n  reasoning from the actual error: read the failure, reproduce it, shrink it\n  until the cause is forced into the open, then fix the cause. Use this whenever\n  a test or CI job is red, a build breaks after a change, many packages fail at\n  once, or a test passes locally but fails in CI.\n---\n\n# Diagnose and Fix Failing Tests\n\nScope: `googleapis/mcp-toolbox`\n\nDebug the way a careful developer does. Read the real error, find out what\nchanged, reproduce it, shrink it until the cause is forced into the open, then\nfix the cause rather than the symptom.\n\n\n## The Evidence Rule\n\n**Every factual claim MUST cite evidence**: a path with line numbers, a build ID,\na log excerpt, or a SHA. Otherwise mark it `[UNVERIFIED]` and say what would\nconfirm it.\n\n**Open every line you cite, including this skill's.** Ensure all pointers are\ncorrect.\n\n## 1. Read the actual failure\n\nHow you arrived decides what evidence you already hold and how much of step 2\nyou can skip.\n\n| You arrived from | What you have | Where that puts you |\n|---|---|---|\n| A gate failing on your PR | A diff and a known-good parent | Your change is the prime suspect, but confirm the same job is green on `main` before assuming it |\n| A `periodic-failure` issue | A build link buried in a long thread | Take the newest comment's link. The title often describes a different, already-fixed failure |\n| An issue someone filed | A claim, often without a log | Establish that it still fails before anything else. Reports go stale, and the fix may have landed already |\n| `main` is red | A range of commits, none of them yours | Bisect over merges. Say you are inheriting it rather than absorbing it into your change |\n| Fails locally, green in CI | A reproduction | Suspect your environment: stale build cache, leftover local state, missing env, different Go version |\n| Green locally, fails in CI | Neither | Suspect what CI does differently: `-race`, another OS, concurrency, a clean checkout, no cached state |\n\nWhatever the door, get to the real error before theorising. Do not work from the\njob summary or the last line of the log. Find the first real error and read it in\nfull.\n\n- **Did a test fail at all?** Some red jobs contain zero failing tests: a\n  compile error before the test step, a coverage threshold, a separate lint job,\n  or a shard that skipped itself. Confirm a real test failure before debugging\n  one. [references/ci-map.md](references/ci-map.md) lists the jobs that go red with everything green.\n- **Which error is the cause?** Compile errors cascade, so the first is the\n  cause and the rest are consequences. Assertion failures do not cascade, so\n  read them all: three unrelated ones mean something different from thirty\n  identical ones.\n- **What kind of failure is it?** An assertion, a panic, a timeout, and a\n  connection error each imply a different investigation. A connection error in\n  a test that never touches the network usually means the process under test\n  died.\n- **What exactly was expected versus produced?** Get the diff, the test name,\n  and the subtest name. \"The test failed\" is not a starting point.\n\n## 2. Establish what changed\n\nA test that passes on `main` and fails on your branch is a different problem\nfrom one failing everywhere.\n\n- Check whether the same job is red on `main`. If it is, you are inheriting\n  someone else's failure and should say so rather than absorbing it into your\n  change.\n- Diff your branch against the last green commit. Look for the smallest change\n  that could plausibly reach the failing code, including indirect reach through\n  a shared helper or an interface.\n- \"Nothing relevant changed\" is a hypothesis, not a fact. Shared infrastructure\n  and concurrent CI runs are changes too.\n\n## 3. Reproduce it\n\nA fix you cannot demonstrate is a guess. Find the smallest command that fails\nreliably, and run it before and after your patch.\n\n```bash\ngo test -race -v ./path/to/package/                  # one package\ngo test -race -run 'TestX/subtest' -v ./path/...     # one subtest\ngo test -race -count=20 -run 'TestX' ./path/...      # does it always fail?\n```\n\nUse `-race` locally, because CI does, and a race can be green without it.\n\nIf you cannot reproduce it, that is itself a finding. Say so explicitly, state\nwhat you would need (credentials, a build log, a concurrent run), and lower your\nconfidence rather than proceeding as if you had confirmed the cause.\n\n## 4. Isolate\n\nShrink the failure until only the cause is left. Each run should answer one\nquestion, so change one variable at a time.\n\n| Axis | Run it both ways | What a difference tells you |\n|---|---|---|\n| Alone vs in suite | the single test, then the whole package | passing alone means shared state or ordering, not bad logic |\n| With vs without your change | stash it and re-run | separates your regression from a pre-existing failure |\n| Repeated | `-count=20` | distinguishes deterministic from intermittent |\n| Order | `-shuffle=on` | exposes tests that depend on their neighbours |\n| Race detector | with and without `-race` | isolates a genuine data race |\n| Scope | one package, then many | one package is local logic, many is a shared cause |\n\nAlone versus in-suite is the highest-information split: it separates \"this test\nis wrong\" from \"this test is a victim\".\n\nWhen many packages fail at once, resist debugging the first one alphabetically.\nLook for the single shared thing they all touch, fix that, and re-run. The list\nusually collapses. Usual candidates: a fake or helper nearly every package\nimports, a shared struct compared field-by-field in table tests, a signature\nevery caller depends on, or registration via a blank import.\n\n## 5. Explain it before you fix it\n\nState one hypothesis as a prediction: *if this is the cause, then X should be\ntrue.* Then check X. If you cannot phrase a prediction, you do not have a\nhypothesis yet and should go back to isolating.\n\nBefore writing a patch, be able to answer:\n\n- Why does it fail **now**, when it passed before?\n- Why does it fail **here** and not in the tests that pass?\n- Does the cause explain **every** symptom, including the ones you set aside?\n\nAn explanation that covers only some of the evidence is usually the wrong one.\n\nSuspect a bystander when the symptom sits far from the cause. A shared deadline\nthat also bounds the process under test kills it on overrun, blaming whichever\ntest was running. A fixture collision can block rather than error, surfacing as\na downstream timeout. Teardown on an expired context fails silently, leaving\nstale state for the next run.\n\n## 6. Fix the cause\n\nDecide what is actually wrong before editing.\n\n- **The code is wrong.** The test caught a real defect. Fix the code.\n- **The test is wrong.** It encoded an assumption that no longer holds. Change\n  it, and say plainly what behaviour changed and why that is acceptable.\n- **The conditions are wrong.** The test and code are both fine, but the\n  environment is shared, slow, or ordered unfavourably. Fix the conditions.\n\nFix at the level the cause lives. A shared helper that breaks many packages gets\none edit there, not a hundred local patches.\n\nNever loosen an assertion, add a retry, or extend a timeout to make red go away\nunless you can explain why the original was wrong. Those are the three edits\nthat hide a real bug while looking like a fix.\n\nSkipping is a last resort: only for a diagnosed intermittent failure that is\nblocking others, and only with a tracking issue and re-enable condition in the\nskip reason, since a bare \"flaky\" is how tests stay skipped for years. Never\nskip a data race, a deterministic failure, or one you cannot explain, because an\nunexplained failure is the most likely to be a real bug.\n\n## 7. Verify\n\n- Re-run the exact command that failed, and confirm it now passes.\n- Re-run the wider package or suite, to check you did not move the failure.\n- For anything intermittent, repeat it. A single green run proves nothing when\n  the failure was one-in-five to begin with.\n- Say what you did **not** verify.\n\n## Output format\n\nReport the diagnosis, then the diff, then anything left open.\n\n```json\n{\n  \"failure\": \"<test or job, exact name>\",\n  \"kind\": \"assertion | compile | panic | timeout | connection | not-a-test-failure\",\n  \"scope\": \"<how many packages, and what they share>\",\n  \"deterministic\": true,\n  \"reproduced\": \"<the exact command, or why not>\",\n  \"evidence\": [\"<path:line or log excerpt> <what it shows>\"],\n  \"root_cause\": \"<one sentence that explains every symptom>\",\n  \"fix_level\": \"code | test | conditions\",\n  \"action\": \"fix | escalate | no-change\",\n  \"confidence\": \"high | medium | low, and why\",\n  \"residual_risk\": \"<what this patch does not cover, and what you did not verify>\"\n}\n```\n\nState `residual_risk` honestly. Claiming certainty you do not have is worse than\na hedged claim, because the next person will trust it.\n\n## Reference\n\n[references/ci-map.md](references/ci-map.md) covers where tests run, how to get the logs, and the jobs\nthat go red with every test passing. Read it in step 1.\n","frontmatter":{"name":"fix-failing-tests","description":"Diagnose a failing test in the googleapis/mcp-toolbox repo and land a fix by reasoning from the actual error: read the failure, reproduce it, shrink it until the cause is forced into the open, then fix the cause. Use this whenever a test or CI job is red, a build breaks after a change, many packages fail at once, or a test passes locally but fails in CI."},"isInternal":false,"tokens":2165,"sizeBytes":9145},{"name":"SKILL.md","path":"skills/maintainer/review-prs/SKILL.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/maintainer/review-prs/SKILL.md","title":"review-prs","category":"anthropic-skill","format":"markdown","content":"---\nname: review-prs\ndescription: >-\n  Review a GitHub pull request in the googleapis/mcp-toolbox repo against the\n  team's reviewer checklist: PR title/description conventions, linked issue,\n  logic errors and unhandled edge cases, breaking changes, test coverage, docs\n  updates, security (input handling), and new dependencies. Use whenever a\n  maintainer asks you to review, look over, \"take a look at\", or check whether\n  something is ready to merge in mcp-toolbox, e.g. \"review #3703\", \"can you look\n  at this PR\", \"is this good to merge\", or when they paste an mcp-toolbox PR link.\n  PROPOSE-ONLY: delivers the review in chat for the maintainer to post; never\n  approves, requests changes, comments, labels, or merges on its own.\n---\n\n# Review PRs (mcp-toolbox)\n\nA review here is a proposal the maintainer edits and posts, not a rubber stamp. The value is\na fast, grounded read of the diff against the team's conventions.\n\n## Goal\n\nGiven a PR number or link, deliver a review the maintainer can post in seconds: a suggested\nverdict (approve / request changes / comment), the findings that back it grouped by severity\nso the important things aren't buried, and a paste-ready summary comment.\n\n## Prerequisites\n\n- `gh` authenticated for `googleapis/mcp-toolbox`, plus the PR number(s). A GitHub MCP\n  server substitutes for `gh` if it isn't available: the `gh` commands below map to its\n  read/list tools.\n\n## Workflow\n\n### Step 1: Read the source of truth\n\nRead these live, not from memory. All three are symlinks to the repo-root\nfiles, so they track `main`; cite them by their root names.\n\n- [references/maintainer-playbook.md](references/maintainer-playbook.md): Reviewer's Checklist,\n  SLO/release context, `release candidate` labeling.\n- [references/CONTRIBUTING.md](references/CONTRIBUTING.md): title/scope format (Conventional\n  Commits, with the `type` table), keep-PRs-small, link-an-issue. Cite for title, description,\n  and process findings.\n- [references/DEVELOPER.md](references/DEVELOPER.md): tool/source naming, error taxonomy, the\n  patterns for adding a source/tool/integration test, CI-enforced docs structure, local\n  test/lint commands. Cite for code, test, and docs findings. Prefer it over `GEMINI.md`\n  (`CLAUDE.md`/`AGENTS.md` symlink to it), which only summarizes.\n\n### Step 2: Fetch the PR, its diff, and its checks\n\n```bash\ngh pr view <n> --repo googleapis/mcp-toolbox --json number,title,body,author,labels,files,additions,deletions,commits,baseRefName,headRefName,state,isDraft,reviewDecision\ngh pr diff <n> --repo googleapis/mcp-toolbox\ngh pr checks <n> --repo googleapis/mcp-toolbox\n```\n\n### Step 3: Triage before reviewing\n\nThree shapes end the review early or change its bar:\n\n- **Auto-generated (`renovate`, `release-please`):** the only question is whether checks are\n  green. If so, propose merge and stop.\n- **Draft (`isDraft`):** review lightly and say so; the author isn't asking for a final pass.\n- **Non-code / policy** (third-party badge, backlink, promotional README line, often a drive-by\n  contributor): acceptance is a maintainer policy call, not a code question. Say that plainly\n  instead of manufacturing code findings, and still check title convention and CI. Mark any URL\n  you haven't fetched `[UNVERIFIED]`.\n\n### Step 4: Read the whole diff, including what the title doesn't mention\n\nSkim for the shape, then dive into hunks. Three failure modes:\n\n- **A docs-shaped title never lowers the read bar.** PR #2473, \"docs: fix typo in getting started\n  guide\", added an npm `preinstall` hook that hijacked `git` via `GITHUB_PATH` to exfiltrate an\n  RSA-encrypted `GITHUB_TOKEN`. Read every file in any PR touching `.hugo/`, `package.json`\n  lifecycle scripts, `.github/workflows/`, or `.ci/`. A file the title and description don't\n  account for is itself blocking.\n- **Look for what's *missing*, not just what's wrong:** a refactor applied to 4 of 5 call sites,\n  a fix whose mirror bug still lives elsewhere, a behavior change with no test update, an error\n  swallowed silently.\n- **A hunk is not enough context to judge a hunk.** Read the enclosing function for anything\n  correctness-relevant, and grep call sites when a signature, config field, or parameter changes.\n  A finding that needs a look outside the diff is the one no other reviewer will make.\n\n### Step 5: Check the diff against the issue it claims to fix\n\nKeep this separate from Step 6: a PR can follow every convention and still implement the wrong\nthing. Read the linked issue (`gh issue view <n> --repo googleapis/mcp-toolbox --comments`), then\nask three questions:\n\n- **Missing:** What the issue asked for that the diff doesn't do. A partial fix that closes the\n  issue is worse than none, since the remainder becomes invisible.\n- **Extra:** Unrelated changes bundled in. Ask for a split (`CONTRIBUTING.md`, keep PRs small).\n- **Wrong:** Implemented, but not what the issue described. Quote the issue line beside the\n  `file:line`.\n\nWith no linked issue the PR description is the spec: same three questions, and note that the\nintent is self-declared.\n\n### Step 6: Work the review dimensions\n\nSkip a dimension when it doesn't apply: say so, don't invent a finding.\n\n- **Title & description.** Conventional Commits with the right `type(scope)` per\n  `CONTRIBUTING.md`, plus `!`/`BREAKING CHANGE` for breaking\n  changes. Body follows [`.github/PULL_REQUEST_TEMPLATE.md`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/PULL_REQUEST_TEMPLATE.md): what, why, completed checklist,\n  `Fixes #<n>`. Note a missing issue link; don't block on it alone.\n- **Correctness.** Cite `file:line` and name the failure case, never\n  \"looks risky\".\n  - *Bugs CI won't catch:* Unhandled error returns, nil/empty input, off-by-one and boundary\n    conditions, concurrency, behavior contradicting stated intent.\n  - *Type conversion at the MCP boundary*: Drivers return native types\n    that don't serialize (MySQL `[]byte` for decimals, nulls as `nil`/`None`). Require explicit\n    handling that maps to the tool's JSON schema; reject implicit casts and missing type switches.\n  - *Error taxonomy* on any new or changed error path: `AgentError` for\n    input/execution errors the agent can fix itself (HTTP 200, `isError: true`) versus\n    `ClientServerError` for infrastructure failures it can't.\n- **Breaking changes.** Changed config field names/YAML shape, tool names, removed or renamed\n  exported symbols, altered defaults. Without `!` in the title and a justification in the body,\n  blocking.\n- **Refactor purity.** A `refactor:` PR must not change behavior. A bundled fix or default change\n  gets split into its own `fix:`/`feat:` PR so it's reviewable and revertable.\n- **Source reuse (new sources).**: No new `internal/sources/<db>/` for a database wire-compatible \n  with an existing source. Same for a tool duplicating an existing tool under a new name.\n- **Architecture (no boilerplate).** New tools embed `tools.BaseTool[Config]`, new sources follow\n  the registration pattern; reject re-declared interface methods (`GetName`, `Manifest`).\n  `DEVELOPER.md` lists what `BaseTool` provides.\n- **Tool and parameter descriptions.** Each `description:` is an LLM prompt, not developer\n  documentation: could an agent pick this tool and fill its parameters from that text alone, at a\n  token cost worth paying? Flag ones that restate the field name, omit units/format/allowed\n  values, or run long without adding information.\n  - *Evals measure exactly this.* For a PR editing `internal/prebuiltconfigs/tools/<config>.yaml`,\n    note that the next step is a maintainer applying the `evals: run` label, which scopes the run\n    to the configs that PR touched. Like integration tests, un-run evals aren't a blocker.\n- **Tests.** New logic or a bug fix needs tests; missing them is usually request-changes.\n  - *Coverage:* happy path, edge cases, and for a fix, a test that fails without it. A new\n    source/tool follows the unit + integration pattern and is wired into\n    `.ci/integration.cloudbuild.yaml`.\n  - *Placement,* reviewed as closely as coverage: source-specific helpers stay unexported in\n    `tests/<db>/<db>_integration_test.go`, never in the shared `tests/common.go`.\n  - *Flakiness:* tests run against a shared live instance, so ask for the four fixes by name:\n    - UUID-scoped resource names, so concurrent runs can't collide.\n    - `t.Cleanup` teardown, so resources are freed even when the test fails.\n    - Polling instead of `time.Sleep`.\n    - Subset assertions instead of exact-match, since another run can add rows.\n  - *Un-run integration tests aren't a blocker.* They need GCP credentials an external\n    contributor's PR can't trigger, so green CI doesn't mean they ran. Note that the next step is\n    a maintainer running them via the `tests: run` label or a `/gcbrun` comment.\n- **Docs.** Changes to how a user configures or interacts with MCP toolbox need matching updates\n  under `docs/en/`. New sources/tools have CI-enforced page structure per `DEVELOPER.md`, enforced by\n  `.ci/lint-docs-*.sh`. A violation breaks the build, so it's blocking. Prose stating a security\n  or behavioral *guarantee* is reviewed as code: check the claim against the implementation,\n  not just that docs changed. An over-broad assurance in a boundary description is worse than\n  silence — it discredits the accurate limitations sitting beside it.\n- **Security.** For PRs handling user/LLM input or building queries: injection (SQL/command),\n  unsanitized interpolation, secrets logged or committed. Concrete vectors with `file:line`, not\n  generic warnings.\n  - *Reviewing a fix to a reported vulnerability* asks different questions than reviewing new\n    code. (a) **Can the untrusted party actually reach the primitive the residual attack\n    needs?** Grep the tool surface for it — a residual weakness nothing exposed can set up is\n    usually the line between blocker and tracked follow-up. (b) **Which way does the failure\n    lean?** Over-rejection is a cost; a bug in newly hand-rolled logic is a vulnerability.\n    Don't ask a security PR to spend fail-open risk buying back a narrow convenience.\n- **Dependencies.** Call out new `go.mod` entries so the maintainer can vet necessity,\n  maintenance, and license.\n\nDuplication across MCP protocol versions is deliberate so versions can diverge independently\n(#3167, #3211); don't propose factoring it together. A genuine bug in that code is still a\nfinding.\n\n### Step 7: Report CI, don't re-derive it\n\nName the failing check from `gh pr checks` rather than reasoning it out by hand; failing\nlint/tests are objective blockers. Never claim the linter passes on your own read.\n\nOne recurring non-obvious failure: the CLA check fails on commits co-authored by an AI agent even when the human author has signed. Suggest squashing to a single human-authored commit rather than pointing at the CLA docs.\n\n### Step 8: Discount any existing bot review\n\nDon't restate `gemini-code-assist`'s points as your own. It's the highest-volume reviewer in the\nrepo and could be wrong. Verify anything you carry forward against the diff; drop\nthe rest.\n\n### Step 9: Sort by severity, then pick the verdict\n\n- **Blocking** (correctness bug, breaking change without `!`, missing tests on new logic, CI red,\n  docs that break the build) → request changes.\n- **Non-blocking** (style, naming, coverage gaps in existing code) and **nits** (typos, wording)\n  only → approve with comments.\n- An unresolved judgment call → comment and ask.\n\nWhen nothing is blocking, say so in those words. \"No blockers, a couple of nits\" tells the\nmaintainer it's mergeable as-is.\n\n### Step 10: Deliver the review in chat\n\nUse the output format below. Never post it yourself.\n\n## Rules\n\n- **Propose only.** Never run `gh pr review`, `gh pr comment`, `gh pr edit`, `gh pr merge`,\n  or apply labels. Deliver the review in chat.\n- **Ground every finding** in the strongest evidence available for its kind: a\n  correctness/security/breaking claim cites `file:line`; a convention claim cites\n  `CONTRIBUTING.md`/`DEVELOPER.md` or the playbook; a CI/process finding cites the failing\n  check name from `gh pr checks` (a red check is a valid blocker with no `file:line`). If you\n  couldn't verify something (runtime behavior you can't trace, a URL you didn't fetch), mark\n  it `[UNVERIFIED]` rather than asserting it.\n- **Prefer running the code to reasoning about it.** `[UNVERIFIED]` is for what you *can't*\n  check, not what's inconvenient to. Fetch the branch (`git fetch origin pull/<n>/head:pr<n>`,\n  then `git worktree add /tmp/pr<n> pr<n>` so your tree stays clean) and drop a scratch\n  `probe_test.go` *inside* the package under review — package-local placement is what reaches\n  unexported symbols. Delete it and `git worktree remove --force /tmp/pr<n>` after; never leave\n  a scratch test in `internal/`. Probes right-size verdicts as often as they confirm them: \"this\n  regresses X\" often shrinks to \"in one narrow case\" once measured.\n- **When it's a genuine judgment call, ask** rather than issuing a confident wrong verdict,\n  since a wrong \"request changes\" costs a contributor a cycle.\n\n## Output format\n\n```\n## Review #<n>: <title>\n\n**Suggested verdict:** <approve / request changes / comment>: <one-line reason>\n\n**Title & issue:** <conventional-commit check; linked issue or \"none, suggest linking\">\n**Spec (vs issue #<n>):** <implements it / what's missing, extra, or wrong; or \"no issue linked\">\n**CI:** <passing / which checks failing, per gh pr checks>\n\n**Blocking:**\n- `file:line`: <finding + the failure case> [cite]\n\n**Non-blocking:**\n- `file:line`: <finding> [cite]\n\n**Nits:**\n- <typo/wording>\n\n**Tests:** <added & adequate / what's missing>\n**Docs:** <updated / what's missing, or n/a>\n**Dependencies:** <new deps to vet, or none>\n**release candidate:** <suggest label / not needed>\n\n**Draft comment:**\n<paste-ready summary the maintainer can post>\n```\n\n- **Empty sections:** omit them rather than writing \"none\".\n- **Except the Spec line:** keep it even when the PR matches its issue. The maintainer wants\n  \"does what the issue asked\" stated, not inferred from silence.\n- **Batches:** review each PR in its own subagent so the diffs don't bleed together, since a\n  finding attributed to the wrong PR is worse than a missed one. Present one block per PR, plus a\n  summary table (PR, verdict, blocker count).\n","frontmatter":{"name":"review-prs","description":"Review a GitHub pull request in the googleapis/mcp-toolbox repo against the team's reviewer checklist: PR title/description conventions, linked issue, logic errors and unhandled edge cases, breaking changes, test coverage, docs updates, security (input handling), and new dependencies. Use whenever a maintainer asks you to review, look over, \"take a look at\", or check whether something is ready to merge in mcp-toolbox, e.g. \"review #3703\", \"can you look at this PR\", \"is this good to merge\", or when they paste an mcp-toolbox PR link. PROPOSE-ONLY: delivers the review in chat for the maintainer to post; never approves, requests changes, comments, labels, or merges on its own."},"isInternal":false,"tokens":3554,"sizeBytes":14390},{"name":"SKILL.md","path":"skills/maintainer/triage-issues/SKILL.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/maintainer/triage-issues/SKILL.md","title":"triage-issues","category":"anthropic-skill","format":"markdown","content":"---\nname: triage-issues\ndescription: >-\n  Triage GitHub issues in the googleapis/mcp-toolbox repo: propose the correct\n  labels (type / priority / product / status), check for duplicates, verify a bug\n  has enough info to act on, and draft a triage comment. Use whenever a maintainer\n  asks you to triage, label, categorize, prioritize, or \"look at\" an issue (or a\n  batch) in mcp-toolbox, e.g. \"triage #3648\", \"what labels should this get\", \"is\n  this a dup\", triage a batch of issue numbers, or when they paste an mcp-toolbox\n  issue link. PROPOSE-ONLY: delivers the triage in chat for the maintainer to apply;\n  never edits labels, comments, closes, or assigns on its own.\n---\n\n# Triage Issues (mcp-toolbox)\n\nTriage here is mostly manual **labeling**. The `product:` label auto-routes to the owning team\nvia `.github/blunderbuss.yml`. Propose only, never mutating the issue; when a call isn't obvious,\nask rather than guess.\n\n## Goal\n\nGiven an issue number (or several), deliver a triage the maintainer can apply in seconds: labels\nacross the four axes (each with a one-line *why*), likely duplicates, missing bug info, and a\ndraft comment when one adds value.\n\n## Prerequisites\n\n- `gh` authenticated for `googleapis/mcp-toolbox`, plus the issue number(s). A GitHub MCP server\n  substitutes for `gh` if it isn't available: the `gh` commands below map to its read/list tools.\n\n## Guidance\n\n**Read source-of-truth live, not from memory** (labels/routing drift):\n- `gh label list --repo googleapis/mcp-toolbox --limit 200`: the only valid label names. Never propose one not listed.\n- [`.github/blunderbuss.yml`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/blunderbuss.yml): which `product:` labels route to which team.\n- [`.github/ISSUE_TEMPLATE/bug_report.yml`](https://github.com/googleapis/mcp-toolbox/blob/main/.github/ISSUE_TEMPLATE/bug_report.yml): required bug fields (for the completeness check).\n- [references/maintainer-playbook.md](references/maintainer-playbook.md): the **authoritative**\n  taxonomy, priority/status definitions, SLO targets, and comment templates. Read it to classify;\n  this skill only adds how to apply them in a propose-only workflow.\n\nFetch the issue:\n```bash\ngh issue view <n> --repo googleapis/mcp-toolbox --json number,title,body,author,labels,comments,createdAt\n```\n\n**Check bot-noise first.** Automated reports (e.g. \"Cloud Build Failure Reporter ... failed\",\nbot author) just need `periodic-failure`, so skip the rest of the workflow.\n\n**The four axes** (the playbook has the definitions; below is only how to *apply* them here). Skip\nan axis when it doesn't apply: say so, don't force a label.\n\n- **`type:`**: the template pre-applies `type: bug`/`type: question`; trust it, but correct it\n  when the body disagrees (a \"bug\" asking for new behavior is a feature request) and say why.\n- **`product:`**: one per data source; **highest-leverage label**, since it drives team routing.\n  Infer from the source/tool named (e.g. \"looker run_dashboard tool\" → `product: looker`). Don't\n  force one on core/product-agnostic issues; note it has no product owner. If a real data source\n  has no matching label yet, say so and flag it for `.github/labels.yaml` rather than mis-routing.\n- **`priority:`**: **bugs are only ever p0 or p1** (never p2/p3); feature requests span p0-p3.\n  Match the issue to the playbook's priority examples and SLO table, state the reason, and let the\n  maintainer override.\n- **`status:`** (optional): `waiting for response` when a bug lacks info to act, `feedback wanted`\n  when waiting on community/author, `help wanted` for community-open work. See the playbook for\n  exact semantics and the >60-day-silence close rule.\n\n**Community labels** (standalone, not `status:`-prefixed): `good first issue` for well-scoped,\napproachable issues; `ready for work` for triaged issues actionable now. Propose `good first issue`\nalongside `help wanted` when the fix is small and self-contained.\n\n**Assignment** (not a label): rarely needed, since `product:` auto-routes to the team. Propose an\nassignee only when an external contributor volunteers (assign them, to avoid duplicate work) or a\nmaintainer is picking it up; otherwise leave it unassigned so contributors know it's open.\n\n**Duplicates.** `gh issue list --repo googleapis/mcp-toolbox --state all --search \"<key terms>\" --limit 20`\nwith distinctive terms (tool name, error string). If it's a known issue, propose `duplicate` +\nclose: link and reference the original, and thank the reporter (template below).\n\n**Investigate before deferring (bugs).** Before proposing `waiting for response`, try to reproduce\nby tracing the code, and check `git log`/`git blame` for a fix that already landed silently. When\nthe call hinges on whether the bug is real, hand off to the `reproduce-bug` skill, which runs the\ncheap discriminators (wrong tool type, version skew, client-side) and can reproduce most reports on\nSQLite with no credentials; its verdict sharpens both `priority:` and `status:`. If\nit's already fixed, propose `duplicate` + close referencing the commit rather than asking for info.\nIf you can root-cause it, include the `file:line` — it sharpens the priority call. Only fall back to\n`waiting for response` when reproduction genuinely isn't possible, and then ask *specific*,\nactionable questions, not \"please provide more info\". Compare against `bug_report.yml` required\nfields (version, env, expected vs. current, repro) to list exactly what's missing; this feeds the\nlabel and the draft comment.\n\n**Feature requests & questions.** For a feature request, search the codebase for an existing or\npartial implementation before drafting the acknowledgment — it may already be possible (answer and\nclose) or a duplicate. For a `type: question`, answer directly from the code with references rather\nthan only labeling it.\n\n**Draft comment.** Use the playbook's canonical templates verbatim (\"Needs More Information\" for a\nbug missing repro/details, \"Acknowledging a Feature Request\" for an FR), filling in specifics like\nthe exact missing fields; don't invent wording. For a duplicate:\n\n```text\nThanks for reporting this! This is a duplicate of #<original>, so I'm closing this in favor of that issue. Please follow along there for updates.\n```\n\n## Rules\n\n- **Propose only.** Never run `gh issue edit/comment/close` or assign. Deliver in chat.\n- **Only real labels**: every proposed label must appear in `gh label list`.\n- **When type/product is a genuine toss-up, ask.** A confident wrong `product:` mis-routes.\n- **Cite what backs a claim.** Routing/label claims cite the config (e.g. \"routes to\n  `toolbox-looker-team` per `blunderbuss.yml`\"); codebase claims (root cause, \"already fixed\",\n  \"already implemented\") cite `file:line` or a commit SHA, or are marked `[UNVERIFIED]`.\n\n## Output format\n\n```text\n## Issue #<n>: <title>\n\n**Labels:**\n- `type: <x>`: <why>\n- `product: <x>`: <why + routing, or \"no product owner: core/...\">\n- `priority: <x>`: <why>\n- `status: <x>`: <why, if any>\n\n**Duplicates:** <#nums, or \"none for terms: ...\">\n**Completeness (bugs):** <what's missing, or \"complete\">\n**Draft comment:** <paste-ready, or \"none needed\">\n\n**Apply:** gh issue edit <n> --repo googleapis/mcp-toolbox --add-label \"type: ...,product: ...,priority: ...\"\n```\n\nInclude the ready-to-run `gh issue edit` line so the maintainer applies with one paste, but leave\nrunning it to them. For a batch, one block per issue plus a one-line summary table.\n","frontmatter":{"name":"triage-issues","description":"Triage GitHub issues in the googleapis/mcp-toolbox repo: propose the correct labels (type / priority / product / status), check for duplicates, verify a bug has enough info to act on, and draft a triage comment. Use whenever a maintainer asks you to triage, label, categorize, prioritize, or \"look at\" an issue (or a batch) in mcp-toolbox, e.g. \"triage #3648\", \"what labels should this get\", \"is this a dup\", triage a batch of issue numbers, or when they paste an mcp-toolbox issue link. PROPOSE-ONLY: delivers the triage in chat for the maintainer to apply; never edits labels, comments, closes, or assigns on its own."},"isInternal":false,"tokens":1874,"sizeBytes":7477},{"name":"README.md","path":"skills/README.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/skills/README.md","title":"Skills Skill","category":"anthropic-skill","format":"markdown","content":"# MCP Toolbox Agent Skills\n\nThis directory holds [Agent Skills](https://agentskills.io/specification) for the\nMCP Toolbox project — self-contained instructions that teach a coding agent\n(Claude Code, Cursor, Gemini CLI, Codex, and others) how to perform specific\nworkflows against this repo.\n\nSkills are grouped by audience:\n\n- `maintainer/` — skills for maintaining the toolbox itself (e.g. `triage-issues`,\n  `review-prs`, `stale-sweep`).\n\n## Installing\n\nSkills install with [`npx skills`](https://www.npmjs.com/package/skills)\n([source](https://github.com/vercel-labs/skills)), the open Agent Skills CLI. It\nworks with any supported agent and needs only Node.js (no global install\nrequired).\n\nBy default it installs into the **current project** (`.agents/skills/`, symlinked\ninto each detected agent's directory). Add `-g` to install **globally** into your\nhome directory so the skill is available across all projects.\n\n### Install every skill\n\n```bash\n# Interactive: pick which skills and agents to install\nnpx skills add googleapis/mcp-toolbox\n\n# Non-interactive: install all skills for all detected agents\nnpx skills add googleapis/mcp-toolbox -y\n```\n\n### Install all maintainer skills\n\nPoint at the category subdirectory:\n\n```bash\nnpx skills add googleapis/mcp-toolbox/skills/maintainer\n```\n\n### Install a specific skill\n\nPoint directly at the skill's folder:\n\n```bash\n# Shorthand\nnpx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues\n\n# Or the full GitHub URL\nnpx skills add https://github.com/googleapis/mcp-toolbox/tree/main/skills/maintainer/triage-issues\n```\n\nFrom a source that contains several skills, you can also select by name instead\nof a subpath:\n\n```bash\nnpx skills add googleapis/mcp-toolbox --skill triage-issues   # one skill\nnpx skills add googleapis/mcp-toolbox --skill '*'             # all skills\n```\n\n### Install globally\n\nAny of the commands above take `-g` to install into your home directory instead\nof the current project:\n\n```bash\nnpx skills add googleapis/mcp-toolbox/skills/maintainer/triage-issues -g\n```\n\n## Managing installed skills\n\n```bash\nnpx skills list                 # list installed skills\nnpx skills update               # update all installed skills to latest\nnpx skills update triage-issues # update a specific skill\nnpx skills remove triage-issues # remove a skill\n```\n\n`update` re-fetches only skills whose upstream content has changed and refreshes\nthe whole skill folder (including bundled `references/`), so keep installed\ncopies read-only — local edits are overwritten on update.\n","isInternal":false,"tokens":611,"sizeBytes":2557},{"name":"GEMINI.md","path":"GEMINI.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/GEMINI.md","title":"Gemini Agent & Antigravity Instructions","category":"gemini-rule","format":"markdown","content":"# MCP Toolbox Context & Style Guide\n\nThis file (symlinked as `CLAUDE.md`, `AGENTS.md`, and `.gemini/styleguide.md`) provides context and guidelines for AI agents working on the MCP Toolbox for Databases project. It summarizes key information from `CONTRIBUTING.md` and `DEVELOPER.md`.\n\n## Project Overview\n\n**MCP Toolbox for Databases** is a Go-based project designed to provide Model Context Protocol (MCP) tools for various data sources and services. It allows Large Language Models (LLMs) to interact with databases and other tools safely and efficiently.\n\n\n## Tech Stack\n\n-   **Language:** Go (1.23+)\n-   **Documentation:** Hugo (Extended Edition v0.146.0+)\n-   **Containerization:** Docker\n-   **CI/CD:** GitHub Actions, Google Cloud Build\n-   **Linting:** `golangci-lint`\n\n## Key Directories\n\n-   `cmd/`: Application entry points.\n-   `internal/sources/`: Implementations of database sources (e.g., Postgres, BigQuery).\n-   `internal/tools/`: Implementations of specific tools for each source.\n-   `internal/prompts/`: Implementations of MCP prompts.\n-   `internal/resources/`: Implementations of MCP resources and resource templates (e.g., text, file).\n-   `internal/group/`: Implementations of groups scoping tools, prompts, resources, and resource templates.\n-   `tests/`: Integration tests.\n-   `evals/`: Evalsets and harness configs for evaluating the prebuilt tool configs with [EvalBench](https://github.com/googlecloudplatform/evalbench); run by `.ci/evals.cloudbuild.yaml`.\n-   `docs/en`: Project documentation. Separated logically into:\n    - `documentation/`: Documentation and concepts (Section I).\n    - `integrations/`: Reference architectures for DB connectivity and tools (Section II).\n    - `samples/`: Tutorials and code samples (Section III).\n    - `reference/`: CLI info and FAQs (Section IV).\n\n## Development Workflow\n\n### Prerequisites\n\n-   Go 1.23 or later.\n-   Docker (for building container images and running some tests).\n-   Access to necessary Google Cloud resources for integration testing (if applicable).\n\n### Building and Running\n\n1.  **Build Binary:** `go build -o toolbox`\n2.  **Run Server:** `go run .` (Listens on port 5000 by default)\n3.  **Run with Help:** `go run . --help`\n4.  **Test Endpoint:** `curl http://127.0.0.1:5000`\n\n### Testing\n\n-   **Unit Tests:** `go test -race -v ./cmd/... ./internal/...`\n-   **Integration Tests:**\n    -   Run specific source tests: `go test -race -v ./tests/<source_dir>`\n    -   Example: `go test -race -v ./tests/alloydbpg`\n    -   Add new sources to `.ci/integration.cloudbuild.yaml`\n-   **Linting:** `golangci-lint run --fix`\n\n\n## Developing Documentation\n\n### Prerequisites\n\n-   Hugo (Extended Edition v0.146.0+)\n-   Node.js (for `npm ci`)\n\n### Running Local Server\n\n1.  Navigate to `.hugo` directory: `cd .hugo`\n2.  Install dependencies: `npm ci`\n3.  **Generate Search Index:** Because Pagefind requires physical files, `hugo server` alone will not populate the search bar. Build the local index first (using the development environment to block analytics) by running:\n    `hugo --environment development && npx pagefind --site public --output-path static/pagefind`\n4.  Start server: `hugo server`\n\n### Versioning Workflows\n\nDocumentation builds automatically generate standard HTML alongside AI-friendly text files (`llms.txt` and `llms-full.txt`).\n\nThere are 6 workflows in total, handling parallel deployments to both GitHub Pages and Cloudflare Pages. **All deployment workflows automatically execute `npx pagefind --site public` to generate version-scoped search indexes.**\n\n1.  **Deploy In-development docs**: Commits merged to `main` deploy to the `/dev/` path. Automatically defaults to version `Dev`.\n2.  **Deploy Versioned Docs**: New GitHub releases deploy to `/<version>/` and the root path. The release tag is automatically injected into the build as the documentation version. *(Note: Developers must manually add the new version to the `[[params.versions]]` dropdown array in `hugo.toml` prior to merging a release PR).*\n3.  **Deploy Previous Version Docs**: A manual workflow to rebuild older versions by explicitly passing the target tag via the GitHub Actions UI.\n\n## Coding Conventions\n\n### Tool Naming\n\n-   **Tool Name:** `snake_case` (e.g., `list_collections`, `run_query`).\n    -   Do *not* include the product name (e.g., avoid `firestore_list_collections`).\n-   **Tool Type:** `kebab-case` (e.g., `firestore-list-collections`).\n    -   *Must* include the product name.\n\n### Branching and Commits\n\n-   **Branch Naming:** `feat/`, `fix/`, `docs/`, `chore/` (e.g., `feat/add-gemini-md`).\n-   **Commit Messages:** [Conventional Commits](https://www.conventionalcommits.org/) format.\n    -   Format: `<type>(<scope>): <description>`\n    -   Example: `feat(source/postgres): add new connection option`\n    -   Types: `feat`, `fix`, `docs`, `chore`, `test`, `ci`, `refactor`, `revert`, `style`.\n\n ### PR Title Format\n\nFormat: `<type>[optional scope]: <description>`\n\n- **Example:** `feat(source/postgres): add support for \"new-field\" field`\n- **Example (Breaking Change):** `fix(tool/sql)!: change default parameter value`\n\n#### Types\n\n| Type | Description | Version change affected |\n| :--- | :--- | :--- |\n| **BREAKING CHANGE** | Anything with this type or a `!` after the type/scope introduces a breaking API change. E.g. `fix!: description` or `feat!: description`. | major |\n| **feat** | Adding a new feature to the codebase. | minor |\n| **fix** | Fixing a bug or typo in the codebase. | patch |\n| **ci** | Changes made to the continuous integration configuration files or scripts (usually the yml and other configuration files). | n/a |\n| **docs** | Documentations-related PRs, including fixes on docs. | n/a |\n| **chore** | Other small tasks or updates that don't fall into any of the types above. | n/a |\n| **perf** | changed src code, with improvement of performance metrics. | n/a |\n| **refactor** | Change src code but unlike feat, there are no tests broken and no lines lost coverage. | n/a |\n| **revert** | Revert changes made in another commit. | n/a |\n| **style** | updated src code, with only formatting and whitespace updates. In other words, this includes anything a code formatter or linter changes. | n/a |\n| **test** | Changes made to test files. | n/a |\n| **build** | Changes related to build of the projects and dependency. | n/a |\n\n#### Scopes\n\nPRs addressing a specific source or tool should **always** add the source or tool name as scope.\n\nThe scope is formatted as `<type>/<kind>`. Common scopes include:\n- `source/postgres`, `source/cloudsql-mysql`\n- `tool/mssql-sql`, `tool/list-tables`\n- `auth/google`\n\n**Multiple Scopes:**\n- If the PR covers multiple scopes of the same kind, separate them with a comma: `feat(source/postgres,source/alloydbpg): ...`.\n- If the PR covers multiple scope types (e.g., adding a new database source and tool), disregard the scope type prefix: `feat(new-db): adding support for new-db source and tool`.\n\n#### PR Description\n\nEvery PR must include a description that follows the repository's template:\n\n**1. Description**\nA concise description of the changes (bug or feature), its impact, and a summary of the solution.\n\n**2. PR Checklist**\n- [ ] Make sure to open an issue as a bug/issue before writing your code!\n- [ ] Ensure you have manually reviewed the entire diff before requesting a review\n- [ ] Ensure the tests and linter pass\n- [ ] Code coverage does not decrease (if any source code was changed)\n- [ ] Appropriate docs were updated (if necessary)\n- [ ] Make sure to add `!` if this involves a breaking change\n\n**3. Issue Reference**\nUse the format: `Fixes #<issue_number> 🦕`\n\n## Security\n\nBefore proposing or making a change, check it for the vulnerability classes most relevant to this codebase:\n\n-   **SQL/query injection:** Never build a query by concatenating or `fmt.Sprintf`-ing a user-supplied tool parameter into a query string. Bind parameters using the source's parameterized-query API instead.\n-   **Credentials and secrets:** Never log, hardcode, or echo back a credential, API key, connection string, or token. Read secrets from config/environment, not from tool parameters.\n-   **Path/command injection:** Treat any user-supplied string used to build a file path or a shell/subprocess argument as untrusted; validate or reject it rather than passing it through unchecked.\n-   **Auth bypass:** The server enforces each tool's `authRequired`/`scopesRequired` (read via `GetAuthRequired`/`GetScopesRequired`) for every invocation. Do not override these getters or add a code path that skips the checks.\n\nIf a change touches a `source` or `tool` implementation, call out the relevant point(s) above explicitly in the PR description rather than leaving them implicit.\n\n## Adding New Features\n\n### Adding a New Data Source\n\n1.  Create a new directory: `internal/sources/<newdb>`.\n2.  Define `Config` and `Source` structs in `internal/sources/<newdb>/<newdb>.go`.\n3.  Implement `SourceConfig` interface (`SourceConfigType`, `Initialize`).\n4.  Implement `Source` interface (`SourceType`, `ToConfig`).\n5.  Implement `init()` to register the source.\n6.  Add unit tests in `internal/sources/<newdb>/<newdb>_test.go`.\n7.  **Google Cloud Databases:** For every Google Cloud database, ensure a corresponding `product: <database>` label is added to `.github/labels.yaml`, routing is configured in `.github/blunderbuss.yml` (under both `assign_issues_by` and `assign_prs_by`), and the GitHub team is team-synced from an MDB group with write access to the repo.\n\n### Adding a New Tool\n\n1.  Create a new directory: `internal/tools/<newdb>/<toolname>`.\n2.  Define a `Config` struct that **embeds `tools.ConfigBase`** (with `yaml:\",inline\"`). This supplies the shared `name`, `description`, `authRequired`, `scopesRequired`, and `annotations` fields and the applicable getters — add only tool-specific fields and do not redeclare the shared ones.\n3.  Define a `Tool` struct that **embeds `tools.BaseTool[Config]`**. Do *not* re-declare the boilerplate `Tool` methods (`GetName`, `GetDescription`, `Manifest`, `GetParameters`, `RequiresClientAuthorization`, `GetAuthTokenHeaderName`, `EmbedParams`, etc.) — they are inherited from `BaseTool`.\n4.  Implement `ToolConfig` interface (`ToolConfigType`, `Initialize`). In `Initialize`, construct the tool via `tools.NewBaseTool(cfg, annotations, manifest, staticParameters)`.\n5.  Implement only the methods `BaseTool` does not provide: `Invoke` and `ToConfig`. Override an inherited method (e.g. `EmbedParams`, `RequiresClientAuthorization`, `GetAuthTokenHeaderName`) **only** when the tool's behavior differs from the default.\n6.  Implement `init()` to register the tool.\n7.  Add unit tests.\n\nRefer to `internal/tools/postgres/postgressql/postgressql.go` for the canonical pattern.\n\n### Adding Documentation\n\n-   **For a new source:** Add source documentation to `docs/en/integrations/<source_name>/source.md`. Ensure the root `_index.md` file contains **strictly only frontmatter** and no markdown body text.\n-   **For a new native tool:** Add tool documentation to `docs/en/integrations/<source_name>/tools/<tool_name>.md`. Ensure the `tools/_index.md` file contains **strictly only frontmatter**.\n-   **For a new resource:** Add resource documentation to `docs/en/documentation/configuration/resources/<resource_type>.md`.\n-   **Adding Integration Samples:** Add integration-specific samples to `docs/en/integrations/<source_name>/samples/`. Ensure the `samples/_index.md` file contains **strictly only frontmatter**.\n-   **Tool Inheritance (Shared Tools):** Managed databases (e.g., Cloud SQL Postgres) that use the tools of their underlying engine (e.g., Postgres) map their inherited tools by utilizing the `shared_tools` frontmatter parameter inside their `tools/_index.md` file. This file must contain only frontmatter.\n-   **New Top-Level Directories:** If adding a completely new top-level section to the documentation site, you must update the \"Diátaxis Narrative Framework\" section inside both `.hugo/layouts/index.llms.txt` and `.hugo/layouts/index.llms-full.txt` to keep the AI context synced with the site structure.\n\n\n#### Integration Documentation Rules\n\nWhen generating or editing documentation for this repository, you must strictly adhere to the following CI-enforced rules. Failure to do so will break the build.\n\n##### Source Page Constraints (`integrations/**/source.md`)\n\n1.  **File Naming:** The primary connection guide for a source must be named `source.md`. Use `_index.md` solely as an empty structural folder wrapper containing **only YAML frontmatter**.\n2.  **LinkTitle:** The linkTitle has to be set to the string `Source` always.\n3.  **Title Convention:** The YAML frontmatter `title` must always end with \"Source\" (e.g., `title: \"Postgres Source\"`).\n4.  **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.\n5.  **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.\n    *   `## About` (Required)\n    *   `## Available Tools` (Optional)\n    *   `## Requirements` (Optional)\n    *   `## Example` (Required)\n    *   `## Reference` (Required)\n    *   `## Advanced Usage` (Optional)\n    *   `## Troubleshooting` (Optional)\n    *   `## Additional Resources` (Optional)\n6.  **Shortcode Placement:** If you generate the `## Available Tools` section, you must include the `{{< list-tools >}}` shortcode beneath it.\n\n##### Tool Page Constraints (`integrations/**/tools/*.md`)\n\n1.  **Location:** All native tools must reside inside a nested `tools/` subdirectory. The `tools/` directory must contain an `_index.md` file consisting **strictly of frontmatter**.\n2.  **No H1 Tags:** Never generate H1 (`#`) headings in the markdown body.\n3.  **Strict H2 Ordering:** You must use the following H2 (`##`) headings in this exact sequence.\n    *   `## About` (Required)\n    *   `## Compatible Sources` (Optional)\n    *   `## Requirements` (Optional)\n    *   `## Parameters` (Optional)\n    *   `## Example` (Required)\n    *   `## Output Format` (Optional)\n    *   `## Reference` (Optional)\n    *   `## Advanced Usage` (Optional)\n    *   `## Troubleshooting` (Optional)\n    *   `## Additional Resources` (Optional)\n4.  **Shortcode Placement:** If you generate the `## Compatible Sources` section, you must include the `{{< compatible-sources >}}` shortcode beneath it.\n5.  **Title Convention:** The YAML frontmatter `title` must always be exactly the kebab-case name of the tool (e.g., `title: \"arcadedb-execute-sql\"`). Do **NOT** append the word \"Tool\" to the title (unlike source pages, which end with \"Source\").\n\n##### Samples Architecture Constraints\nSample code is aggregated visually in the UI via the Samples section, but the physical markdown files are distributed logically based on their scope.\n1.  **Quickstarts:** `docs/en/documentation/getting-started/`\n2.  **Integration-Specific Samples:** `docs/en/integrations/<source_name>/samples/`. (The `samples/_index.md` wrapper must contain **strictly only frontmatter**).\n3.  **General/Cross-Category Samples:** `docs/en/samples/`\n\n##### Samples Maintenance Rules\n\n1. **Filtering (`sample_filters`):** Always include `sample_filters` in the frontmatter. You MUST use strict enums for filtering.\n   * **Source of Truth:** Always refer to `.hugo/data/filters.yaml` for the permitted list of Data Sources, Languages, Frameworks, and Categories.\n   * **Adding New Filters:** If your sample requires the addition of a new filter, add it to `.hugo/data/filters.yaml` using **Title Case** (capitalize the first letter of every word, with words separated by spaces). Do not use snake_case or lowercase.\n2. **Metadata:** Ensure `is_sample: true` is present to prevent the sample from being excluded from the Samples Gallery.\n\n##### Prebuilt Config Constraints (`integrations/**/prebuilt-configs/*.md`)\n\n1. **Naming & Path:** All prebuilt config docs must reside in `prebuilt-configs/`.\n2. **Shortcode Requirement:** The main `documentation/configuration/prebuilt-configs/_index.md` page uses the `{{< list-prebuilt-configs >}}` shortcode, which only detects directories named exactly `prebuilt-configs`.\n3. **YAML Mapping:** Always verify the `kind` of the data source in `internal/prebuiltconfigs/tools/` before choosing the integration folder.\n\n\n##### Asset Constraints (`docs/`)\n\n1.  **File Size Limits:** Never add files larger than 24MB to the `docs/` directory.\n","isInternal":false,"tokens":4002,"sizeBytes":16407},{"name":"README.md","path":"extensions/2026-07-28/README.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/extensions/2026-07-28/README.md","title":"2026-07-28 Documentation","category":"plugin-manifest","format":"markdown","content":"# Extension Version: 2026-07-28\n\nThis directory contains schemas and specifications for the `2026-07-28` version of the experimental MCP Toolbox extension.\n\n## Extension Identifier\n\nThe identifier for this extension version is **`com.google.cloud/toolbox.v1`**.\n\n## Supported Capabilities\n\n- **[Secure Parameters](./secureParams/specification/secure_params.md)**: Separates sensitive runtime parameters from LLM visibility via `secureInputSchema` and `secureArguments`.  \n  Schema: [`secureParams/schema/schema.ts`](./secureParams/schema/schema.ts)\n- **[Groups](./groups/specification/groups.md)**: Exposes a server's configured groups over MCP through the `groups/list` and `groups/get` methods.  \n  Schema: [`groups/schema/schema.ts`](./groups/schema/schema.ts)\n","isInternal":false,"tokens":170,"sizeBytes":764},{"name":"README.md","path":"extensions/README.md","rawUrl":"https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/extensions/README.md","title":"extensions Documentation","category":"plugin-manifest","format":"markdown","content":"# Experimental MCP Toolbox Extensions\n\nThis directory contains specifications and schemas for experimental Model Context Protocol (MCP) extensions supported by MCP Toolbox. Toolbox includes  features that fall outside the official MCP specification. While some capabilities may remain proprietary, others are experimental features being incubated for potential inclusion in the core specification.\n\n## Extension Identifier\n\nThe identifier we are using for this extension is `com.google.cloud/toolbox.<version_string>`. It packages all the custom experimental Toolbox features (such as groups, secure parameters, and authenticated parameters) under a single extension namespace.\n\n## Versioning Strategy\n\n- **Strict Backward Compatibility Within Versions:** Once a version is established, all updates to it must be non-breaking. New capabilities can be added and schemas updated, provided they fail gracefully if unsupported and do not break existing implementations.\n- **Breaking Changes Between Versions:** Breaking changes are allowed when introducing a new protocol version release.\n- **Graduation to Official Spec:** When an experimental feature is officially adopted into the core MCP specification, it will be removed from this experimental extension package. Clients must transition to the official implementation to utilize the feature.\n","isInternal":false,"tokens":224,"sizeBytes":1344}],"systemPromptSnippet":"<yakaai_skills repo=\"googleapis/mcp-toolbox\">\n<!-- File: docs/en/documentation/configuration/skills/_index.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Skills Skill\n\nPath: `docs/en/documentation/configuration/skills/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/skills/_index.md)\n\n<!-- File: docs/en/documentation/configuration/tools/_index.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/_index.md)\n\n<!-- File: docs/en/documentation/configuration/tools/invoke_tool.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/invoke_tool.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/invoke_tool.md)\n\n<!-- File: docs/en/documentation/configuration/tools/url_parameter_binding.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/documentation/configuration/tools/url_parameter_binding.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/documentation/configuration/tools/url_parameter_binding.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/_index.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/_index.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-cluster.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-instance.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-create-user.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-cluster.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-instance.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-get-user.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-clusters.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-instances.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-list-users.md)\n\n<!-- File: docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb-admin/tools/alloydb-wait-for-operation.md)\n\n<!-- File: docs/en/integrations/alloydb/tools/_index.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/_index.md)\n\n<!-- File: docs/en/integrations/alloydb/tools/alloydb-ai-nl.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/alloydb/tools/alloydb-ai-nl.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/alloydb/tools/alloydb-ai-nl.md)\n\n<!-- File: docs/en/integrations/arcadedb/tools/_index.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/_index.md)\n\n<!-- File: docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-cypher.md)\n\n<!-- File: docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/arcadedb/tools/arcadedb-execute-sql.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/_index.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/_index.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/_index.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-analyze-contribution.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-conversational-analytics.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-execute-sql.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-execute-sql.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-execute-sql.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-forecast.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-forecast.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-forecast.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-dataset-info.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-get-table-info.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-get-table-info.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-get-table-info.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-dataset-ids.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-list-table-ids.md)\n\n<!-- File: docs/en/integrations/bigquery/tools/bigquery-search-catalog.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Tools Skill\n\nPath: `docs/en/integrations/bigquery/tools/bigquery-search-catalog.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/googleapis/mcp-toolbox/HEAD/docs/en/integrations/bigquery/tools/bigquery-search-catalog.md)\n\n<!-- ... +376 more modular skills available via /api/skills/googleapis/mcp-toolbox?path={path} -->\n</yakaai_skills>"}