Kintone MCP Server
The Kintone MCP Server enables interaction with Kintone via Claude Desktop, allowing comprehensive management of Kintone data and applications.
Record Operations: Perform CRUD operations, search records, and add comments to records
File Operations: Upload and download files (download limited to files under 1MB)
App Information: Retrieve info about apps, form layouts, actions, plugins, and process management
App Operations: Create apps, add/update fields, update settings, deploy apps, and move apps to/from spaces
Space Operations: Manage spaces including updating settings, members, threads, comments, and guest users
User & Group Information: Retrieve information about users, groups, and list users within groups
Kintone Connection Info: Fetch the domain and username used for connections
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Kintone MCP Server search for records in the Customer Support app where status is 'Open'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP server for kintone sample
This is a sample code of Model Context Protocol (MCP) server that can be used for kintone integration. It was automatically created using generative AI and is provided as is.
Using this MCP server, you can view and update kintone data from MCP host apps such as the Claude Desktop app, and even create kintone apps themselves.
For more information about this repository, see the DeepWiki documentation .
How to use Claude Desktop app
1. Download the source code
You can download it to any location, but it's best to use a path that consists of alphanumeric characters only and has no spaces in between.
2. Install Node.js
Please use Node.js 18 or later.
3. npm install
npm i4. Edit the Claude Desktop app configuration file
Find the configuration file called claude_desktop_config.json and add the settings to the "mcpServers" section of this file as shown below.
{
"mcpServers": {
"kintone": {
"command": "node",
"env": {
"KINTONE_DOMAIN": "[あなたが使用するサブドメイン].cybozu.com",
"KINTONE_USERNAME": "MCP接続で使用するkintoneユーザー名",
"KINTONE_PASSWORD": "kintoneユーザーのパスワード(平文)"
},
"args": [
"[kintone-mcp-serverを配置したパス]/server.js"
]
}
}
}5. Restart the Claude Desktop app
After saving the changes to claude_desktop_config.json, quit the Claude Desktop app and restart it. Even if the app appears to have been quitted, it may still be running in the background, so right-click on the app icon and select Quit.
6. Operation check
First, ask Claude to "Find the app ID for the kintone app " An example of an app name that can be accessed by the kintone user you set ." The kintone app name you enter here must be specified exactly, word for word.
7. List of features provided by this MCP server
For annotation attributes for each tool, see docs/tool-annotations.md .
Record Operations
get_record: Get a record from the kintone appsearch_records: Search for records in the kintone appcreate_record: Create a new record in the kintone appupdate_record: Update an existing record in the kintone appadd_record_comment: Add a comment to a kintone record
File Operations
upload_file: Upload a file to kintonedownload_file: Download a file from kintone (Note: In the current implementation, files over 1MB may not be downloaded correctly)
App Information
get_apps_info: Get information on multiple kintone apps by specifying search keywordsget_form_layout: Get the form layout of the kintone appget_app_actions: Gets the app action settings for the kintone app.get_app_plugins: Get a list of plugins added to the kintone appget_process_management: Get the process management settings of the kintone app
App operation
create_app: Create a new kintone appadd_fields: Add fields to the kintone appupdate_field: Update the settings of an existing kintone fieldupdate_form_layout: Change the form layout of the kintone appupdate_app_settings: Change general app settingsdeploy_app: Start of production operation of kintone app (reflected in the production environment)get_deploy_status: Check the status of application settings in the production environmentmove_app_to_space: Move the kintone app to the specified spacemove_app_from_space: Move the kintone app away from the space
Space Operations
get_space: Get general information about a spaceupdate_space: Update space settingsupdate_space_body: Update the space bodyget_space_members: Get the list of space membersupdate_space_members: Update space membersadd_thread: Add a thread to a spaceupdate_thread: Update a threadadd_thread_comment: Add a comment to a threadadd_guests: Add guest usersupdate_space_guests: Update space guest members
User Group Information
get_users: Get kintone user informationget_groups: Get kintone group informationget_group_users: Gets a list of users belonging to a specified group
kintone connection information
get_kintone_domain: Get the domain to which kintone is connectedget_kintone_username: Gets the username used to connect to kintone
8. Other
I wrote a blog post about what you can do with this MCP server, so please take a look.
"kintone" is a registered trademark of Cybozu, Inc.
The contents described here are for informational purposes only, and we cannot provide individual support. Please note that we cannot respond to inquiries about the settings or if the software does not work in your environment.
Available Tools
79 toolsadd_fieldsA
kintoneアプリにフィールドを追加します。各フィールドには code(フィールドコード)、type(フィールドタイプ)、label(表示名)の指定が必須です。
初期値を設定する際は、フィールドタイプごとに defaultValue または defaultNowValue を使用できます。defaultValue には文字列を指定し、日付なら "YYYY-MM-DD"、時刻なら "HH:MM"、日時なら "YYYY-MM-DDTHH:MM:SS" 形式を守ってください。defaultNowValue は true/false または "true"/"false" を受け付け、省略時は false として扱われます。
日付・時刻・日時フィールドで defaultValue と defaultNowValue: true を同時に指定した場合、defaultNowValue: true が優先され defaultValue は無視されます。
フィールドコードに使用できる文字: ひらがな、カタカナ、漢字、英数字、記号(__・・$¥)
注意: システムフィールドタイプ(CREATOR, MODIFIER, RECORD_NUMBER, CREATED_TIME, UPDATED_TIME)は追加できません。これらはkintoneによって自動的に作成されるフィールドです。
type: CREATOR のようなシステムフィールドタイプを指定すると、エラーが発生します。
代替方法として、以下のようなフィールドを追加できます:
CREATOR(作成者)の代わりに「申請者」などの名前でUSER_SELECTフィールド
MODIFIER(更新者)の代わりに「承認者」などの名前でUSER_SELECTフィールド
CREATED_TIME(作成日時)の代わりに「申請日時」などの名前でDATETIMEフィールド
UPDATED_TIME(更新日時)の代わりに「承認日時」などの名前でDATETIMEフィールド
RECORD_NUMBER(レコード番号)の代わりに「管理番号」などの名前でSINGLE_LINE_TEXTフィールド 例: { "app_id": 123, "properties": { "number_field": { "type": "NUMBER", "code": "number_field", "label": "数値フィールド" }, "text_field": { "type": "SINGLE_LINE_TEXT", "code": "text_field", "label": "テキストフィールド" } } } また、ルックアップフィールドをフォームに配置する際は 250 以上の幅を明示的に指定してください。
Inputs: app_id (required), properties (required).
add_guestsC
ゲストユーザーを追加します
Inputs: guests (required).
add_layout_elementC
既存のフォームレイアウトに要素を追加します
Inputs: app_id (required), element (required), position.
add_record_commentC
kintoneレコードにコメントを追加します
Inputs: app_id (required), record_id (required), text (required), mentions.
add_threadC
スペースにスレッドを追加します
Inputs: space_id (required), name (required).
add_thread_commentC
スレッドにコメントを追加します
Inputs: space_id (required), thread_id (required), text (required), mentions.
create_appC
新しいkintoneアプリを作成します
Inputs: name (required), space, thread.
create_choice_fieldC
選択肢フィールド(ラジオボタン、チェックボックス、ドロップダウン、複数選択)の設定を生成します。 フィールドコードに使用できる文字: ひらがな、カタカナ、漢字、英数字、記号(__・・$¥) 例: { "field_type": "RADIO_BUTTON", "code": "radio_field", "label": "ラジオボタン", "choices": ["選択肢1", "選択肢2", "選択肢3"], "align": "HORIZONTAL" }
Inputs: field_type (required), label (required), choices (required), code, +2 more.
create_form_layoutC
フィールド情報からフォームレイアウトを自動生成します
Inputs: app_id (required), fields (required), options.
create_group_layoutC
グループ要素を作成します
Inputs: code (required), label (required), fields (required), openGroup, +1 more.
create_lookup_fieldC
ルックアップフィールドの設定を生成します。 フィールドコードに使用できる文字: ひらがな、カタカナ、漢字、英数字、記号(__・・$¥) 例: { "code": "lookup_field", "label": "ルックアップ", "relatedAppId": 123, "relatedKeyField": "customer_id", "fieldMappings": [ { "field": "name", "relatedField": "customer_name" }, { "field": "email", "relatedField": "customer_email" } ] }
Inputs: label (required), relatedKeyField (required), fieldMappings (required), code, +6 more.
create_recordA
kintoneアプリに新しいレコードを作成します。事前に対象アプリのフィールド構造を把握するため、`get_form_fields` やフォームの配置情報を確認できる`get_form_layout` を実行し、必要なフィールドコードと配置を整理してから本ツールを使用することを推奨します。各フィールドは { "value": ... } の形式で指定します。 例: { "app_id": 1, "fields": { "文字列1行": { "value": "テスト" }, "文字列複数行": { "value": "テスト\nテスト2" }, "数値": { "value": "20" }, "日時": { "value": "2014-02-16T08:57:00Z" }, "チェックボックス": { "value": ["sample1", "sample2"] }, "ユーザー選択": { "value": [{ "code": "sato" }] }, "ドロップダウン": { "value": "sample1" }, "リンク_ウェブ": { "value": "https://www.cybozu.com" }, "テーブル": { "value": [{ "value": { "テーブル文字列": { "value": "テスト" } } }] } } }
Inputs: app_id (required), fields (required).
create_recordsC
kintoneアプリに複数のレコードを一括作成します(最大100件)
Inputs: app_id (required), records (required).
create_reference_table_fieldC
関連テーブルフィールドの設定を生成します。 フィールドコードに使用できる文字: ひらがな、カタカナ、漢字、英数字、記号(__・・$¥) 例: { "code": "related_table", "label": "関連テーブル", "relatedAppId": 123, "conditionField": "customer_id", "relatedConditionField": "customer_id" }
Inputs: label (required), conditionField (required), relatedConditionField (required), code, +7 more.
create_table_layoutC
テーブルレイアウトを作成します
Inputs: rows (required), options.
deploy_appC
kintoneアプリの設定をデプロイします
Inputs: apps (required).
download_fileA
kintoneアプリからファイルをダウンロードします。注意: 現在の実装では1MB以上のファイルは正常にダウンロードできない場合があります。
Inputs: file_key (required).
evaluate_records_aclC
指定した条件でレコードのアクセス権限を評価します
Inputs: app_id (required), record_ids (required).
get_app_aclB
kintoneアプリのアクセス権限を取得します
Inputs: app_id (required), preview.
get_app_actionsB
kintoneアプリのアクション設定を取得します。レスポンスには各アクションの実行条件(filterCond)も含まれます。filterCondは、アプリアクションを実行できる条件をkintoneクエリ構文で定義したものです。
Inputs: app_id (required), lang.
get_app_customizeB
kintoneアプリのJavaScript/CSSカスタマイズ設定を取得します
Inputs: app_id (required), preview.
get_app_pluginsC
kintoneアプリに追加されているプラグインの一覧を取得します
Inputs: app_id (required).
get_apps_infoA
アプリ名(またはその部分文字列)で検索、アプリIDで絞り込み、さらに任意でアプリコードやスペースIDでも絞り込んでkintoneアプリの情報を取得します。app_name と app_id のいずれか一方は必ず指定し、app_code と space_id は任意で組み合わせ可能です。
Inputs: app_name, app_id, app_code, space_id.
get_available_field_typesB
利用可能なフィールドタイプの一覧を取得します
Inputs: no named parameters.
get_deploy_statusC
kintoneアプリのデプロイ状態を確認します
Inputs: apps (required).
get_documentation_tool_descriptionC
ドキュメントツールの説明を取得します
Inputs: no named parameters.
get_field_aclC
kintoneアプリのフィールドのアクセス権限を取得します
Inputs: app_id (required), preview.
get_field_creation_tool_descriptionC
フィールド作成ツールの説明を取得します
Inputs: no named parameters.
get_field_type_documentationC
フィールドタイプに関するドキュメントを取得します
Inputs: field_type (required).
get_form_fieldsA
kintoneアプリのフォームフィールド情報を取得します。対象アプリが本番環境に存在しない場合はエラーとなります。プレビュー環境の情報を取得したい場合は get_preview_form_fields を使用してください。
Inputs: app_id (required).
get_form_layoutC
kintoneアプリのフォームレイアウトを取得します
Inputs: app_id (required).
get_groupsC
kintoneのグループ情報を取得します
Inputs: codes.
get_group_usersB
指定したグループに所属するユーザーの一覧を取得します
Inputs: group_code (required).
get_kintone_domainB
kintoneの接続先ドメインを取得します
Inputs: no named parameters.
get_kintone_usernameB
kintoneへの接続に使用されるユーザー名を取得します
Inputs: no named parameters.
get_notificationsC
kintoneアプリの通知条件設定を取得します
Inputs: app_id (required), preview.
get_per_record_notificationsB
kintoneアプリのレコード単位の通知設定を取得します
Inputs: app_id (required), preview.
get_preview_app_settingsC
プレビュー環境のkintoneアプリ設定を取得します
Inputs: app_id (required), lang.
get_preview_form_fieldsC
プレビュー環境のkintoneアプリのフォームフィールド情報を取得します
Inputs: app_id (required), lang.
get_preview_form_layoutC
プレビュー環境のkintoneアプリのフォームレイアウト情報を取得します
Inputs: app_id (required).
get_process_managementB
kintoneアプリのプロセス管理設定を取得します
Inputs: app_id (required), preview.
get_query_language_documentationB
kintoneクエリ言語(検索クエリ)に関する詳細なドキュメントを取得します。演算子、条件式、並び替え、ページングなどの使い方を説明します。
Inputs: no named parameters.
get_recordA
kintoneアプリの1レコードを取得します。事前に対象アプリのフィールド構造を把握したい場合は、`get_form_fields` ツールで利用予定のフィールドコードを確認してから本ツールを呼び出してください。
Inputs: app_id (required), record_id (required).
get_record_aclC
指定したレコードのアクセス権限を取得します
Inputs: app_id (required), record_id (required).
get_record_commentsA
kintoneレコードのコメントを取得します。limit未指定の場合は内部でページングして全件を取得します。大量データになる場合は limit(例: 10)を指定することを推奨します。
Inputs: app_id (required), record_id (required), order, offset, +1 more.
get_reminder_notificationsB
kintoneアプリのリマインダー通知設定を取得します
Inputs: app_id (required), preview.
get_reportsB
kintoneアプリのグラフ設定を取得します
Inputs: app_id (required), preview.
get_spaceB
スペースの一般情報を取得します
Inputs: space_id (required).
get_space_membersC
スペースメンバーのリストを取得します
Inputs: space_id (required).
get_usersC
kintoneのユーザー情報を取得します
Inputs: codes.
get_viewsB
kintoneアプリの一覧(ビュー)の設定を取得します
Inputs: app_id (required), preview.
move_app_from_spaceB
kintoneアプリをスペースに所属させないようにします。注意: kintoneシステム管理の「利用する機能の選択」で「スペースに所属しないアプリの作成を許可する」が有効になっている必要があります。
Inputs: app_id (required).
move_app_to_spaceC
kintoneアプリを指定したスペースに移動します
Inputs: app_id (required), space_id (required).
search_recordsA
kintoneアプリのレコードを検索します。事前に対象アプリのフィールド一覧を把握するため、`get_form_fields` ツールで利用予定のフィールドコードやフィールドタイプを確認してからクエリーを作成することを推奨します。
【よく使用されるクエリ例】 • 文字列検索: Customer = "サイボウズ株式会社" (完全一致) • 部分一致: Customer like "株式会社" (部分一致) • ドロップダウン: Status in ("対応中","未対応") (複数値の選択) • 日付範囲: LimitDay >= "2022-09-29" and LimitDay <= "2022-10-29" • 日付関数: LimitDay < TODAY() (今日より前) • 複数条件: Status in ("対応中") and LimitDay < TODAY() • ソート: Status = "対応中" order by 更新日時 desc • ページング: Status = "対応中" order by $id desc limit 20 offset 20 • 空欄チェック: Detail is empty (文字列複数行の空欄) • 非空欄チェック: Detail is not empty (文字列複数行の非空欄) • 添付ファイル有無: Attachments is empty / is not empty • ユーザー検索: 作成者 in (LOGINUSER()) (自分が作成したレコード)
注意: is empty / is not empty は「文字列(複数行)」と「添付ファイル(FILE)」に対してのみ使用でき、「文字列(1行)」などの他のフィールドタイプに対しては使用できません。 クエリ式の詳細仕様や構文とすべての演算子や関数、フィールド別の使用可否といったkintoneの仕様については get_query_language_documentation ツールを実行して確認してください。
Inputs: app_id (required), query, fields.
update_app_aclC
kintoneアプリのアクセス権限を更新します
Inputs: app_id (required), rights (required), revision.
update_app_actionsC
kintoneアプリのアクション設定を更新します。各アクションにはfilterCondプロパティを指定して実行条件を設定できます。例: {"actions": {"アクション名": {"name": "アクション名", "index": "0", "filterCond": "Status = "対応中"", ...}}}
Inputs: app_id (required), actions (required), revision.
update_app_customizeC
kintoneアプリのJavaScript/CSSカスタマイズ設定を更新します
Inputs: app_id (required), scope (required), desktop, mobile, +1 more.
update_app_settingsC
kintoneアプリの一般設定を変更します
Inputs: app_id (required), name, description, icon, +9 more.
update_fieldA
既存のkintoneフィールドの設定を更新します。 注意: システムフィールドタイプ(CREATOR, MODIFIER, RECORD_NUMBER, CREATED_TIME, UPDATED_TIME)は更新できません。 例: { "app_id": 123, "field_code": "text_field", "field": { "type": "SINGLE_LINE_TEXT", "code": "text_field", "label": "更新後のラベル", "required": true } }
Inputs: app_id (required), field_code (required), field (required), revision.
update_field_aclC
kintoneアプリのフィールドのアクセス権限を更新します
Inputs: app_id (required), rights (required), revision.
update_form_layoutA
kintoneアプリのフォームレイアウトを変更します。トップレベルには ROW と SUBTABLE と GROUP を配置できます。SUBTABLEやGROUPはトップレベルに配置する必要があります。ROW内に配置することはできません。SUBTABLEをレイアウトに含める際には、fieldsプロパティでテーブル内に表示するフィールドとその順序を指定する必要があります。また、ルックアップフィールドをフォームに配置する際は 250 以上の幅を明示的に指定してください。
Inputs: app_id (required), layout (required), revision.
update_notificationsB
kintoneアプリの通知条件設定を更新します
Inputs: app_id (required), notifications (required), revision.
update_per_record_notificationsC
kintoneアプリのレコード単位の通知設定を更新します
Inputs: app_id (required), notifications (required), revision.
update_pluginsC
kintoneアプリのプラグイン設定を更新します
Inputs: app_id (required), plugins, revision.
update_process_managementC
kintoneアプリのプロセス管理設定を更新します
Inputs: app_id (required), enable (required), states, actions, +1 more.
update_recordA
kintoneアプリの既存レコードを更新します。更新前に`get_form_fields` や`get_form_layout` でフィールド構造とレイアウトを確認し、利用するフィールドコードが最新であることをチェックしてから操作してください。各フィールドは { "value": ... } の形式で指定します。 例1(レコードIDを指定して更新): { "app_id": 1, "record_id": 1001, "fields": { "文字列1行_0": { "value": "character string is changed" }, "テーブル_0": { "value": [{ "id": 1, "value": { "文字列1行_1": { "value": "character string is changed" } } }]} } }
例2(重複禁止フィールドを指定して更新): { "app_id": 1, "updateKey": { "field": "文字列1行_0", "value": "フィールドの値" }, "fields": { "文字列1行_1": { "value": "character string is changed" }, "テーブル_0": { "value": [{ "id": 1, "value": { "文字列1行_2": { "value": "character string is changed" } } }]} } } レコードIDまたはupdateKeyのいずれかを指定して更新できます。updateKeyを使用する場合は、重複禁止に設定されたフィールドを指定してください。
Inputs: app_id (required), fields (required), record_id, updateKey.
update_record_assigneesC
kintoneレコードの作業者を更新します(プロセス管理)
Inputs: app_id (required), record_id (required), assignees (required).
update_record_statusC
kintoneレコードのステータスを更新します(プロセス管理)
Inputs: app_id (required), record_id (required), action (required), assignee.
update_reminder_notificationsC
kintoneアプリのリマインダー通知設定を更新します
Inputs: app_id (required), notifications (required), revision.
update_reportsC
kintoneアプリのグラフ設定を更新します
Inputs: app_id (required), reports (required), revision.
update_spaceC
スペースの設定を更新します
Inputs: space_id (required), name, isPrivate, fixedMember, +1 more.
update_space_bodyC
スペースの本文を更新します
Inputs: space_id (required), body (required).
update_space_guestsC
スペースのゲストメンバーを更新します
Inputs: space_id (required), guests (required).
update_space_membersD
スペースメンバーを更新します
Inputs: space_id (required), members (required).
update_threadC
スレッドを更新します
Inputs: thread_id (required), name, body.
update_viewsC
kintoneアプリの一覧(ビュー)の設定を更新します
Inputs: app_id (required), views (required), revision.
upload_fileC
kintoneアプリにファイルをアップロードします
Inputs: file_name (required), file_data (required).
upsert_recordA
重複禁止フィールド(updateKey)またはレコードIDをキーに、存在すれば更新・無ければ作成する upsert 機能を使用します。実行前に get_form_fields や get_form_layout でフィールド構造を確認し、利用するフィールドコードが最新であることをチェックしてから実行してください。各フィールドは { "value": ... } の形式で指定します。
Inputs: app_id (required), updateKey (required), fields (required).
upsert_recordsA
複数レコードを一括Upsertします。各要素に重複禁止フィールド(updateKey)と更新内容を指定すると、存在するレコードは更新、存在しないレコードは新規作成されます。最大100件。
Inputs: app_id (required), records (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 79 tools
Most tools are clearly distinct by resource and action, but there is some overlap in documentation tools (e.g., get_documentation_tool_description, get_field_creation_tool_description, get_field_type_documentation) and between create_choice_field, create_lookup_field, create_reference_table_field which all generate field settings, potentially causing confusion. The large number of tools also increases the risk of misselection.
Tool names consistently follow a verb_noun pattern with snake_case throughout (e.g., create_app, get_form_fields, update_record). There are no deviations in naming conventions, making the set predictable and readable.
With 79 tools, the count is excessive for an MCP server, making it overwhelming and difficult for agents to navigate. While Kintone is a comprehensive platform, this many tools suggests poor scoping and could be streamlined into fewer, more general-purpose tools.
The tool set provides extensive coverage of Kintone's domain, including app management (create, deploy, update), record operations (CRUD, search, comments), field and layout management, permissions, notifications, spaces, threads, and documentation. There are no obvious gaps, and it supports full lifecycle workflows.
Maintenance
Related MCP Connectors
Hosted Airtable MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted Notion MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Claude AI to interact with Xano databases, providing comprehensive database operations, file management, and request history tracking through a standardized interface.1MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that connects AI assistants like Claude to Notion workspaces, enabling them to view, search, create, and update Notion databases, pages, and content blocks.125,773 npm1MIT

Kibela MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows AI applications to interact with Kibela knowledge bases, enabling users to search, create, update, and organize content through natural language.16MIT- AlicenseAqualityDmaintenanceA lightweight MCP server that connects AI assistants to Kintone applications for managing records and automating business workflows. It enables secure authentication and natural language interaction for performing CRUD operations and querying data within the Kintone platform.101MIT