# officehub-tech-llc/zoho-developer-agent-mcp architecture

> Architecture diagram of the GitHub repository officehub-tech-llc/zoho-developer-agent-mcp, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/officehub-tech-llc/zoho-developer-agent-mcp
- Repository: https://github.com/officehub-tech-llc/zoho-developer-agent-mcp

## Overview

This repository is an MCP server that lets Claude Desktop operate web applications through browser automation and manage Zoho Creator through its API. The main workflow is a user request, MCP tool dispatch, browser interaction or Creator API request, then a result returned to the client. Browser capabilities include navigation, interaction, page inspection, and multi-tab use; Zoho-specific tools support Creator workflows and application listing. The README also documents persistent browser sessions and an OAuth setup path. Most runtime behavior is in server.py; API tool details beyond the sampled excerpts are based on README documentation.

Main entry points: [`server.py`](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py) (Browser Tools), [`get_token.py`](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/get_token.py) (Grant Exchange), [`.env`](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/.env) (Environment Configuration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["MCP Client"]
  node_claude(("Claude Desktop"))
  node_mcp["MCP Tool Server<br/>[server.py]"]
end

subgraph group_browser["Browser Automation"]
  node_browser_tools["Browser Tools<br/>[server.py]"]
  node_tab_state["Tab Management<br/>[server.py]"]
  node_playwright["Playwright Browser Control<br/>[server.py]"]
end

subgraph group_creator["Zoho Creator"]
  node_creator_tools["Creator Tools<br/>[server.py]"]
  node_creator_api["Creator API Client<br/>[server.py]"]
end

subgraph group_auth["OAuth Setup"]
  node_token_refresh["Token Refresh<br/>[server.py]"]
  node_token_exchange["Grant Exchange<br/>[get_token.py]"]
end

node_chrome["Chrome"]
node_web_apps["Web Applications"]
node_zoho_accounts["Zoho Accounts"]
node_zoho_creator["Zoho Creator"]
node_env_config["Environment Configuration<br/>[.env]"]

node_claude -->|"calls tools"| node_mcp
node_mcp -->|"dispatches"| node_browser_tools
node_browser_tools -->|"manages tabs"| node_tab_state
node_browser_tools -->|"uses"| node_playwright
node_tab_state -->|"selects pages"| node_playwright
node_playwright -->|"controls"| node_chrome
node_chrome -->|"interacts with"| node_web_apps
node_browser_tools -->|"returns page results"| node_claude
node_mcp -->|"dispatches"| node_creator_tools
node_creator_tools -->|"requests API data"| node_creator_api
node_creator_api -->|"gets access token"| node_token_refresh
node_token_refresh -->|"reads credentials"| node_env_config
node_token_refresh -->|"refreshes token"| node_zoho_accounts
node_creator_api -->|"sends API requests"| node_zoho_creator
node_creator_tools -->|"returns results"| node_claude
node_token_exchange -->|"reads client settings"| node_env_config
node_token_exchange -->|"exchanges grant"| node_zoho_accounts

click node_mcp "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py"
click node_browser_tools "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py"
click node_tab_state "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py"
click node_playwright "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py"
click node_creator_tools "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py"
click node_creator_api "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py"
click node_token_refresh "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py"
click node_token_exchange "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/get_token.py"
click node_env_config "https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/.env"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_claude,node_mcp toneBlue
class node_browser_tools,node_tab_state,node_playwright toneAmber
class node_creator_tools,node_creator_api toneMint
class node_token_refresh,node_token_exchange toneRose
class node_chrome,node_web_apps,node_zoho_accounts,node_zoho_creator toneIndigo
class node_env_config toneTeal
```

## Components

### MCP Client

- **Claude Desktop**
- [MCP Tool Server](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py): `server.py`

### Browser Automation

- [Browser Tools](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py): `server.py`
- [Tab Management](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py): `server.py`
- [Playwright Browser Control](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py): `server.py`

### Zoho Creator

- [Creator Tools](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py): `server.py`
- [Creator API Client](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py): `server.py`

### OAuth Setup

- [Token Refresh](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/server.py): `server.py`
- [Grant Exchange](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/get_token.py): `get_token.py`

### Other components

- **Chrome**
- **Web Applications**
- **Zoho Accounts**
- **Zoho Creator**
- [Environment Configuration](https://github.com/officehub-tech-llc/zoho-developer-agent-mcp/blob/main/.env): `.env`

## Connections

- Claude Desktop → MCP Tool Server: calls tools
- MCP Tool Server → Browser Tools: dispatches
- Browser Tools → Tab Management: manages tabs
- Browser Tools → Playwright Browser Control: uses
- Tab Management → Playwright Browser Control: selects pages
- Playwright Browser Control → Chrome: controls
- Chrome → Web Applications: interacts with
- Browser Tools → Claude Desktop: returns page results
- MCP Tool Server → Creator Tools: dispatches
- Creator Tools → Creator API Client: requests API data
- Creator API Client → Token Refresh: gets access token
- Token Refresh → Environment Configuration: reads credentials
- Token Refresh → Zoho Accounts: refreshes token
- Creator API Client → Zoho Creator: sends API requests
- Creator Tools → Claude Desktop: returns results
- Grant Exchange → Environment Configuration: reads client settings
- Grant Exchange → Zoho Accounts: exchanges grant
