Zoho Analytics MCP 服务器
使用说明
- 项目简介
- 本仓库实现了一个基于 MCP(Model Context Protocol)的后端服务器,用于向 LLM 客户端提供上下文信息与功能性接口。核心能力包括资源管理、工具注册/执行、以及可渲染的 Prompt 模板,用以驱动 LLM 的对话与分析能力,并通过 JSON-RPC 风格的请求和响应进行通信。
- 实现特色包括:多传输协议支持、会话与凭证管理、对外部数据源的安全接入(如 Zoho Analytics)以及可扩展的持久化存储(内存/Redis/Catalyst),方便在本地或云端部署。
- 代码结构包含基于 Python 的 MCP 服务器实现(FastAPI + FastMCP 驱动)以及多处工具、代理与持久化组件,确保“托管资源、注册工具、渲染提示、JSON-RPC 通信”这三大 MCP 核心能力的实现。
- 主要功能点
- MCP 服务端核心
- 通过 MCP 协议处理客户端请求,提供资源访问、工具执行、以及提示模板渲染等后端能力。
- 支持会话管理、能力声明(服务能力/可用工具清单)及多传输协议。
- 资源与工具管理
- 缓存/持久化资源(InMemory/Redis/Catalyst,按配置选择)。
- 注册并实现 Tools,提供对 Zoho Analytics 的数据操作、查询、导出、导入等能力。
- 数据源集成
- 与 Zoho Analytics API 集成,提供工作空间、视图、数据源等元数据和数据操作能力。
- 支持分页、筛选、批量导入导出等复杂用例。
- 安全代理与授权
- 提供基于 OAuth 的远程代理/验证逻辑,包含认证中间件、静态 DCR 流程和令牌刷新流程的实现框架(remote_auth、token 回调等)。
- 多语言实现结构
- 包含 Python 端的 MCP 服务器实现,以及参考结构化的 Node.js/TypeScript 版本工具实现,便于对比与扩展。
- 安装与运行步骤
-
直接使用官方镜像运行(推荐)
- 需要配置以下环境变量(示例,具体值请填入你自己的凭证和地址):
- ANALYTICS_CLIENT_ID
- ANALYTICS_CLIENT_SECRET
- ANALYTICS_REFRESH_TOKEN
- ANALYTICS_ORG_ID
- ANALYTICS_MCP_DATA_DIR
- MCP_SERVER_PUBLIC_URL
- ANALYTICS_SERVER_URL
- ACCOUNTS_SERVER_URL
- 服务器端口默认开放在 4000,请根据需要映射端口。
- 启动后,MCP 客户端可通过配置的 MCP 服务器信息连接,并通过该 MCP 服务端的 /mcp 路径进行通信。
- 需要配置以下环境变量(示例,具体值请填入你自己的凭证和地址):
-
MCP 客户端连接配置(示意说明,非代码)
- server 名称:ZohoAnalyticsMCP
- command: docker run … zohoanalytics/mcp-server:latest
- args: 一系列环境变量设置(如上所述),以及端口映射和数据目录挂载等参数
- 客户端需要的配置信息以 JSON 格式描述为每个 MCP 服务实例的启动配置,包含 server 名称、command、args 及其他必要注释信息,用于帮助 MCP 客户端正确发起连接。
- 服务器配置(JSON 配置示例说明)
- 该配置用于 MCP 客户端在启动时描述需要连接的 MCP 服务器信息(名称、启动命令及参数),下列为描述性文本,不作为代码展示: { "server": "ZohoAnalyticsMCP", "command": "docker", "args": [ "run", "-e", "ANALYTICS_CLIENT_ID=<YOUR_ANALYTICS_CLIENT_ID>", "-e", "ANALYTICS_CLIENT_SECRET=<YOUR_ANALYTICS_CLIENT_SECRET>", "-e", "ANALYTICS_REFRESH_TOKEN=<YOUR_ANALYTICS_REFRESH_TOKEN>", "-e", "ANALYTICS_ORG_ID=<YOUR_ANALYTICS_ORG_ID>", "-e", "ANALYTICS_MCP_DATA_DIR=<YOUR_MCP_DATA_DIR>", "--network=host", "zohoanalytics/mcp-server:latest" ], "notes": [ "确保环境变量完整且对应你的 Zoho Analytics 配置", "MCP 服务器端口默认为 4000,必要时在运行时映射端口", "MCP 服务器需要对外暴露的 URL 要与 MCP_SERVER_PUBLIC_URL 环境一致,账户与令牌端点将由服务器内部进行管理" ] }
- 基本使用方法
- 启动与连接
- 在服务器启动完成后,MCP 客户端通过提供的服务器配置连接到 MCP 服务端。
- 客户端通过 MCP 标准请求向服务器发起对资源、工具和提示的访问与执行请求,服务器返回标准的 JSON-RPC 风格响应。
- 常用场景
- 读取工作空间与视图信息、执行数据查询、导入导出数据、创建图表/报表等。
- 利用代理的 OAuth 验证与缓存策略,确保对 Zoho Analytics 的访问在合规范围内自动刷新令牌。
- 停止与维护
- 使用容器管理工具停止运行,或在本地直接停止运行的 FastAPI/MCP 服务。
- 运行时注意事项
- 需正确配置 ANALYTICS_SERVER_URL、ACCOUNTS_SERVER_URL、MCP_DATA_DIR 等环境变量以确保与 Zoho Analytics 的正确对接。
- 根据需要选择持久化后端(memory、redis、catalyst),以实现多实例并发访问的可扩展性。
- 代理/认证相关的配置要与实际的 OAuth 提供方设置保持一致,确保令牌刷新流程可用。
- 使用场景建议
- 适用于需要在大语言模型中嵌入 Zoho Analytics 数据能力的应用场景,如问答型数据分析、自动化数据准备、以及基于分析数据的智能决策支持。
-
关键词 数据分析后台, AI 集成, 资源管理, 工具执行, OAuth 代理
-
分类ID 6