Skip to content

Conversation

@MQ37
Copy link
Contributor

@MQ37 MQ37 commented Aug 12, 2025

closes #214

also handles this feature request https://console.apify.com/actors/1lSvMAaRcadrM1Vgv/issues/uMIkLfBQgw1hy8M95

Currently, default tools (Actor details, search, and add Actor — unless explicitly disabled via enableAddingActors) and docs category tools are always enabled and cannot be disabled. This is poor UX — some users may want access only to docs and not call Actors, or may want access to just a single Actor without any other tools.

This PR addresses that. When the user does not specify any parameters (e.g., ?actors or ?tools), the default tools are loaded as specified in the README. However, if the user specifies, for example, tools=storage, only the storage tools category will be loaded, along with the add-actor tool and the default RAG web browser Actor — both of which can also be disabled if needed.

With this change, users can disable all Actors and tools entirely by setting parameters to empty values, such as ?actors=&tools=&enableAddingActors=false. This configuration would expose no tools from the MCP server, rendering it effectively useless — but it demonstrates the fine-grained control now available.

⚠️ Warning: This change could break workflows where users, for example, enable only tools=storage but still expect docs tools to be available (since they're currently loaded by default). While this is a potentially "breaking" change, we should consider it minor. Users should explicitly list the tool categories they actively use and avoid relying on implicit defaults in production workflows.

@github-actions github-actions bot added t-ai Issues owned by the AI team. tested Temporary label used only programatically for some analytics. labels Aug 12, 2025
@jirispilka
Copy link
Collaborator

We’ll need to create a new PR or incorporate all the changes we discussed with Honza.
In my opinion, it makes the most sense to include everything in a single PR.

@MQ37
Copy link
Contributor Author

MQ37 commented Aug 19, 2025

We’ll need to create a new PR or incorporate all the changes we discussed with Honza. In my opinion, it makes the most sense to include everything in a single PR.

I would be for creating a new PR and either base it from this branch or merge it into this branch where we would also refactor/simplify the whole input/parameter handling. I agree, that we should include everything in a one PR/release.

MQ37 and others added 2 commits August 26, 2025 09:44
* feat: refactor and unify input handling, remove unnecessary logic

* feat: vibe new mcp input spec

* fix: remove unnecessary addTool in mcp/server.ts

* fix: fix stdio.only add-actor tool related circular dependency cause by import of getActorsAsTools and pass it as internal tool arg instead.

* fix test suite, clean up

* fix tests and logic to adhere to the new spec

* refactor code

* lint

* rename to fetch-actor-details

* improve readme

* update stdio help

* improve test case names

* fix and improve the call-actor generic tool

* more spec new spec complience tests

* lint

* one more test, just in case

* address pr comment and refactor the process input func

* fix: Delete example clients, update Readme (#239)

fix: Delete clients (in examples). They are not used and outdated anyway. Also update README.md

* Update tests/unit/input.test.ts

Co-authored-by: Jiří Spilka <[email protected]>

* Update tests/unit/input.test.ts

Co-authored-by: Jiří Spilka <[email protected]>

* Update README.md

Co-authored-by: Jiří Spilka <[email protected]>

* address review comments

* clean up imports and update comments for clarity, export functions for internal repo

---------

Co-authored-by: Jiří Spilka <[email protected]>
@MQ37 MQ37 merged commit a4a8638 into master Aug 26, 2025
4 checks passed
@MQ37 MQ37 deleted the feat/tools-actors-input-allow-empty branch August 26, 2025 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-ai Issues owned by the AI team. tested Temporary label used only programatically for some analytics.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

When ?tools is specified do not expose the default tool categories

3 participants