From 13439a7f5538c94fd9ec1cd78cfca8bb6fd6645e Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Tue, 18 Nov 2025 14:46:47 +0000 Subject: [PATCH 1/3] docs: remove meta tools implementation details from README Remove references to search algorithms (BM25, TF-IDF, hybrid search) from the Meta Tools section to keep documentation focused on user-facing functionality rather than internal implementation details. Changes: - Removed mention of "hybrid BM25 + TF-IDF search" from Features section - Removed entire "Hybrid Search Configuration" section with hybrid_alpha examples - Removed technical explanations about BM25/TF-IDF algorithms - Kept focus on what users can do (discover and execute tools) Rationale: - Aligns with documentation in agents/python/meta-tools.mdx - Users don't need to know about underlying search algorithms - Implementation details can change without affecting user-facing API - Maintains consistency with Node.js SDK documentation standards - Follows SDK documentation best practices (focus on "what" and "how to use") --- README.md | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 1e5f86a..57c72d0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ StackOne AI provides a unified interface for accessing various SaaS tools throug - Provider and action filtering with `fetch_tools()` - Multi-account support - Dynamic MCP-backed discovery via `fetch_tools()` so you can pull the latest tools at runtime (accounts, providers, or globbed actions) -- **Meta Tools** (Beta): Dynamic tool discovery and execution based on natural language queries using hybrid BM25 + TF-IDF search +- **Meta Tools** (Beta): Dynamic tool discovery and execution based on natural language queries - Integration with popular AI frameworks: - OpenAI Functions - LangChain Tools @@ -340,7 +340,7 @@ result = feedback_tool.call( ## Meta Tools (Beta) -Meta tools enable dynamic tool discovery and execution without hardcoding tool names. The search functionality uses **hybrid BM25 + TF-IDF search** for improved accuracy (10.8% improvement over BM25 alone). +Meta tools enable dynamic tool discovery and execution without hardcoding tool names. ### Basic Usage @@ -358,30 +358,6 @@ execute_tool = meta_tools.get_tool("meta_execute_tool") result = execute_tool.call(toolName="hris_list_employees", params={"limit": 10}) ``` -### Hybrid Search Configuration - -The hybrid search combines BM25 and TF-IDF algorithms. You can customize the weighting: - -```python -# Default: hybrid_alpha=0.2 (more weight to BM25, proven optimal in testing) -meta_tools = tools.meta_tools() - -# Custom alpha: 0.5 = equal weight to both algorithms -meta_tools = tools.meta_tools(hybrid_alpha=0.5) - -# More BM25: higher alpha (0.8 = 80% BM25, 20% TF-IDF) -meta_tools = tools.meta_tools(hybrid_alpha=0.8) - -# More TF-IDF: lower alpha (0.2 = 20% BM25, 80% TF-IDF) -meta_tools = tools.meta_tools(hybrid_alpha=0.2) -``` - -**How it works:** -- **BM25**: Excellent at keyword matching and term frequency -- **TF-IDF**: Better at understanding semantic relationships -- **Hybrid**: Combines strengths of both for superior accuracy -- **Default alpha=0.2**: Optimized through validation testing for best tool discovery - ## Examples For more examples, check out the [examples/](examples/) directory: From 48b44a30756989dca160d073296ccb3c284cc5c2 Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Tue, 18 Nov 2025 15:01:43 +0000 Subject: [PATCH 2/3] chore: link to ENG-11260 Related: ENG-11260 From ba6a9dac94a79a5a8494c265e655bbadf0b1d6c0 Mon Sep 17 00:00:00 2001 From: ryoppippi <1560508+ryoppippi@users.noreply.github.com> Date: Tue, 18 Nov 2025 15:04:00 +0000 Subject: [PATCH 3/3] docs: remove MCP implementation references from README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove mentions of "MCP server" and "MCP-backed" from user-facing documentation. Replace with generic "dynamic discovery" terminology. Changes: - "Dynamic MCP-backed discovery" → "Dynamic discovery" - "for MCP server and CrewAI" → "for dynamic discovery and CrewAI" - "Install with MCP server support" → "Install with dynamic discovery support" - Remove "uses the StackOne MCP server under the hood" explanation Users don't need to know about internal MCP implementation details. Related: ENG-11260 --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 57c72d0..c2d6c92 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ StackOne AI provides a unified interface for accessing various SaaS tools throug - Glob pattern filtering with patterns like `"hris_*"` and exclusions `"!hris_delete_*"` - Provider and action filtering with `fetch_tools()` - Multi-account support -- Dynamic MCP-backed discovery via `fetch_tools()` so you can pull the latest tools at runtime (accounts, providers, or globbed actions) +- Dynamic discovery via `fetch_tools()` so you can pull the latest tools at runtime (accounts, providers, or globbed actions) - **Meta Tools** (Beta): Dynamic tool discovery and execution based on natural language queries - Integration with popular AI frameworks: - OpenAI Functions @@ -25,7 +25,7 @@ StackOne AI provides a unified interface for accessing various SaaS tools throug ## Requirements - Python 3.9+ (core SDK functionality) -- Python 3.10+ (for MCP server and CrewAI examples) +- Python 3.10+ (for dynamic discovery and CrewAI examples) ## Installation @@ -41,7 +41,7 @@ uv add stackone-ai ### Optional Features ```bash -# Install with MCP server support (requires Python 3.10+) +# Install with dynamic discovery support (requires Python 3.10+) uv add 'stackone-ai[mcp]' # or pip install 'stackone-ai[mcp]' @@ -106,7 +106,7 @@ tools = toolset.get_tools(["hris_*", "!hris_delete_*"]) The `fetch_tools()` method provides advanced filtering by providers, actions, and account IDs: -> `fetch_tools()` uses the StackOne MCP server under the hood. Install the optional extra (`pip install 'stackone-ai[mcp]'`) on Python 3.10+ to enable dynamic discovery. +> Install the optional extra (`pip install 'stackone-ai[mcp]'`) on Python 3.10+ to enable dynamic discovery. ```python from stackone_ai import StackOneToolSet