Frontmatter
| id | 8327 |
| title | [Neural Link] Feature: Tool find_instances |
| state | Closed |
| labels | developer-experienceaifeature |
| assignees | tobiu |
| createdAt | Jan 4, 2026, 8:47 PM |
| updatedAt | Jan 5, 2026, 12:06 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8327 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8169 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 5, 2026, 12:06 PM |
[Neural Link] Feature: Tool find_instances
tobiu added parent issue #8169 on Jan 4, 2026, 8:48 PM
tobiu cross-referenced by #8326 on Jan 4, 2026, 9:09 PM
tobiu assigned to @tobiu on Jan 5, 2026, 11:53 AM

tobiu
Jan 5, 2026, 12:06 PM
Input from Gemini 3 Pro:
✦ I have implemented the
find_instancestool.Changes:
src/ai/client/InstanceService.mjs: AddedfindInstancesmethod.
- Optimized logic to leverage
Neo.collection.Base.finddirectly.- Simplified parameter validation and variable usage.
ai/mcp/server/neural-link/services/toolService.mjs: Registered the tool mapping.ai/mcp/server/neural-link/openapi.yaml: Defined the API endpoint and schema.The tool uses
Neo.manager.Instance.find()for global instance discovery and supports thereturnPropertiesparameter for lean responses.
tobiu closed this issue on Jan 5, 2026, 12:06 PM
Goal: Enable discovery of any Neo instance (StateProviders, Stores, Managers, etc.) by property matching using the global Instance Manager.
Specification:
find_instancessrc/ai/client/InstanceService.mjsNeo.manager.Instance.find(selector)to retrieve matches.Neo.collection.Basefinding logic (exact match on properties).selector(Required, Object): Key-value pairs to match (e.g.,{ className: 'Neo.state.Provider' }).returnProperties(Optional, Arrayinstance.toJSON()for each match.returnProperties: Returns a lean summary object:{ "instances": [ { "id": "neo-provider-1", "className": "Neo.state.Provider", "properties": { "someProp": "someValue" } } ] }this.safeSerialize()from the baseServiceclass for property values.query_component, this tool is flat (global search) and does not supportrootIdor hierarchicaldown()lookups.Comparison with
query_component:query_component: Focused on UI hierarchy, supportsrootId, traversesdown(), returnscomponents.find_instances: Focused on abstract architecture (Stores, Providers), global scope, returnsinstances.