kintone OAuth MCP服务器

一个基于Cloudflare Workers的kintone OAuth MCP服务器,允许AI助手(如Claude和ChatGPT)通过OAuth安全地访问kintone API,无需本地存储认证信息。

  • by r3-yamauchi
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 r3-yamauchi/kintone-oauth-mcp-server-cfw

使用说明

远程Model Context Protocol (MCP) 服务器for kintone via OAuth on Cloudflare Workers

这是Cloudflare Workers 作为deploy可能的 金色调 使用 模型上下文协议(MCP) 服务器示例代码。

不需要在本地设置程序Web浏览Claude 屋脊ChatGPT 中所述修改相应参数的值。

OAuth通过认证API安全,无需在本地保存密钥等机密信息kintone的总和。 部署一次就一样cybozu.com所有使用域的用户都可以共享。

🚀 已确认支持的平台

2025年9月11日现在 ChatGPT Web版 在…方面ChatGPT 的,之Pro 在工作空间的边缘Plus 通过在账户上设定→连接器→详细设定→开发者模式的有效,可以作为贝塔版使用。

📋 所需环境

  • Cloudflare帐户
  • cybozu.com域管理员权限(用于创建OAuth客户端)
  • Node.js 18以上
  • 牧马人CLI

🔧 安装过程

1. cybozu.com通用管理OAuth创建客户端

Cybozu公式文档按照…;按照OAuth添加客户端。

设定项目:

  • 客户端名称:容易理解的名称(例如“kintone MCP Server”)
  • 重定向端点:暂时 https://localhost:8788/callback 的规格化距离的幂函数
  • 范围:选择
    • k:app_record:read -记录读取
    • k:app_record:write -记录写入
    • k:app_settings:read -读取应用程序设置
    • k:app_settings:write -应用程序设置写入
    • k:file:read -文件读取
    • k:file:write -文件写入
  • 保存后显示的客户端ID」和“客户端密码”。
  • OAuth在客户端的“用户设置”中MCP Server 中所述修改相应参数的值。

2.项目设置

# リポジトリのクローン
git clone https://github.com/r3-yamauchi/kintone-oauth-mcp-server-cfw.git
cd kintone-oauth-mcp-server-cfw

# 依存関係のインストール
npm install

3.设置环境变量

  • OAuth创建客户端时保留的值Wrangler的配置文件( wrangler.jsonc )中填写。:
"vars": {
   "CYBOZU_CLIENT_ID": "<your cybozu.com client id>",
   "CYBOZU_CLIENT_SECRET": "<your cybozu.com client secret>",
   "CYBOZU_SUBDOMAIN": "<your cybozu.com sub domain>", # your cybozu.com subdomain
   "COOKIE_ENCRYPTION_KEY": "<your cookie encryption key>", # add any random string here e.g. openssl rand -hex 32
   "WORKER_URL": "<your worker url>"
},

4. KV创建命名空间

  • wrangler CLI 执行以下操作:KV创建命名空间。:

wrangler kv:namespace create "OAUTH_KV"

  • Wrangler在动态输入提示中单击 <your cloudflare kv id> 栏的“字体”框中的字体)的可选字体名称KV 的,之ID 来修改标记元素的显示属性。

  • 执行以下命令Cloudflare Workers 打开和保存文件deploy 来修改标记元素的显示属性。

wrangler deploy

  • deploy 完成后Workers 的,之URL 打开cybozu.com公共管理画面OAuth设置在客户端的“重定向端点”栏中,在末尾 /callback 来修改标记元素的显示属性。 https://<your-subdomain>.workers.dev/callback 的双曲正切值。

Claude Web从应用程序远程MCP访问服务器

  • Claude Web应用程序的集成管理画面 访问 单击“添加集成”。

  • “合作名称”是MCP Server 进行动态观察时的轴心点。

  • “协作URL」在…之上 https://<your-subdomain>.workers.dev/sse 来修改标记元素的显示属性。

  • 单击“追加”按钮后,单击“协作/协作”。 OAuth的确认画面,单击“Approve”“许可”。
  • Claude Web从应用程序远程MCP服务器可用。

Claude Desktop从远程MCP访问服务器

Claude Desktop在工作空间的边缘Settings -> Developer -> Edit Config打开,添加以下设置。Claude Desktop重新启动时OAuth显示登录画面,完成认证流程后Claude表示MCP现在可以访问服务器了。

{
  "mcpServers": {
    "kintone": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://<your-subdomain>.workers.dev/sse"
      ]
    }
  }
}

解说

🎯 这是干什么

AI助手(Claude等)kintone的,之API中所述修改相应参数的值。

Cloudflare Workers在上面动作,不在本地保存认证信息OAuth通过认证kintone的总和。

🔧 主要功能

1.可用工具(共28个工具)

记录操作

  • getRecords - 获取记录列表
  • getRecord - 获取单个记录
  • addRecord - 添加记录
  • addRecords - 成批添加多个记录
  • updateRecord - 更新记录
  • getRecordComments - 获取记录注释
  • addRecordComment - 向记录发表评论
  • evaluateRecordsAcl - 评估记录的访问权限

应用程序设置

  • getApp - 获取应用程序基本信息
  • getAppFields - 获取字段列表
  • searchApps - 搜索应用程序
  • getAppSettings - 获取应用程序的一般设置
  • getFormLayout - 获取窗体布局
  • getViews - 获取列表(视图)设置
  • getProcessManagement - 获取流程管理设置
  • getAppReports - 获取图表设置
  • getAppCustomize - JavaScript/CSS获取自定义设置
  • getAppActions - 获取操作设置

文件操作

  • uploadFile - 文件上传
  • downloadFile - 文件下载

访问权限

  • getAppAcl - 获取应用程序访问权限
  • getRecordAcl - 获取记录的权限设置
  • getFieldAcl - 获取字段访问权限

通知设定

  • getAppNotificationsGeneral - 获取应用程序的条件通知
  • getAppNotificationsPerRecord - 获取记录的条件通知
  • getAppNotificationsReminder - 获取提醒通知

部署管理

  • updateAppCustomize - JavaScript/CSS更新自定义
  • deployApp - 将应用程序设置反映到运行环境中

2.二重OAuth认证

  • MCP客户端身份验证
  • kintone/Cybozu验证帐户

3.认证流程

  1. MCP客户端连接
  2. 允许用户在批准屏幕上
  3. kintone的,之OAuth重定向至屏幕
  4. kintone中的认证完成后,获取访问令牌
  5. 建立安全连接

🏗️ 体系结构

  • Cloudflare Workers - 无服务器可扩展
  • KV存储-OAuth状態の永続化
  • 加密Cookie - 存储批准的客户端

💡 优点

  1. 安全-API无需共享密钥
  2. 多用户-多个用户可在一个部署中使用
  3. 浏览器/台式机支持-Claude Web屋脊Claude Desktop可利用
  4. 成本效益-仅在无服务器的情况下运行

此项目包括:GitHub的,之OAuth在动态输入提示中单击kintone专门定制的真正的MCP服务器实施。

这个项目的由来

这个项目原本是Cloudflare的,之GitHub OAuth使用模板创建:

npm create cloudflare@latest -- kintone-oauth-mcp-server-cfw --template=cloudflare/ai/demos/remote-mcp-github-oauth

单击功能区上云耀の远程MCP服务器ガイド中所述的工具,调整墙的布局和几何形状OAuth认证MCP提供服务器的构建基础。在本项目中,将此模板Cybozu/kintone OAuth 改建Cybozu的,之OAuth 2.0实现了与实施相对应的认证流程。

原始模板的主要更改

GitHub OAuth创建模板kintone为了应对,进行了以下变更:

  1. OAuth处理程序: src/cybozu-handler.ts 创建新的kintone的,之OAuth处理流程( github-handler.ts ),模板名称将采用不同的格式
  2. OAuth端点: Cybozu OAuth更改为端点:
    • 认可: https://{subdomain}.cybozu.com/oauth2/authorization
    • 标记: https://{subdomain}.cybozu.com/oauth2/token
  3. 认证方式: kintone的,之OAuth 2.0符合规格(在请求主体中包括凭证)
  4. 环境变数: GitHub因为有事kintone更改为:
    • GITHUB_CLIENT_ID → CYBOZU_CLIENT_ID
    • GITHUB_CLIENT_SECRET → CYBOZU_CLIENT_SECRET
    • CYBOZU_SUBDOMAIN 添加(用于kintone子域)
  5. 范围: kintone API使用的作用域
    • k:app_record:read -记录读取权限
    • k:app_record:write -记录写入权限
    • k:app_settings:read -应用程序设置读取权限
    • k:app_settings:write -应用程序设置写入权限(自定义更新用)
    • k:file:read -文件读取权限
    • k:file:write -文件写入权限

本地开发和测试

HTTPS启用启动服务器:

wrangler dev --local-protocol https

Inspector单击功能区上 https://localhost:8788/sse 中所述修改相应参数的值。

注意:首次访问时,您必须在浏览器中接受自签名证书警告。

OAuth配置故障排除

401发生错误时

请确认以下几点:

  1. Cybozu开发者网络での設定

    • 重定向URI进行动态观察时的轴心点
      • 本番環境: https://<your-subdomain>.workers.dev/callback
      • 开発环境: https://localhost:8788/callback
    • OAuth应用程序已启用
    • client_id打开client_secret已正确复制
    • 已设置所需的作用域: k:app_record:read k:app_record:write k:app_settings:read k:app_settings:write k:file:read k:file:write
  2. 确认环境变量

    # .dev.varsファイルまたはwrangler secretsで以下を確認
    CYBOZU_CLIENT_ID=<your-client-id>
    CYBOZU_CLIENT_SECRET=<your-client-secret>
    CYBOZU_SUBDOMAIN=<your-subdomain>
    COOKIE_ENCRYPTION_KEY=<random-32-char-string>
    
  3. 检查日志 在开发服务器启动时的控制台上查看:

    • OAuth Callback Received -是否收到正确的回调
    • Starting Token Exchange -是否已启动令牌交换
    • 错误响应的详细内容
  4. kintone OAuth仕様

    • 授权端点: https://{subdomain}.cybozu.com/oauth2/authorization
    • 标记端点: https://{subdomain}.cybozu.com/oauth2/token
    • 认证方式:请求主体client_id打开client_secret包括
    • 响应格式:JSON
  5. 调试模式 要查看详细日志,您可以启动并运行开发服务器:

    npm run dev
    

结构概述

OAuth供应商

OAuth Provider在动态输入提示中单击Cloudflare Workers面向OAuth 2.1服务器实现。 这个程序库OAuth负责整个流程(令牌提交、验证和管理)。具体为:

  • MCP客户端验证
  • kintone OAuth服务连接管理
  • KV安全存储令牌身份验证状态

MCP远程

MCP Remote库允许服务器向客户端提供工具:

  • 定义客户端和服务器之间的通信协议
  • 提供工具的定义方法
  • 管理请求/响应的序列化细化
  • 在客户端和服务器之间Server-Sent Events (SSE)保持连接

MCP Server 使用的风险

由他人制作、实施的MCP server 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。

「kintone」是赛博股份有限公司的注册商标。

此处描述的内容旨在提供信息,不能提供单独的支持。 关于设定内容的问题和在自己的环境中不动作的咨询也不能对应,请谅解。