Skip to content

🐛 fix: add missing category and tool_sign attributes to ParallelExecutorTool - #3481

Merged
WMC001 merged 2 commits into
developfrom
cj/fix_parallel_executor_missing_category
Jul 23, 2026
Merged

🐛 fix: add missing category and tool_sign attributes to ParallelExecutorTool#3481
WMC001 merged 2 commits into
developfrom
cj/fix_parallel_executor_missing_category

Conversation

@cj2026-bit

@cj2026-bit cj2026-bit commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Problem

MCP tool refresh fails with AttributeError when
iterating over all tool classes. The iteration accesses .category on each
tool, but ParallelExecutorTool does not define this attribute.

Root Cause

ParallelExecutorTool was added as a system-managed tool without the
category and tool_sign class attributes that all other tools define
(e.g. store_memory uses DATABASE, search_memory uses SEARCH).
The smolagents.Tool base class does not provide defaults.

Fix

Set both attributes to None on ParallelExecutorTool. This tool is an
orchestration utility that coordinates other agents/tools —it does not
fit into the existing category taxonomy (search/file/email/etc.), so
None is the correct value.

class ParallelExecutorTool(Tool):
    name = "parallel_executor"
    category = None
    tool_sign = None

Verification Screenshot
9d6a5ffb-7574-4592-a5b3-29be9e0b56a7
d8787b62-6a71-4ee8-8963-5dbd33d66889

cj2026-bit and others added 2 commits July 22, 2026 17:05
…torTool

Bug: MCP tool refresh fails when scanning all tool classes because
ParallelExecutorTool lacks the 'category' attribute that other tools
define (e.g. store_memory uses DATABASE, search_memory uses SEARCH).

Trigger: MCP service refresh iterates over all tool classes and
accesses .category attribute. When it reaches ParallelExecutorTool,
the missing attribute raises AttributeError.

Root cause: ParallelExecutorTool was added as a system-managed tool
without the category and tool_sign class attributes that all other
tools define. The smolagents Tool base class does not provide defaults.

Fix: Set category = None and tool_sign = None on ParallelExecutorTool.
The tool is an orchestration utility (not search/file/email/etc.), so
None is the correct value.

Verification: Called POST /mcp/refresh-tools?mcp_id=1 which returned
{'message': 'Tool count refreshed', 'status': 'success'}. Previously
this would have failed with AttributeError during tool iteration.

Co-Authored-By: Claude <noreply@anthropic.com>
# Conflicts:
#	sdk/nexent/core/tools/parallel_executor.py
@cj2026-bit cj2026-bit self-assigned this Jul 22, 2026
@codecov

codecov Bot commented Jul 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@WMC001
WMC001 merged commit 2c0fe1a into develop Jul 23, 2026
13 checks passed
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