senior-projects-manager-mcp-server
Provides access to deployed Zoho Zia agents, enabling natural-language requests that can read and write Zoho Projects data, with limited access to Zoho Mail, CRM, and WorkDrive through the Senior Projects Manager agent.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@senior-projects-manager-mcp-serverWhat should I work on next?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
senior-projects-manager-mcp-server
Remote MCP server ("gateway") for triggering deployed Zoho Zia agents. The
gateway itself — OAuth, HTTP client, MCP transport — is agent-independent;
which agent a call reaches is resolved through the registry in
src/agents.ts. It currently exposes one tool,
ask_senior_projects_manager, whose default (and only currently registered)
target is the deployed Zoho Zia Senior Projects Manager agent (portal
damianknowles, agent id 20971000000021961), reached via its /trigger
API.
Reference implementation: ~/zia-agent/zia_agent.py (interactive CLI script
this server generalizes into a long-running HTTP service).
Architecture
src/agents.ts— registry of addressable Zia agents (key → display name → numeric agent id). Adding a new agent means adding an entry here, not touching the client or transport.DEFAULT_ZIA_AGENT_KEY(envZIA_DEFAULT_AGENT, defaults tosenior-projects-manager) picks the agent used when a call doesn't name one.src/zohoZiaClient.ts— agent-independent client: Zoho OAuth token refresh/caching, andtriggerZiaAgent(message, agentKey?)which resolvesagentKeythrough the registry and POSTs to that agent's trigger URL. Has no built-in knowledge of the Senior Projects Manager specifically.src/index.ts— MCP server/transport plumbing plus the one registered tool, which is a thin wrapper:agentparam →triggerZiaAgent.
Related MCP server: OpenClaw MCP Server
Tool
ask_senior_projects_manager
Field | Type | Description |
| string | Natural-language request, e.g. |
| string, optional | Registry key of the agent to address. Defaults to |
Returns the agent's plain-text response. Because the underlying agent has write access to Zoho Projects (and limited access to Mail/CRM/WorkDrive), calls that ask it to create or change records will actually do so, subject to the agent's own confirmation rules (see its instructions/guardrails in Zia Agent Studio).
Local development
npm install
cp .env.example .env # fill in ZOHO_CLIENT_ID / ZOHO_CLIENT_SECRET / ZOHO_REFRESH_TOKEN
npm run devBy default the server speaks streamable HTTP on POST http://localhost:3000/mcp
(health check at GET /healthz). Set TRANSPORT=stdio to run it as a local
stdio MCP server instead (for e.g. the Claude Desktop config).
The HTTP transport uses the MCP TypeScript SDK's current recommended
stateless pattern: StreamableHTTPServerTransport with
sessionIdGenerator: undefined (no session state kept between requests —
each POST /mcp is fully self-contained) and a fresh McpServer per
request, built via the SDK's createMcpExpressApp() helper (JSON body
parsing plus optional DNS-rebinding host validation, see MCP_ALLOWED_HOSTS
above).
Configuration
All configuration is via environment variables (see .env.example):
Variable | Required | Notes |
| yes | Zoho self-client OAuth credentials |
| yes | |
| yes | |
| no | Defaults to |
| no | Defaults to |
| no | Defaults to |
| no | Defaults to |
| no | Overrides the Senior Projects Manager's numeric agent id (default |
| no | Registry key used when a call omits |
| required in production | Bearer token clients must send to |
| no | Selects the SDK's DNS-rebinding host-validation mode (not the actual bind address). Defaults to |
| no | Comma-separated allowed |
| no | Defaults to |
| no |
|
Access tokens are refreshed from the Zoho refresh token on demand and cached in memory until ~1 minute before expiry.
Registering another agent
To make the gateway able to address a second Zia agent (e.g. the Inbox
Execution Agent), add an entry to the ZIA_AGENTS map in src/agents.ts
with its key, display name, and numeric agent id — no changes needed in the
client or transport layers. Callers then pass that key as the tool's agent
argument; omitting it keeps using the default.
Connecting an MCP client
Once deployed, point a remote-MCP-capable client at:
https://<your-deployment-host>/mcpwith header Authorization: Bearer <MCP_SERVER_API_KEY>.
Cloud deployment
Docker
docker build -t senior-projects-manager-mcp-server .
docker run -p 3000:3000 \
-e ZOHO_CLIENT_ID=... \
-e ZOHO_CLIENT_SECRET=... \
-e ZOHO_REFRESH_TOKEN=... \
-e MCP_SERVER_API_KEY=... \
-e NODE_ENV=production \
senior-projects-manager-mcp-serverRender
render.yaml defines a Blueprint web service (npm install && npm run build
/ npm start, health check on /healthz). The four secret env vars
(ZOHO_CLIENT_ID, ZOHO_CLIENT_SECRET, ZOHO_REFRESH_TOKEN,
MCP_SERVER_API_KEY) are marked sync: false — set them in the Render
dashboard rather than committing them.
Any other Node-friendly host (Fly.io, Railway, a plain VM, etc.) works the
same way: build with npm install && npm run build, run npm start, and set
the same environment variables.
Security note
This server triggers a live business agent with write access to a real Zoho
Projects portal, CRM notes, and WorkDrive uploads. Do not deploy it without
MCP_SERVER_API_KEY set, and treat that key like any other credential.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Let AI agents query data and act across all your business apps via MCP.
Manage projects, tasks, time tracking, and team collaboration through natural language.
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables MCP-compatible clients to interact with deployed Agent5ive agents as tools. Allows users to query agent purposes and send messages to leverage Agent5ive capabilities through natural language.60MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables delegation of immediate conversational messages and long-running background tasks to OpenClaw agents. It allows users to spawn research or monitoring tasks, check execution status, and manage active agent sessions within MCP-compatible clients.-
- AlicenseNot gradedqualityDmaintenanceEnables management of PMO entities such as actions, risks, issues, projects, deliverables, decisions, KPIs, and objectives through natural language from any MCP-compatible agent.66Server Side Public , v 1
- -licenseNot gradedqualityBmaintenanceEnables users to interact with a set of tools via an LLM agent, allowing natural language requests to be processed and executed through the MCP server.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DAMESBAHAHAMAS/senior-projects-manager-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server