使用说明
项目简介
Kanvas MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在作为大型语言模型 (LLM) 客户端与 Kanvas API 之间的桥梁。它通过标准化接口向 LLM 提供特定的上下文信息和执行外部功能的能力。
主要功能点
该服务器暴露了与 Kanvas API 交互的工具,使连接到服务器的 LLM 客户端能够:
- 管理事件: 包括创建新的事件、查询事件类型列表和事件分类列表。
- 搜索库存: 提供搜索产品库存的能力(尽管示例代码中的搜索功能返回后会退出,但接口已定义)。
安装步骤
要运行 Kanvas MCP 服务器,您需要 Docker 环境或者 Python 环境及相关依赖。
- 克隆仓库:
git clone https://github.com/bakaphp/kanvas_mcp.git cd kanvas_mcp - 配置环境变量: 创建 '.env' 文件,根据 'util/requests.py' 和 'services/events/events.py' 等文件中的 'os.getenv' 调用,需要配置 'KANVAS_AUTH_TOKEN', 'KANVAS_APP_ID', 'KANVAS_API_URL', 'KANVAS_LOCATION' 等 Kanvas API 访问凭据和地址。服务器本身的监听地址和端口('HOST_URL', 'HOST_PORT')也可以在 '.env' 中配置。
- 使用 Docker 构建和运行:
构建镜像:
运行容器(将本地的 8888 端口映射到容器的 8888 端口,示例代码中服务器默认监听 8000 端口,请根据实际或配置调整):docker build -t kanvas/mcp:dev .docker run -p 8888:8000 --env-file .env kanvas/mcp:dev # 确保 .env 文件与 Dockerfile 在同一目录或使用其他方式传递环境变量 - 使用 Python 直接运行:
安装依赖(需要查看实际的 requirements.txt 文件,根据代码推测可能需要 fastmcp, python-dotenv, requests, pydantic):
运行服务器:# 假设存在 requirements.txt pip install -r requirements.txt # 如果没有,根据导入手动安装 fastmcp python-dotenv requests pydantic pip install fastmcp python-dotenv requests pydantic
服务器将根据 '.env' 或默认配置在指定的地址和端口上启动。python server.py
服务器配置 (供 MCP 客户端参考)
MCP 客户端需要知道如何连接到此服务器。客户端的配置通常指定服务器的唯一名称、建立连接所需的传输协议以及连接详情(如地址和端口)。
例如,使用 fastmcp 客户端连接时,您需要提供类似如下的信息(请根据您的实际部署地址和端口修改):
- 服务器名称: 'kanvas' (或其他您指定的名称)
- 传输协议: 'streamable-http'
- 连接地址: 'http://localhost:8000/mcp' (如果您在本地运行服务器并使用默认端口)
请查阅您使用的 MCP 客户端框架的文档,了解如何具体配置远程 MCP 服务器的连接信息。此服务器不要求客户端通过启动命令和参数来启动它,而是通过网络地址连接已运行的实例。
基本使用方法
MCP 客户端连接到此服务器后,可以通过 MCP 协议调用服务器暴露的工具。例如,要创建一个事件,LLM 客户端会向服务器发送一个 JSON-RPC 请求,调用 'create_event' 工具并提供所需的参数(事件名称、描述、分类ID、类型ID、日期、开始时间、结束时间)。服务器接收请求,执行对应的 Python 函数,通过 Kanvas API 创建事件,并将结果通过 JSON-RPC 响应返回给客户端。
同样,客户端可以调用 'get_categories' 或 'get_types' 工具来获取相应的列表信息,或调用 'search_products' 工具来搜索产品。
信息
分类
商业系统