search_strategies
Find creative problem-solving strategies by searching keywords across Brian Eno's Oblique Strategies card deck to overcome creative blocks.
Instructions
Search for strategies containing the specified keywords.
Args: query: Keywords to search for (case-insensitive). edition: Optional edition to limit search to. If not specified, searches all editions.
Returns: A dictionary containing matching strategies and their editions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| edition | No |
Implementation Reference
- The actual business logic for the search_strategies tool, which filters strategies by query and edition.
def search_strategies( self, query: str, edition: Optional[str] = None ) -> Dict[str, Any]: """Search for strategies containing the specified keywords.""" query_lower = query.lower() results = [] # Determine which editions to search editions_to_search = ( [edition] if edition and edition in self.EDITIONS else self.EDITIONS.keys() ) for ed in editions_to_search: try: strategies = self.load_strategies(ed) for strategy in strategies: if query_lower in strategy.lower(): results.append({"strategy": strategy, "edition": ed}) except (FileNotFoundError, Exception): # Skip editions that can't be loaded continue return { "query": query, - oblique_strategies_mcp/__main__.py:35-48 (registration)MCP tool registration and entry point for search_strategies.
@mcp.tool() def search_strategies(query: str, edition: Optional[str] = None) -> Dict[str, Any]: """ Search for strategies containing the specified keywords. Args: query: Keywords to search for (case-insensitive). edition: Optional edition to limit search to. If not specified, searches all editions. Returns: A dictionary containing matching strategies and their editions. """ return manager.search_strategies(query, edition)