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.