Skip to content

Commit 1b560da

Browse files
committed
v1.1.1
v1.1.1
2 parents b70de68 + 467fd21 commit 1b560da

33 files changed

+1742
-1364
lines changed

.cursor/rules/default.mdc

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
---
2-
description: BigQuery MCP Development Standards
3-
alwaysApply: true
4-
---
51
# BigQuery MCP Development Standards
62

73
## Code Quality
@@ -33,6 +29,12 @@ alwaysApply: true
3329
- Use clear, direct language - no fluff or emojis
3430
- Focus on what users need to know, not implementation details
3531

32+
## Changelog Formatting
33+
- Use clean, elegant formatting without bold text
34+
- Write concise, descriptive entries
35+
- No unnecessary formatting or emphasis
36+
- Keep entries focused on what actually changed
37+
3638
## Architecture
3739
- Prefer command-line arguments over config files
3840
- Keep dependencies minimal
@@ -42,4 +44,11 @@ alwaysApply: true
4244
## Error Handling
4345
- Use custom exception classes for specific error types
4446
- Provide actionable error messages
45-
- Log errors appropriately for debugging
47+
- Log errors appropriately for debugging
48+
49+
## User Preferences
50+
- Avoid over-engineering and unnecessary complexity
51+
- Don't overthink security implementations unless specifically requested
52+
- Focus on what's needed, not what could be possible
53+
- Maintain high repository standards suitable for GitHub
54+
- Keep configuration clean with proper .example files and gitignored personal configs

.env.example

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
11
# BigQuery MCP Server Environment Variables
2+
# These variables override config file settings
23

3-
# Response formatting (optional)
4-
# Set to 'true' for compact responses optimized for LLMs
5-
COMPACT_FORMAT=false
6-
7-
# Override billing project (optional)
8-
# If not set, uses the value from config.yaml
9-
# BIGQUERY_BILLING_PROJECT=your-project-id
4+
# BigQuery configuration
5+
BIGQUERY_BILLING_PROJECT=your-project-id
6+
BIGQUERY_LOCATION=EU
107

11-
# Service account credentials (optional)
12-
# If not set, uses Application Default Credentials
13-
# GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
8+
# Google Cloud credentials
9+
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
1410

15-
# Logging level
16-
# Options: DEBUG, INFO, WARNING, ERROR
17-
LOG_LEVEL=INFO
18-
19-
# Maximum query execution time in seconds (optional)
20-
# MAX_QUERY_TIMEOUT=60
11+
# Response formatting
12+
COMPACT_FORMAT=false
2113

22-
# Maximum rows to return in query results (optional)
23-
# MAX_LIMIT=10000
14+
# Logging configuration
15+
LOG_QUERIES=true
16+
LOG_RESULTS=false

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ coverage.xml
5151
.env.local
5252
.env.*.local
5353

54-
# Configuration
54+
# Configuration files (contain personal project IDs)
5555
config/config.yaml
5656
config/config.dev.yaml
5757

58-
# Docker Compose (contains personal project IDs)
58+
# Docker Compose files (contain personal project IDs)
5959
docker-compose.yml
6060
docker-compose.dev.yml
6161

@@ -69,6 +69,7 @@ development-notes/
6969
# Tasks file
7070
TASKS.md
7171
TESTING.md
72+
SETUP-GUIDE.md
7273

7374
# OS files
7475
.DS_Store

CHANGELOG.md

Lines changed: 32 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,49 @@ All notable changes to the BigQuery MCP Server project will be documented in thi
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.1] - 2025-07-17
9+
10+
### Added
11+
- 20-second default timeout (reduced from 60 seconds) with configurable `--timeout` CLI argument
12+
- Clean configuration structure with proper .example files and gitignored personal configs
13+
- Comprehensive CLI arguments for all configuration options with proper precedence (CLI > Config > Env > Defaults)
14+
- Enterprise pattern system supporting multiple projects with dataset patterns
15+
- AI-friendly error messages with source classification and actionable suggestions
16+
17+
### Fixed
18+
- Runtime crashes from missing `log_results` attribute in Config class
19+
- Error handling bugs in QueryExecutionError constructor
20+
- Configuration inconsistencies between config files and examples
21+
- Version management removed from config files (now code-only)
22+
- Configuration file structure inconsistencies
23+
- Docker setup confusion - simplified to single service architecture
24+
- Broken documentation links and outdated examples
25+
26+
### Changed
27+
- Simplified Docker setup to single `bigquery-mcp` service
28+
- Moved setup guide from root to docs/setup.md
29+
- Updated README to be more concise and to-the-point
30+
- Cleaned up repository structure - removed redundant files
31+
832
## [1.1.0] - 2025-07-16
933

1034
### Added
11-
- Command-line argument support for project configuration
12-
- Direct CLI specification of project:dataset patterns
13-
- Preferred over config file approach for easier deployment
14-
- Example: `python src/server.py project1:dataset_* project2:table_*`
15-
- Query progress indication and complexity estimation
16-
- Query complexity estimation (simple, moderate, complex, very_complex)
17-
- Execution time tracking and logging for performance monitoring
18-
- Progress feedback for long-running queries
19-
- Comprehensive parameter documentation in tools.md
20-
- All tool parameters documented with types and examples
21-
- Automatic type conversion explanation for MCP protocol compatibility
22-
- Error response format documentation
35+
- CLI argument support for project configuration with `project:dataset` patterns
36+
- Query complexity estimation and execution time tracking
37+
- Comprehensive parameter documentation
2338

2439
### Fixed
25-
- Critical parameter type validation errors ("max_rows must be integer")
26-
- Automatic string-to-integer conversion for max_rows, timeout, sample_size parameters
27-
- Enhanced parameter validation in execute_query() and analyze_columns()
28-
- Fixed MCP protocol compatibility where agents pass strings instead of integers
29-
- analyze_columns intermittent failures ("No result received from client-side tool execution")
30-
- Added SAFE.* functions to prevent calculation errors in BigQuery
31-
- Implemented 60-second query timeouts with proper error handling
32-
- Enhanced sampling queries with better NULL handling
33-
- Improved fallback analysis for failed queries
34-
- Enhanced error handling with more specific and actionable error messages
35-
- Complex data type display issues (JSON/Array serialization)
36-
- Enhanced _serialize_value() function with proper NULL filtering
37-
- Fixed "Array cannot have a null element" errors in BigQuery results
40+
- Parameter type validation errors for MCP protocol compatibility
41+
- analyze_columns intermittent failures with enhanced NULL handling
42+
- Complex data type serialization issues
3843
- Parameter naming inconsistencies across configuration files
39-
- Standardized to use `default_limit` and `max_limit` consistently
40-
- Updated all config files, tests, and environment examples
4144

4245
### Changed
43-
- Consolidated validation logic - removed redundant query validation
44-
- Eliminated duplicate validation between _validate_query_safety() and SQLValidator
45-
- All SQL validation now consolidated into SQLValidator class
46-
- Improved tool registration with enhanced debugging and reliability
47-
- Configuration file approach marked as deprecated in favor of CLI arguments
46+
- Consolidated validation logic into SQLValidator class
47+
- Improved tool registration with enhanced debugging
4848

4949
### Removed
5050
- Duplicate and redundant tools for cleaner architecture
51-
- Removed `list_allowed_projects()` - redundant with `list_projects()`
52-
- Removed `list_accessible_projects()` - redundant functionality
53-
- Removed `get_current_context()` - identified as unnecessary complexity
54-
- Deleted entire `context.py` file containing overkill context management
55-
- Cleaned up temporary test files from repository root
56-
- Deleted test_banned_keywords.py, test_execution_check.py, test_fix.py, test_union_validation.py
57-
- All functionality preserved in proper unit test suite
5851

5952
## [1.0.0] - 2025-07-10
6053

README-Docker.md

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)