使用说明
Zoho图书MCP服务器
该项目提供了一个Python/FastAPI应用程序来管理多个Zoho Books帐户,并公开了一个MCP(微控制协议)接口,以便通过自动化工具与它们进行交互。
该应用程序允许您:
- 管理Zoho帐户: 连接、选择和管理多个Zoho Books帐户。
- OAuth身份验证: 使用Zoho的OAuth流来获取和刷新访问令牌。
- MCP接口: 显示专用URL(
/mcp)用于外部MCP服务器获取凭据并执行Zoho Books操作。 - 综合文档: 直接从web界面访问工具文档。
先决条件
- Docker: 确保你有 码头工人 安装并运行。
- Docker编写: 确保你有 Docker Compose 安装。
项目设置
-
克隆存储库:
git clone <URL_OF_YOUR_REPOSITORY> cd <NAME_OF_YOUR_REPOSITORY> -
配置环境变量:
创建一个
.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端点。部署时确保其安全性。
