Skip to content

chore: release v1.6.0#56

Merged
StuMason merged 1 commit intomainfrom
release/v1.6.0
Jan 6, 2026
Merged

chore: release v1.6.0#56
StuMason merged 1 commit intomainfrom
release/v1.6.0

Conversation

@StuMason
Copy link
Owner

@StuMason StuMason commented Jan 6, 2026

Summary

Release v1.6.0 with 8 new database creation tools.

Added

  • Database Creation Tools - Full CRUD support for all database types:
    • create_postgresql - Create PostgreSQL databases
    • create_mysql - Create MySQL databases
    • create_mariadb - Create MariaDB databases
    • create_mongodb - Create MongoDB databases
    • create_redis - Create Redis databases
    • create_keydb - Create KeyDB databases
    • create_clickhouse - Create ClickHouse databases
    • create_dragonfly - Create Dragonfly databases (Redis-compatible)

Changed

  • Total tool count increased from 67 to 75 tools
  • Database tools section now has 14 tools (was 6)

Test plan

  • All 201 tests pass
  • Build succeeds
  • Lint passes
  • Documentation updated (README, CHANGELOG, CLAUDE.md)

🤖 Generated with Claude Code

- Add 8 database creation tools (PostgreSQL, MySQL, MariaDB, MongoDB, Redis, KeyDB, ClickHouse, Dragonfly)
- Update package.json version to 1.6.0
- Update mcp-server.ts VERSION constant
- Add CHANGELOG entry for v1.6.0
- Update tool count in README.md and CLAUDE.md (67 → 75 tools)
- Add tests for all new database creation methods

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Jan 6, 2026

PR Review: v1.6.0 - Database Creation Tools

Overall Assessment

This is a well-structured PR that adds 8 new database creation tools following the established codebase patterns. The implementation is clean and consistent with existing conventions.


✅ Strengths

Code Quality

  • Excellent use of a shared databaseBaseSchema object to reduce code duplication across the 8 database creation tools
  • TypeScript interfaces properly extend a base interface (CreateDatabaseBaseRequest)
  • Client methods have explicit return types as required by the project's TypeScript standards
  • Consistent naming conventions across all new tools

Architecture

  • Properly follows the 4-step pattern outlined in CLAUDE.md: types → client → mcp-server → tests
  • API endpoints match Coolify's REST API structure (/databases/{type})
  • Clean separation between client layer and MCP tool definitions

Documentation

  • CHANGELOG follows Keep a Changelog format
  • README and CLAUDE.md updated with new tool counts
  • Database category in feature table properly updated

⚠️ Issues Found

1. Tool Count Discrepancy (Minor)
The PR documentation states 75 tools, but counting this.tool( calls in mcp-server.ts shows 77 tools. The documentation should be updated to reflect the accurate count.

2. MCP Server Tests Only Test Mock Functions Directly
The tests in mcp-server.test.ts (lines 396-484) call the mock functions directly rather than testing through the MCP server's tool handlers:

// Current approach - tests the mock, not the integration
await mockCreatePostgresql({ ...baseParams, postgres_user: 'myuser' });
expect(mockCreatePostgresql).toHaveBeenCalledWith({...});

This pattern differs from other tests in the file that use spies on the actual client:

// Better approach used elsewhere
const spy = jest.spyOn(server['client'], 'getResource').mockResolvedValue({...});
await server.get_resource('test-uuid');
expect(spy).toHaveBeenCalledWith('test-uuid');

The current tests verify the mock is callable but don't actually exercise the MCP tool → client integration. Consider updating to match the spy pattern used in coolify-client.test.ts.


🔒 Security Considerations

  • Password fields are appropriately handled as optional strings
  • No hardcoded defaults for sensitive fields like passwords
  • is_public option is properly documented to make users aware they're exposing the database publicly

📊 Test Coverage

  • 8 client tests for database creation ✅
  • 8 MCP server tests ✅ (though see note above about test pattern)
  • All 201 tests pass per PR description

💡 Suggestions (Non-blocking)

  1. Consider adding input validation for public_port (valid port range 1-65535)
  2. File header comment in mcp-server.ts (line 10) says "Databases: list, get, start/stop/restart" but now includes create/delete operations - could be updated for accuracy

Verdict

Approve with minor fixes recommended. The core implementation is solid and follows project conventions. The tool count discrepancy in documentation should be corrected before merge.

@StuMason StuMason merged commit 5c86231 into main Jan 6, 2026
5 checks passed
@StuMason StuMason deleted the release/v1.6.0 branch January 6, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant