Skip to main content
Glama
EthanH9977

ragic-mcp

by EthanH9977

ragic-mcp

讓 AI(Claude Desktop、Claude Code、其他 MCP client)直接操作 Ragic 的 MCP server。11 個 tool 涵蓋表單探索、讀取、寫入、簽核、上鎖。

權限完全由 Ragic 那邊的 API key 控制——key 是 read-only,寫入類 tool 就會收到 Ragic 的權限錯誤;key 有寫入權限就全用得到。

AI 怎麼用這個 server 看 AGENTS.md。這份檔案只講「給人類的安裝與設定」。


一、需要的東西

  • Ragic 帳號有效 API key(Ragic 後台 → 個人設定 → 帳號設定 → API key)

  • Python 3.10+

  • uv(推薦):brew install uvpip install uv


Related MCP server: Airtable MCP Server

二、安裝

懶人路線:把這個 repo 網址 https://github.com/EthanH9977/ragic-mcp 貼給你的 AI,說「幫我裝這個 MCP」。AI 會照 AGENTS.md §0 的 6 步流程自動跑完安裝+設定+註冊到 MCP client。下面是手動流程:

uv tool install git+https://github.com/EthanH9977/ragic-mcp.git

裝完 ragic-mcp 命令會自動在 PATH 裡,任何 terminal 直接跑。確認:

which ragic-mcp
# 應該回:/Users/<你>/.local/bin/ragic-mcp

沒裝 uv?brew install uv(macOS)或看 uv 官網

本 server 依賴 mcp 1.xmcp.server.fastmcp)。mcp 2.0 已移除該模組,新裝會在 import 時崩潰。已驗證的 interpreter 是 Python 3.12。若已裝到壞掉的版本,重裝:

uv tool install --force --python 3.12 git+https://github.com/EthanH9977/ragic-mcp.git

三、設定 credentials(一次就好)

在 terminal 跑:

ragic-mcp setup

這會:

  1. ~/.config/ragic-mcp/config.json 建立一份模板(檔案權限自動 0600,只有你本人能讀)

  2. 用你系統預設的文字編輯器(macOS = TextEdit、Windows = Notepad、Linux = $EDITOR)打開

  3. 直接在編輯器裡填三個值,存檔關閉

模板長這樣,把右邊三個值換成你的:

{
  "RAGIC_SERVER": "ap5.ragic.com",
  "RAGIC_ACCOUNT": "your_account_here",
  "RAGIC_API_KEY": "paste_your_api_key_here"
}

欄位

取自你 Ragic 表單網址 https://{server}/{account}/{path}/{sheet}

RAGIC_SERVER

ap5.ragic.comwww.ragic.comna3.ragic.comeu2.ragic.com 其中一個

RAGIC_ACCOUNT

網域後第一段

RAGIC_API_KEY

Ragic 後台 → 個人設定 → 帳號設定 → API key

其他相關指令

ragic-mcp show     # 顯示目前設定(API key 自動 mask 成首尾 4 碼)
ragic-mcp clear    # 刪除本機 config
ragic-mcp serve    # 啟動 MCP server(預設行為,給 client 呼叫)

如果你不想存到檔案,也可以用環境變數覆蓋(env var 優先序高於 config 檔):

RAGIC_SERVER=... RAGIC_ACCOUNT=... RAGIC_API_KEY=... ragic-mcp

四、接到 MCP client

Claude Desktop

打開 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows),加入:

{
  "mcpServers": {
    "ragic": {
      "command": "ragic-mcp"
    }
  }
}

注意:command 要寫成 ragic-mcp 可被 PATH 找到。如果你是裝在 venv,要寫絕對路徑,例如: /path/to/your/venv/bin/ragic-mcp

存檔後重啟 Claude Desktop。

Claude Code

claude mcp add --scope user ragic ragic-mcp

(如果 ragic-mcp 不在 PATH,改成絕對路徑。)

其他 MCP client

任何支援 stdio transport 的 client 都行。指令一律是:

ragic-mcp

五、驗證

在 MCP client 對話視窗問:

呼叫 ragic_filter_help 看 cheatsheet

收到一份 Ragic API filter cheatsheet 就表示通了。

接著測讀取——直接讓 AI 自己探索你的表:

用 ragic_list_sheets 列出我所有可以讀的表

AI 拿到表清單後就能直接幫你查特定表,不用再貼網址。


六、提供的 tool(11 個)

Tool

動作

API key 需要的權限

ragic_list_sheets

列出帳號下所有可讀的表(含中文名、path、sheet_index)

read

ragic_list_records

列表+過濾+排序+分頁

read

ragic_get_record

讀單筆

read

ragic_search

全文檢索

read

ragic_create_record

新增(含子表)

write

ragic_update_record

局部更新欄位

write

ragic_delete_record

刪除單筆

write

ragic_approve

簽核(approve/reject)

approval

ragic_lock

上鎖

write

ragic_unlock

解鎖

write

ragic_filter_help

取 filter/參數速查表

每個 tool 的詳細參數、where 過濾語法、子表格寫入格式寫在 AGENTS.md


七、安全設計

防線

怎麼擋

API key 不入 git

.envconfig.json 都在 .gitignore,setup 寫的也不在 repo 內

API key 不外流

設定檔權限 0600ragic-mcp show 自動 mask 為首尾 4 碼

API key 不入 shell history

setup 用編輯器流程,key 由使用者貼進 config 檔,不經過 terminal 輸入

主機白名單

client 拒絕非 *.ragic.com 主機,防止打錯網址把 Authorization 送到攻擊者

不跟 redirect

httpx.AsyncClient(follow_redirects=False),防 3xx 把 header 帶到第三方

寫入錯誤偵測

Ragic 寫入失敗會回 HTTP 200 + {"status":"ERROR"},client 已轉成例外

依然要遵守的最佳實務:

  • API key 給最小權限(read-only 就好的場景不要發 write key)

  • 不要把 ~/.config/ragic-mcp/config.json 拷貝到雲端硬碟或截圖外傳

  • 懷疑外流時:Ragic 後台 revoke → 重新跑 ragic-mcp setup


八、Ragic 限速

  • 同時待處理佇列 50 個

  • 持續超過 5 req/sec 會被人工審查


九、回報問題

GitHub Issues



十一、CLI 直接操作資料

除了 MCP server 模式,ragic-mcp 也提供 11 個子指令讓你在 terminal 直接讀寫 Ragic,無需 MCP client。

安裝

uv tool install --editable /path/to/ragic-mcp   # 本機開發版
# 或從 GitHub 安裝正式版:
uv tool install git+https://github.com/EthanH9977/ragic-mcp.git

設定 credentials 同 MCP 模式(ragic-mcp setup),CLI 讀同一份 ~/.config/ragic-mcp/config.json

全域選項:--config <路徑> 可覆寫設定檔路徑。

子指令速查

子指令

說明

防呆

list-sheets

列出所有可讀的表

list-records <path> <sheet_index>

列表(支援 --where--limit--order 等)

get-record <path> <sheet_index> <record_id>

讀單筆

search <path> <sheet_index> <query>

全文搜尋

filter-help

顯示 filter/參數速查表

create-record <path> <sheet_index> <fields_json>

新增記錄

update-record <path> <sheet_index> <record_id> <fields_json>

更新欄位

delete-record <path> <sheet_index> <record_id>

刪除記錄

--yes

approve <path> <sheet_index> <record_id>

簽核(--action approve|reject

--yes

lock <path> <sheet_index> <record_id>

上鎖

unlock <path> <sheet_index> <record_id>

解鎖

結果輸出為 JSON(stdout);錯誤輸出到 stderr 且 exit code 非 0;delete-record/approve--yes 時 exit 2 且不呼叫 API。

範例:

# 列出所有表
ragic-mcp list-sheets

# 列出前 3 筆(FNAME 欄位名稱)
ragic-mcp list-records sales 1 --limit 3

# 讀單筆
ragic-mcp get-record sales 1 12345

# 全文搜尋
ragic-mcp search sales 1 "Acme Corp"

# 查 filter 語法
ragic-mcp filter-help

# 刪除(需 --yes)
ragic-mcp delete-record sales 1 12345 --yes

與 MCP 併存

CLI 與 MCP server 完全複用同一份 client 與 config,無需額外設定。若你的 AI assistant 已透過 MCP 連接 Ragic,CLI 仍可在 terminal 獨立使用,兩者不衝突。


十二、授權

MIT

Available Tools

11 tools
ragic_approveB

Approve or reject a record awaiting approval.

action must be "approve" or "reject". comment is optional response text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
actionNoapprove
commentNo
record_idYes
sheet_indexYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. It reveals that the tool modifies approval status but omits side effects, required permissions, reversibility, or potential notifications. Minimal disclosure beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and to the point, with no extraneous words. It could be more structured, but it effectively conveys core information in two sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, no annotations, and no output schema, the description leaves significant gaps: three required parameters are unexplained, and there is no mention of the tool's role in the approval workflow or any prerequisites. The agent lacks essential context to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning for two parameters: specifying valid values for 'action' and clarifying 'comment' as optional response text. However, three required parameters (path, record_id, sheet_index) remain undescribed. Given 0% schema coverage, the description partially compensates but is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'Approve or reject a record awaiting approval.' This distinguishes it from sibling tools like ragic_update_record or ragic_lock, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides parameter constraints (action must be 'approve' or 'reject', comment is optional) but offers no guidance on when to use this tool versus alternatives like ragic_update_record. No context about prerequisites or expected record states is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_create_recordB

Create a new record. fields keys are numeric field IDs as strings.

For subtables include _subtable_<fieldId> with negative-keyed rows. See ragic_filter_help() for the subtable format and write parameters.

Requires an API key with write permission; otherwise Ragic returns 401.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
fieldsYes
check_lockNo
do_formulaNo
do_workflowNo
sheet_indexYes
do_link_loadNo
notificationNo
do_validationNo
do_default_valueNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It states the auth requirement (write permission) and field format but does not disclose return value, error handling, or whether the operation is idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is relatively concise with 3 sentences, front-loading the purpose. It uses line breaks for readability, but could be more structured with parameter details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, and no annotations, the description is incomplete. It covers field format but omits many parameter semantics and behavioral details needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for 10 parameters. Only the 'fields' parameter is partially described (numeric keys, subtables). Other parameters like path, check_lock, do_formula, etc., are not explained in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Create a new record' with specific verb and resource. It adds context about field format (numeric IDs) and subtables, which distinguishes it from other operations like update or delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description mentions required write permission and references ragic_filter_help() for subtables. However, it does not explicitly state when to use this tool over alternatives like ragic_update_record, or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_delete_recordB

Delete a record. Ragic does not support batch delete via this endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
record_idYes
sheet_indexYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description should disclose behavioral traits. It identifies the action as destructive but does not mention authentication needs, reversibility, error behavior, or success/failure responses. The no-batch note is helpful but insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with two sentences, front-loading the primary action. However, it may be too brief given the lack of parameter explanations and usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a delete operation with three required parameters and no output schema or annotations, the description is incomplete. It fails to clarify parameter roles, return values, or error conditions, leaving significant gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description offers no explanation for the three required parameters (path, record_id, sheet_index). Since schema description coverage is 0%, the description should compensate, but it adds no meaning beyond the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Delete a record' with a specific verb and resource, and distinguishes from siblings like ragic_create_record and ragic_update_record. The additional note about batch delete adds clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions that batch delete is not supported, implying when not to use this tool. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide contexts such as prerequisites or side effects.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_filter_helpA

Return the Ragic filter / write-parameter cheatsheet.

Read this once at the start of a Ragic task to understand the where syntax, system field IDs, subtable write format, and rate limits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description fully discloses that it returns a cheatsheet, is read-only, and intended for initial setup. No hidden behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two succinct sentences with front-loaded purpose. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given it's a help tool with no inputs, description covers what it returns (syntax, IDs, format, limits). Output schema exists but not detailed; description compensates with specific topics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so the description adds value by explaining what the tool returns (syntax cheatsheet with specific topics). Schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a cheatsheet for Ragic filter/write parameters. It is distinct from sibling tools which perform specific CRUD operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises reading at the start of a Ragic task to understand syntax, field IDs, and rate limits. Does not mention alternatives, but context makes it clear this is a documentation tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_get_recordB

Read one record by its Ragic node id (_ragicId in list responses).

ParametersJSON Schema
NameRequiredDescriptionDefault
infoNo
pathYes
namingNoFNAME
historyNo
approvalNo
record_idYes
subtablesNo
ignore_maskNo
sheet_indexYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool is read-only ('Read one record') and specifies the input key (`_ragicId`). However, with no annotations provided, the description carries the full burden. It fails to mention behavioral traits like what happens if the record is not found, required permissions, rate limits, or the structure of the response. The detail about the ID source adds some transparency, but overall it is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the core action and key input. It is front-loaded with the verb and resource, containing no unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 9 parameters, no output schema, and no annotations, the description is grossly incomplete. It does not explain the return format, error behavior, the meaning of optional parameters, or how the tool fits into a workflow (e.g., 'Use after getting `_ragicId` from `ragic_list_records`'). This leaves an AI agent with significant gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 9 parameters with 0% schema description coverage. The description only mentions `record_id` implicitly via `_ragicId`. It does not explain the purpose of `path`, `sheet_index`, or the boolean flags (`info`, `naming`, `history`, `approval`, `subtables`, `ignore_mask`). For a tool with many optional parameters, this is severely lacking and provides almost no value beyond the schema's property titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Read one record') and the resource ('by its Ragic node id'). It specifies the identifier field (`_ragicId` in list responses), which distinguishes it from sibling tools like `ragic_list_records` (multiple records) and `ragic_create_record` (write operation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives (e.g., `ragic_search` or `ragic_list_records` with filters). The description implies you need the record ID from a list response, but does not state prerequisites, when to avoid, or context like 'Use this for fetching a single known record; for bulk retrieval, use `ragic_list_records`.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_list_recordsA

Read records from a Ragic sheet.

path and sheet_index come from the sheet URL https://{server}/{account}// — e.g. for https://www.ragic.com/demo/sales/1 use path="sales", sheet_index="1".

where is a list of filter conditions. Each is an object: {"field_id": "", "op": "", "value": ""} Operators: eq, like, regex, gte, lte, gt, lt, eqeq. Same field with multiple eq/like/regex = OR; gte+lte on same field = AND range; conditions on different fields = AND. Set value to "" to match empty cells. Dates use yyyy/MM/dd.

Call ragic_filter_help() for the full cheatsheet including system field IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
infoNo
pathYes
limitNo
orderNo
whereNo
namingNoFNAME
offsetNo
historyNo
listingNo
approvalNo
subtablesNo
ignore_maskNo
sheet_indexYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It explicitly states 'Read records' indicating non-destructive behavior. While it does not explicitly guarantee safety, the verb 'read' adequately conveys the operation type. No contradiction detected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single paragraph with helpful line breaks, no wasted words. Purpose is front-loaded. Includes a reference to a cheatsheet for additional details, which is efficient. Could be more structured but is appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters and no output schema, description is insufficient. It omits explanation for many parameters (e.g., limit, offset, info). Agent lacks full understanding of all options, risking incorrect tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, requiring description to compensate. Description covers only 3 of 13 parameters (path, sheet_index, where) in detail, leaving limit, offset, order, info, naming, etc. unexplained. Parameter semantics are incomplete for an AI agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description starts with 'Read records from a Ragic sheet' clearly stating verb (read) and resource (records from a sheet). It distinguishes from sibling tools like ragic_create_record (create) and ragic_delete_record (delete) by specifying read-only operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description explains how to construct path and sheet_index from URL and details where parameter usage, but does not explicitly state when to use this tool versus alternatives like ragic_get_record or ragic_search. Usage context is implied but not comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_list_sheetsA

List every sheet the configured API key can see, grouped by tab.

Returns a tree: account -> tabs (path like "/sales") -> sheets (key = sheet_index, value = {name, type, seq}). Use this as the FIRST call when the user asks about a sheet by Chinese name — find it in the tree, then use the matching path & sheet_index for subsequent tools.

No arguments. The user doesn't need to paste a URL anymore.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It clearly describes the output and that no arguments are needed. It implies a read-only operation (listing) but does not explicitly state no side effects. The description is adequate but could be more explicit about being safe/idempotent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: three sentences, each purposeful. First sentence states the main action, second details output format, third gives usage instructions. No redundancy or extra words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no annotations, and no output schema, the description is complete. It explains what the tool does, the output structure, and how to use it in a workflow. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is trivially 100%. With 0 parameters, baseline is 4. The description correctly notes 'No arguments,' so no additional parameter info is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List every sheet the configured API key can see, grouped by tab.' It specifies the output structure (tree: account -> tabs -> sheets) and differentiates from siblings by indicating it's the first call to find a sheet by Chinese name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this as the FIRST call when the user asks about a sheet by Chinese name — find it in the tree, then use the matching path & sheet_index for subsequent tools.' This provides clear when-to-use and what-to-do-next guidance. Also states 'No arguments. The user doesn't need to paste a URL anymore.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_lockC

Lock a record to prevent further edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
record_idYes
sheet_indexYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states the immediate effect ('prevent further edits') but does not disclose side effects, permissions needed, or behavior if the record is already locked.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence is concise, but it omits critical information that should be present. It is not well-structured for completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters and no annotations or output schema, the description is incomplete. It lacks details on parameter formats, prerequisites, and behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no information about the three required parameters ('path', 'record_id', 'sheet_index'). The agent has no guidance on what values to pass.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Lock'), the resource ('a record'), and the effect ('prevent further edits'). It distinguishes itself from the sibling tool 'ragic_unlock' by implication.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or when not to use this tool versus alternatives like 'ragic_unlock' or 'ragic_approve'. Usage is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_unlockC

Unlock a previously locked record.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
record_idYes
sheet_indexYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose behavioral traits. It only states 'unlock' without mentioning permissions, effects of unlocking a non-locked record, or state changes. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff, but it is overly concise and omits critical details, making it less effective than a slightly longer description would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three required parameters, no output schema, and no annotations, the description is highly incomplete. It fails to explain the record identity, unlocking prerequisites, or return behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain parameters. It does not define path, sheet_index, or record_id, leaving the agent without essential context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (unlock) and resource (record), and it differentiates from sibling tools such as ragic_lock and ragic_approve by specifying a distinct operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool (e.g., only for locked records) or its relationship to ragic_lock. The agent has no context on prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ragic_update_recordB

Update fields of an existing record. Only the provided fields change.

check_lock defaults to true so a locked record will not be overwritten silently. Set to false to bypass (use with care).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
fieldsYes
record_idYes
check_lockNo
do_formulaNo
do_workflowNo
sheet_indexYes
do_link_loadNo
notificationNo
do_validationNo
do_default_valueNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description adds behavioral detail on check_lock preventing silent overwrite, but omits other traits like authentication needs, rate limits, or effects of extra booleans (do_formula, do_workflow, etc.).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states purpose, the second adds critical lock behavior. No unnecessary words, front-loaded essential info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters and no output schema or annotations, the description leaves most parameters undefined (e.g., path, sheet_index, do_workflow). Only check_lock is covered, so the agent lacks sufficient context to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only check_lock is explained in the description; the remaining 10 parameters (including required fields, fields object, do_formula, etc.) receive no semantics beyond the schema names, which have 0% coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Update fields of an existing record' with the specific caveat 'Only the provided fields change,' distinguishing it from creation or deletion siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like ragic_create_record or ragic_lock; the description only explains check_lock behavior without usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.1.0
    • First observedragic_approve
    • First observedragic_create_record
    • First observedragic_delete_record
    • First observedragic_filter_help
    • First observedragic_get_record
    • First observedragic_list_records
    • First observedragic_list_sheets
    • First observedragic_lock
    • First observedragic_search
    • First observedragic_unlock
    • First observedragic_update_record

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct operation (CRUD, search, list sheets, lock/unlock, approve, filter help) with no overlap. An agent can easily distinguish them.

Naming Consistency5/5

All tool names follow a consistent `ragic_verb_noun` pattern (e.g., ragic_create_record, ragic_list_sheets). No mixing of conventions.

Tool Count5/5

With 11 tools, the set is well-scoped for a database client, covering essential operations without superfluous tools.

Completeness5/5

The tools provide full CRUD, search, sheet discovery, locking, and approval—covering the core Ragic workflow. No obvious gaps for the intended purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables AI agents to interact with Microsoft SQL Server databases via MCP, supporting table listing, schema retrieval, and CRUD operations.
    3
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI-powered interaction with Airtable bases, supporting CRUD operations, schema management, webhooks, and natural language queries through the MCP protocol.
    291 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to read and modify Mendix application models through MCP tools for creating modules, entities, pages, microflows, deploying, and querying runtime data.
    1
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables generic CRUD operations on ERPNext/Frappe DocTypes via MCP tools, allowing users to interact with ERPNext data like documents, reports, and schema through natural language commands.
    8
    -