Da 2061: Add Index tools for EA - #251
Merged
SanjanaBoggaramJ merged 4 commits intoSep 2, 2026
Merged
Conversation
README: document array (UNNEST) and CAST clause inputs, and the behaviours verified against a live cluster that the published grammar does not state (optional types on plain fields, EXCLUDE UNKNOWN KEY required on arrays, CAST rejected on arrays, types unvalidated). Integration: cover array indexes, the CAST clause, and identifier escaping, none of which the existing tests exercised. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
VirajAgarwal-couchbase
changed the base branch from
main
to
DA-2027/Add-enterprise-tools
August 31, 2026 09:51
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Pull request overview
Adds a throwaway/prototype Enterprise Analytics (EA) FastMCP server (analytics-mcp/) with query/metadata/index tools plus unit and live-cluster integration tests, intended to validate tool shapes/behavior before porting into the main server.
Changes:
- Introduces EA tool implementations:
run_query_sync, metadata introspection (databases/scopes/collections/schema), andcreate_indexDDL builder. - Adds unit tests (mocked cluster) and integration tests (stdio MCP subprocess against a live EA cluster).
- Adds packaging/CLI wiring (
pyproject.toml,ea_mcp_server.py) and README usage docs.
File summaries
| File | Description |
|---|---|
| analytics-mcp/tests/unit/test_query_tools_unit.py | Unit tests for run_query_sync success/error envelopes. |
| analytics-mcp/tests/unit/test_metadata_tools_unit.py | Unit tests for metadata tools and identifier escaping. |
| analytics-mcp/tests/unit/test_index_tools_unit.py | Unit tests for create_index statement construction and escaping. |
| analytics-mcp/tests/integration/test_query_tools.py | Integration coverage for run_query_sync via MCP session. |
| analytics-mcp/tests/integration/test_metadata_tools.py | Integration coverage for metadata tools + schema sampling workflow. |
| analytics-mcp/tests/integration/test_index_tools.py | Integration coverage for create_index (including injection/backtick cases). |
| analytics-mcp/tests/integration/conftest.py | Integration test harness (stdio server subprocess + payload extraction). |
| analytics-mcp/src/ea_mcp/tools/query.py | Implements run_query_sync tool with success/error envelopes. |
| analytics-mcp/src/ea_mcp/tools/metadata.py | Implements System.Metadata queries + safe identifier quoting. |
| analytics-mcp/src/ea_mcp/tools/index.py | Implements SQL++ CREATE INDEX statement formatter + tool envelope. |
| analytics-mcp/src/ea_mcp/tools/init.py | Registers tool list and MCP tool annotations. |
| analytics-mcp/src/ea_mcp/responses.py | Shared {success: ...} envelope helpers. |
| analytics-mcp/src/ea_mcp/connection.py | Cluster connection + request-context accessor. |
| analytics-mcp/src/ea_mcp/init.py | Package marker for reusable EA MCP components. |
| analytics-mcp/src/ea_mcp_server.py | CLI entrypoint to run the prototype server over stdio. |
| analytics-mcp/README.md | Prototype documentation, tool descriptions, and test instructions. |
| analytics-mcp/pyproject.toml | Project metadata, dependencies, lint/test config, and packaging rules. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
SanjanaBoggaramJ
merged commit Sep 2, 2026
992c7b7
into
DA-2027/Add-enterprise-tools
2 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
jira: ticket