Skip to main content

Tools Workspace (Automation & MCP)

The Tools workspace provides the automation backbone for the Elo Orgânico project. It centralizes specialized Model Context Protocol (MCP) servers and infrastructure scripts designed to enhance developer productivity, ensure environment parity through multi-stage Docker builds, and enable secure, high-context AI-native engineering workflows.

Model Context Protocol (MCP) Ecosystem

The Elo Orgânico monorepo features a specialized, containerized MCP ecosystem. It exposes structured development capabilities and codebase contexts to LLM clients (such as the Antigravity CLI or external agents) via a secure, high-performance gateway network.

Zero-Dependency TypeScript Adapters

Standard CLI-based MCP servers communicate via standard input/output (stdio) streams. To expose them securely over the network, every service is packaged with a custom TypeScript wrapper (sse-adapter.ts) running on Fastify v5. This adapter implements two distinct network protocols:

  • Traditional Server-Sent Events (SSE): Establishes a uni-directional stream via GET /sse and accepts client messages via POST /messages, piping events directly to the underlying subprocess stdin.
  • Streamable Stateless HTTP (POST /sse): A custom transactional adapter that simulates stateless request-response. It buffers stdout lines from the child process, extracts JSON-RPC payloads, and resolves the HTTP request only when it captures the specific JSON-RPC response id matching the request. Notifications (requests lacking an id) receive an immediate 204 No Content response.

Integrated Context Servers

GitHub MCP Server
Overview & Project Utility

The GitHub MCP server connects our containerized development environment directly to the GitHub API. It enables AI agents to coordinate version control tasks, manage issue lifecycles, and perform code search or automated pull request reviews.

  • Upstream: http://elo-mcp-github:3001/github/sse
Tool Registry & Capabilities
  • search_repositories: Search for repositories matching a query.
  • create_repository: Create a new GitHub repository.
  • search_code: Search for code snippets across repositories.
  • search_issues: Search for issues and pull requests.
  • search_commits: Search for commit histories.
  • create_branch: Create a new Git branch.
  • list_branches: Retrieve list of all branches in the repository.
  • update_pull_request_branch: Update a pull request branch to stay in sync with the base.
  • get_commit: Retrieve detailed information for a specific commit.
  • list_commits: List commits on a branch.
  • get_tag: Get metadata details for a Git tag.
  • list_tags: List all tags in a repository.
  • get_file_contents: Retrieve contents of a specific file or directory.
  • create_or_update_file: Write or update a file in the repository.
  • delete_file: Delete a file from a branch.
  • push_files: Commit and push multiple files in a single transaction.
  • issue_read: View details of a specific issue.
  • issue_write: Create or update an issue.
  • sub_issue_write: Add sub-issue relationships.
  • add_issue_comment: Add a comment to an issue or pull request.
  • list_issues: List issues in the repository.
  • list_issue_types: List supported issue types.
  • pull_request_read: View details of a specific pull request.
  • create_pull_request: Open a new pull request.
  • update_pull_request: Update metadata of a pull request.
  • list_pull_requests: List pull requests in the repository.
  • merge_pull_request: Merge a pull request using specified merge method.
  • add_comment_to_pending_review: Add comments to a pending pull request review.
  • add_reply_to_pull_request_comment: Reply to an inline comment in a pull request review.
  • pull_request_review_write: Submit a pull request review.
  • request_copilot_review: Request a review from GitHub Copilot.
  • assign_copilot_to_issue: Assign GitHub Copilot to resolve an issue.
  • get_latest_release: Get the latest published release.
  • get_release_by_tag: Retrieve a release by its Git tag.
  • list_releases: List releases in the repository.
  • get_label: Get information about a repository label.
  • list_repository_collaborators: List collaborators for a repository.
  • get_me: Get information about the authenticated user.
  • get_teams: List teams in the organization.
  • get_team_members: List members of a specific team.
  • fork_repository: Fork a repository to your account.
Context7 MCP Server
Overview & Project Utility

The Context7 MCP server interfaces with the Context7 API to provide real-time documentation searches. This is a critical context engine for AI agents to query the latest API syntaxes, usage patterns, and version changes of our core dependencies (React 19, Fastify 5, Three.js) without relying on stale model training data.

  • Upstream: http://elo-mcp-context7:3002/context7/sse
Tool Registry & Capabilities
  • resolve-library-id: Resolves a package or library name to a Context7-compatible unique ID.
  • query-docs: Retrieves up-to-date documentation sections, API methods, and code examples for a resolved library ID.
Browser MCP Server (Playwright)
Overview & Project Utility

The Browser MCP server is a headless Google Chrome instance managed via Playwright. It allows AI agents to interact directly with the project's web interfaces, enabling visual regression checks, console error auditing, accessibility tree inspection, and network request sniping in a fully containerized sandbox.

  • Upstream: http://elo-mcp-browser:3003/browser/sse
  • Host-to-Container Routing: Automatically rewrites destination URLs targeting localhost or 127.0.0.1 to host.docker.internal to route requests successfully from the container bridge to the host machine (e.g., accessing Docusaurus on port 3002 or React app on port 5173).
Tool Registry & Capabilities
  • browser_navigate: Navigate to a specified URL.
  • browser_navigate_back: Navigate back to the previous page in history.
  • browser_wait_for: Pause execution until a specific selector or page state is resolved.
  • browser_click: Simulate clicking a DOM element matching a selector.
  • browser_hover: Hover the mouse pointer over a specified element.
  • browser_type: Type text into an input field.
  • browser_fill_form: Fill out multiple input fields in a form.
  • browser_select_option: Select options in a dropdown select element.
  • browser_press_key: Simulate pressing a specific keyboard key.
  • browser_drag: Drag an element and drop it onto another element.
  • browser_drop: Drop a file or element at the target location.
  • browser_file_upload: Upload a file to a file input element.
  • browser_take_screenshot: Capture and save a screenshot of the current page viewport.
  • browser_snapshot: Capture a snapshot of the page's DOM or accessibility tree.
  • browser_console_messages: Retrieve logs and errors emitted by the browser console.
  • browser_network_requests: List all network requests initiated by the page.
  • browser_network_request: Retrieve details of a specific network request/response.
  • browser_tabs: List active browser tabs.
  • browser_handle_dialog: Accept, dismiss, or respond to native browser dialog popups.
  • browser_evaluate: Execute custom JavaScript code within the context of the page.
  • browser_run_code_unsafe: Execute arbitrary Node.js code within the container sandbox.
  • browser_close: Close the browser instance.
  • browser_resize: Resize the viewport dimensions.
Docker Hub MCP Server
Overview & Project Utility

The Docker Hub MCP server manages interactions with the Docker Hub registry. It allows the system to discover images, check tags, and inspect container repository metadata, ensuring that our monorepo infrastructure remains aligned with upstream container images.

  • Upstream: http://elo-mcp-dockerhub:3004/dockerhub/sse
Tool Registry & Capabilities
  • search: Search for repositories on Docker Hub.
  • getRepositoryInfo: Retrieve metadata information for a specific repository.
  • updateRepositoryInfo: Update metadata details of a repository.
  • checkRepository: Check if a repository exists on Docker Hub.
  • listRepositoryTags: Retrieve list of all tags for a repository.
  • getRepositoryTag: Get detailed metadata for a specific image tag.
  • checkRepositoryTag: Verify if a specific image tag exists.
  • listNamespaces: List namespaces accessible by the user.
  • getPersonalNamespace: Get the authenticated user's personal namespace.
  • listAllNamespacesMemberOf: List all organizations/namespaces the user is a member of.
  • dockerHardenedImages: Fetch a list of recommended security-hardened base images.