Zoho图书MCP服务器
该项目提供了一个Python/FastAPI应用程序来管理多个Zoho Books帐户,并公开了一个MCP(微控制协议)接口,以便通过自动化工具与它们进行交互。
该应用程序允许您:
- 管理Zoho帐户: 连接、选择和管理多个Zoho Books帐户。
- OAuth身份验证: 使用Zoho的OAuth流来获取和刷新访问令牌。
- MCP接口: 显示专用URL(
/mcp)用于外部MCP服务器获取凭据并执行Zoho Books操作。 - 综合文档: 直接从web界面访问工具文档。
先决条件
- Docker: 确保你有 码头工人 安装并运行。
- Docker编写: 确保你有 安装。
项目设置
- 克隆存储库:
git clone
cd - 配置环境变量:
创建一个 .env 基于项目根目录的文件 .env.example (如果存在)或根据中定义的所需变量 config.py 和 docker-compose.yml。您至少需要定义以下变量(根据您的Zoho环境调整值):
- ZOHO_CLIENT_ID:您的Zoho应用程序的客户端ID。 - ZOHO_CLIENT_SECRET:您的Zoho应用程序的客户端密码。 - ZOHO_REDIRECT_URI:Zoho应用程序中配置的重定向URI(默认为 http://localhost:8000/oauth/callback). - MCP_PORT:MCP接口的内部端口(默认为 8001). - APP_PORT:web界面的外部端口(默认为 8000).
示例 .env 内容:
ZOHO_CLIENT_ID=your_client_id_here
ZOHO_CLIENT_SECRET=your_client_secret_here
ZOHO_REDIRECT_URI=http://localhost:8000/oauth/callback
MCP_PORT=8001
APP_PORT=8000- 使用Docker Compose构建和运行:
docker-compose up -d --build此命令将构建应用程序映像(如果需要)并启动中定义的容器 docker-compose.yml 在后台(-d).
用法
- 访问Web界面:
打开您的网络浏览器并导航到 http://localhost:[APP_PORT] (默认值为 http://localhost:8000).
- 在这里,您可以管理您的Zoho Books帐户(连接新帐户、选择活动帐户、删除)。 - 您将看到您的外部代理或工具应使用的MCP服务器URL。
- 连接Zoho帐户:
- 在web界面中,单击“🚀 连接Zoho图书”按钮。 - 登录您的Zoho帐户并授权该应用程序。 - 如果这是一个没有组织的新帐户,您将被重定向到Zoho Books设置页面以创建一个。
- 使用MCP接口:
您的外部MCP服务器应指向 http://localhost:[APP_PORT]/mcp (例如。, http://localhost:8000/mcp)通过此应用程序与Zoho Books进行交互。
- 访问工具文档:
- 在主web界面中,单击“📘 工具文档”按钮。 - 将打开一个新页面,其中包含有关可用工具及其响应的详细文档。
- 停止容器:
docker-compose down项目结构
docker-compose.yml:定义Docker服务(app、db)及其配置。Dockerfile:为Python应用程序构建Docker映像的说明。.env:用于定义敏感环境变量的文件(不包括在版本控制中)。src/:Python应用程序代码的主目录。
- main.py:主要应用程序入口点(如适用)。 - routes.py:定义web路由和业务逻辑。 - auth.py:处理Zoho OAuth身份验证和令牌管理。 - templates.py:包含HTML模板呈现函数。 - docs.py:包含工具文档的HTML模板。 - utils.py:实用功能。
config.py:配置设置(例如端口、Zoho API详细信息)。zoho_tokens.db:SQLite数据库文件(默认情况下保存在容器的卷内)。
备注
- 该应用程序使用SQLite存储帐户信息和令牌。数据库文件
zoho_tokens.db通常使用Docker卷进行持久化。 - 确保
ZOHO_REDIRECT_URI与Zoho开发人员控制台中配置的OAuth回调完全匹配,以使OAuth回调正常工作。 - 此应用程序充当中介,管理Zoho凭据并提供MCP端点。部署时确保其安全性。
