Skip to content

Add smart collection search tools and comprehensive testing#9

Open
DragosDima96 wants to merge 6 commits intohluaguo:mainfrom
DragosDima96:main
Open

Add smart collection search tools and comprehensive testing#9
DragosDima96 wants to merge 6 commits intohluaguo:mainfrom
DragosDima96:main

Conversation

@DragosDima96
Copy link

Hi, I have been playing with your mcp server. I had to make a few changes to accomate my request. If you think those are useful you can integrate them.

Add smart collection search tools and comprehensive testing
Features:

  • Add find_candidate_collections: Fast collection name/description search
  • Add search_cards_in_collections: Targeted card search within collections
  • Add collection caching with TTL for performance optimization
  • Add helper functions for collection indexing and card projection

Testing:

  • Create scripts/test_collection_search.py: Focused testing for new search tools
  • Create scripts/test_comprehensive.py: Full test suite with safety limits
  • Remove outdated test files in favor of organized scripts/ directory

Implementation:

  • Implement efficient card-first search workflow
  • Enable smart card discovery by finding relevant collections first
  • All code ready for public repo (no private/sensitive data)

dragosdima and others added 4 commits August 8, 2025 17:20
Features:
- Add find_candidate_collections: Fast collection name/description search
- Add search_cards_in_collections: Targeted card search within collections
- Add collection caching with TTL for performance optimization
- Add helper functions for collection indexing and card projection

Testing:
- Create scripts/test_collection_search.py: Focused testing for new search tools
- Create scripts/test_comprehensive.py: Full test suite with safety limits
- Remove outdated test files in favor of organized scripts/ directory

Implementation:
- Implement efficient card-first search workflow
- Enable smart card discovery by finding relevant collections first
- All code ready for public repo (no private/sensitive data)

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

Co-Authored-By: Claude <noreply@anthropic.com>
- Add __pycache__/ to .gitignore to prevent committing Python cache files
- Update README.md with comprehensive tools documentation:
  - Organize tools into logical categories (Database, Cards, Collections, Search)
  - Add new smart search tools: find_candidate_collections, search_cards_in_collections
  - Add missing tools: list_cards_paginated, list_cards_by_collection
- Remove port positional argument references in favor of environment variables
- Update server startup examples to use HOST/PORT environment variables consistently

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

Co-Authored-By: Claude <noreply@anthropic.com>
Clean up __pycache__ directory and compiled Python files (.pyc) that were
previously tracked. These files are now properly ignored via .gitignore
and should not be committed to version control.

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

Co-Authored-By: Claude <noreply@anthropic.com>
@hluaguo
Copy link
Owner

hluaguo commented Aug 8, 2025

Maybe not adding those test scripts?

@DragosDima96
Copy link
Author

I have removed them

- Add search_metabase function using Metabase's native /search API
- Supports filtering by models (card, dashboard, collection)
- Includes archived items option and native query search
- Proper URL encoding for multiple model parameters
- Add comprehensive search metadata to response
- Update README.md to include new universal search tool

This provides a direct interface to Metabase's search API for broader
search capabilities beyond the targeted collection search tools.

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

Co-Authored-By: Claude <noreply@anthropic.com>
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.

2 participants