Architecture
soplangBuilder is a bridge agent between SOPLang runtime capabilities and a Model Context Protocol (MCP) client surface used by Ploinky and Explorer user interface (UI) layers.
Component Overview
| Component | Location | Role |
|---|---|---|
| Agent Model Context Protocol surface | soplangAgent/mcp-config.json |
Declares tool names, command entrypoint, env and schemas used by AgentServer. |
| Tool wrapper | soplangAgent/soplang-tool.sh |
Reads MCP payload from stdin and runs one Node process per invocation. |
| Tool routing | soplangAgent/plugins/lib/toolInvocation.mjs |
Maps MCP tool names to plugin + method + params. |
| SOPLang APIs | soplangAgent/plugins/SoplangBuilder.js |
Exposes sync/build/get APIs and custom command registration. |
| Achilles skill bridge | soplangAgent/plugins/AchillesSkills.js |
Discovers skills via AchillesAgentLib and registers them as SOPLang commands. |
| User interface plugin gateway | soplangAgent/IDE-plugins/ |
Provides user interface plugin artifacts that Explorer can auto-insert in the file explorer toolbar. |
Runtime Boundary
Ploinky starts an AgentServer for this agent. AgentServer exposes MCP at /mcp and executes configured commands from mcp-config.json. In this project all tool calls use /code/soplang-tool.sh with a TOOL_NAME value selected per tool.
{
"name": "get_variables_with_values",
"command": "/code/soplang-tool.sh",
"cwd": "workspace",
"env": {
"TOOL_NAME": "get_variables_with_values"
}
}
This keeps the MCP server generic while concentrating SOPLang-specific logic inside the wrapper and plugin layer.
System Positioning
The agent is a middle layer between SOPLang engine internals and AssistOSExplorer UI workflows. Explorer does not need direct SOPLang internals; it invokes MCP tools and receives normalized results.
The focus is deterministic tooling exposure, not UI rendering. UI implementation remains in the Explorer repository.