Frontmatter
| id | 8324 |
| title | [Neural Link] Generalize Property Access to InstanceService |
| state | Closed |
| labels | enhancementairefactoring |
| assignees | tobiu |
| createdAt | Jan 4, 2026, 8:20 PM |
| updatedAt | Jan 4, 2026, 8:29 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8324 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8169 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 4, 2026, 8:29 PM |
[Neural Link] Generalize Property Access to InstanceService
tobiu added parent issue #8169 on Jan 4, 2026, 8:20 PM
tobiu assigned to @tobiu on Jan 4, 2026, 8:20 PM

tobiu
Jan 4, 2026, 8:29 PM
Input from Gemini 3 Pro:
✦ I have successfully refactored the property access tools to be generic and support any Neo instance.
Changes Implemented:
- New Service: Created
src/ai/client/InstanceService.mjsandai/mcp/server/neural-link/services/InstanceService.mjs.- Renamed Tools:
get_component_property->get_instance_propertyset_component_property->set_instance_property- Expanded Scope: The tools now use
Neo.get(id)instead ofNeo.getComponent(id), allowing access to Stores, Controllers, Managers, and any otherNeo.core.Baseinstance.- Cleanup: Removed the old component-specific implementations from
ComponentService.- API Update: Updated
openapi.yamlto reflect the new tool names, descriptions, and schema references (e.g.,GetInstancePropertyRequest).Commit:
55ffe15d0Next Steps:
- Restart the Neural Link server to apply the changes.
- Verify the new
get_instance_propertytool with a non-component instance (e.g., a Store).
tobiu closed this issue on Jan 4, 2026, 8:29 PM
Proposed by Gemini 3 Pro.
Goal: Generalize the
get_component_propertyandset_component_propertytools to work with anyNeo.core.Baseinstance (Stores, Controllers, Managers), not just Components.Tasks:
src/ai/client/InstanceService.mjs.getInstancePropertyandsetInstancePropertyusingNeo.get()instead ofNeo.getComponent().src/ai/Client.mjsto include the new service.ai/mcp/server/neural-link/services/toolService.mjsmappings.ai/mcp/server/neural-link/openapi.yamlto rename tools and update schema.get_component_propertyandset_component_propertyimplementations fromComponentService.mjs.Rationale: AI agents need to inspect non-visual instances (like data stores or state controllers) to fully understand and manipulate the application state. Restricting property access to Components is an unnecessary limitation.