Origin MCP
Provides automation for Origin and OriginPro, covering data import, worksheet processing, scientific analysis, graphing, layout, project organization, and file export.
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., "@Origin MCPimport data.csv and create a line graph"
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.
Origin MCP(Hardened)
面向 Codex 与其他 MCP 客户端的本地 Origin/OriginPro 自动化插件,覆盖数据导入、工作表处理、科学分析、绘图、版式调整、项目组织与文件导出。
English summary: A hardened Windows-local MCP integration for Origin and OriginPro, with typed workflow tools, an authenticated UI-thread bridge, constrained file access, compact tool profiles, and explicit gating for raw LabTalk.
当前插件版本为 0.1.4-hardened.1。Python 包采用等价的 PEP 440 版本 0.1.4+hardened.1。
项目定位
Origin 的自动化对象要求调用发生在合适的 Windows 与 UI 上下文中。本项目将 MCP 服务与 Origin 内桥接拆开:MCP 客户端通过 stdio 调用类型化工具;Origin Start App 在 Origin 进程内启动经过认证的本机桥接;工具请求再被排队到 Origin 可安全执行的线程。
本仓库基于 Ge-Shun/origin-mcp 固定提交 2cee56acad1d531b603ba6b9ef0bcffb7bce29eb,保留 MIT 许可、原作者信息和第三方色板归属。硬化分支增加了更严格的 LabTalk、文件路径和依赖边界,详情见 HARDENING.md 与 NOTICE.md。
Related MCP server: origin-mcp-kimi
核心能力
导入 CSV、Excel 及结构化数据,读取和整理工作簿、工作表、矩阵与列指定。
执行变换、统计、拟合、信号处理、峰分析和批处理工作流。
创建并调整二维、三维、等高线、统计图、图像图及专业图形。
管理项目文件夹、图层、模板、Notes、分析结果和图形组合。
使用可复用配色、模板、FigureSpec 与出版图样式生成可审计的科研图件。
查询内置知识与能力目录,在执行前确认当前 Origin/OriginPro 能力。
Hardened 差异
默认
compactprofile 只暴露高层常用工具,减少误选和过度授权。原始 LabTalk 不出现在普通 profile;仅
full/expert可注册,并同时要求ORIGIN_MCP_ALLOW_RAW_LABTALK=1与单次confirm=true。导入、导出及其他路径型操作必须位于
ORIGIN_MCP_ALLOWED_ROOTS。MCP SDK 固定在兼容的 v1 范围
<2,避免不兼容导入破坏服务。发布配置默认关闭 raw LabTalk,只启用诊断、读取、推荐与任务状态工具;写操作需客户端审批并按需开放。
架构与调用链
Codex / MCP client
└─ stdio MCP + tool profile + write approvals
└─ origin_mcp Python service
└─ authenticated localhost bridge
└─ Origin Start App / UI-thread task queue
└─ Origin/OriginPro Python & automation APIs
├─ project / worksheet / graph
├─ analysis operations
└─ constrained import/export完整组件、握手、任务队列和故障边界见 docs/architecture.md。
仓库结构
.
├── .codex-plugin/plugin.json # Codex 插件元数据
├── .mcp.json # 可移植、无密钥、无绝对路径的 MCP 配置
├── addon.py # Origin 侧桥接入口
├── src/origin_mcp/ # MCP 服务、客户端、桥接和工具实现
├── skills/origin/SKILL.md # Agent 决策与安全约束
├── scripts/ # App 构建、诊断、安装、启动和发布检查
├── docs/ # 工具、配置、桥接与架构文档
├── examples/ # 不含个人数据的可公开样例
├── tests/ # Mock/离线测试及可选真实 Origin 验证
├── .env.example # 仅变量名
└── pyproject.toml # Python 包与工具链定义系统要求
Windows 10/11。
Python 3.10+ 与
uv。有效安装并授权的 Origin 或 OriginPro;当前目标系列为 Origin 2026/2026b。
真实分析能力取决于 Origin 版本、产品许可与已安装模块。
安装
1. 获取源码并安装环境
git clone https://github.com/ZNaiGaomu/origin.git
Set-Location origin
./scripts/setup.ps1若要同时暂存 Origin Start/Stop Apps:
./scripts/setup.ps1 -InstallOriginApps脚本会输出需要在 Origin 中打包和注册的 App 路径。已有安装仅在显式提供 -Force 时替换。详细步骤见 docs/origin-ui-buttons.md。
2. 配置私密信息与工作目录
将 .env.example 复制为 .env 并仅在本机填写。至少应审查:
ORIGIN_MCP_BRIDGE_TOKEN:桥接认证令牌;优先使用安装程序生成的握手文件,不要提交或分享令牌。ORIGIN_MCP_ALLOWED_ROOTS:任务专用的导入/导出根目录。ORIGIN_MCP_TOOL_PROFILE:默认推荐compact。ORIGIN_MCP_LOG_FILE:可选本机诊断日志;日志可能包含文件名,应放在私有位置。
.env、项目文件、导出图、日志、状态与握手文件均不进入 Git。
3. 启动与诊断
在 Origin 中点击 Origin MCP Bridge Start,然后运行:
uv run --frozen origin-mcp status
uv run --frozen origin-mcp doctor --ping-origin
./scripts/start.ps1根目录 .mcp.json 仅使用 uv、相对路径和环境变量名。若客户端不从插件根目录解析 cwd: ".",在本机客户端覆盖工作目录即可,不应修改并提交个人绝对路径。
工具 profiles
Profile | 适用场景 | 权限建议 |
| 诊断、知识、工作表检查、图形推荐和常见高层流程 | 默认 |
| 集中处理导入、工作表、矩阵和变换 | 按任务启用 |
| 绘图、模板、样式、图层与导出 | 按任务启用 |
| 拟合、统计、信号处理、峰分析 | 核对输入与许可后启用 |
| 多阶段常规工作流 | 需要更大的工具上下文 |
| 全部包装器;可能注册 raw LabTalk | 仅受审查的专家会话 |
具体工具与 profile 映射见 docs/tools.md。未知 profile 会安全回退到 compact。
权限与风险
项目状态: 写工具会修改当前 Origin 项目;重要任务应先保存版本化副本。
文件边界: 允许根目录不得设置为用户主目录、桌面总目录或磁盘根目录。
长任务: MCP 超时不等于 Origin 侧失败;先查询桥接任务状态,避免重复提交分析。
原始脚本: LabTalk 具有广泛能力,应优先使用类型化工具;确需启用时逐条审核并单次确认。
本机桥接: 仅监听本机,令牌和握手文件不得上传或写入 Issue。
自托管 CI: 真实 Origin 工作流只能手动触发到隔离的专用 runner,不对外部 PR 自动运行。
安全报告和部署要求见 SECURITY.md。
测试与发布验证
无需 Origin 的离线检查:
uv run --frozen python scripts/publication_check.py
uv run --frozen python scripts/check_release_consistency.py
uv run --frozen python -m pytest -q
uv run --frozen python -m ruff check .
uv run --frozen python -m mypy真实 Origin 健康检查与烟雾测试必须在用户明确启动桥接、指定临时允许根目录后运行。构建 App 或改动 addon.py 后,应按 AGENTS.md 重新安装 App,不能复用旧安装验证新代码。
CI 采用只读仓库权限;常规 CI 使用 mock 隔离 Origin 依赖,安全 CI执行隐私边界检查和依赖审计。发布包不包含虚拟环境、构建缓存、Origin 项目、握手/状态文件、日志、密钥或个人目录。
贡献与维护
贡献前请阅读 CONTRIBUTING.md。新增工具应优先复用类型化模型、错误码、任务队列与恢复建议;新增文件操作必须覆盖越界测试;变更 profile 时需更新工具注册测试和文档。
许可证和第三方说明
本项目依据 MIT License 分发。上游作者、固定提交及内置色板来源见 NOTICE.md。Origin 和 OriginPro 是 OriginLab Corporation 的商标;本项目不是 OriginLab 官方产品,也不提供 Origin 许可证。
Available Tools
24 toolsorigin_bridge_cancel_taskA
Cancel a queued Origin bridge task or mark a running task for cancellation.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Optional Origin bridge host override. Normally omit to use configured localhost. | |
| port | No | Optional Origin bridge TCP port override. Normally omit to use the handshake value. | |
| token | No | Optional bridge authentication token override. Normally omit to use the handshake. | |
| task_id | Yes | Background task identifier returned by origin_bridge_submit_task. | |
| timeout | No | Bridge request timeout in seconds; null uses the configured default. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It only says 'cancel' or 'mark for cancellation' without detailing side effects, whether cancellation is immediate, or what happens to the task state. This lacks depth 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and covers both queued and running scenarios. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and high schema coverage, the description is adequate but minimal. It could mention prerequisites (e.g., task must exist) or error states, but the current text suffices for basic understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds minimal value by linking task_id to origin_bridge_submit_task, but does not enhance understanding of host, port, token, or timeout beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cancels or marks for cancellation an Origin bridge task, using specific verbs 'Cancel' and 'mark'. It distinguishes from sibling tools like origin_bridge_submit_task and origin_bridge_task_status by focusing on cancellation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description distinguishes between queued and running tasks, providing some context. However, it does not explicitly state when to use this tool versus alternatives (e.g., checking status first via origin_bridge_task_status) or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_bridge_list_tasksA
List recent Origin bridge background tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Optional Origin bridge host override. Normally omit to use configured localhost. | |
| port | No | Optional Origin bridge TCP port override. Normally omit to use the handshake value. | |
| limit | No | Maximum number of matching or recent records to return. | |
| token | No | Optional bridge authentication token override. Normally omit to use the handshake. | |
| timeout | No | Bridge request timeout in seconds; null uses the configured default. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states it lists recent tasks. Does not disclose side effects, authentication requirements, or pagination behavior. Returns an output schema, but behavioral details are minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise and front-loaded with the action and resource. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with full schema coverage and an output schema, the description is complete enough. It provides the necessary context for an agent to understand its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The tool description adds no additional meaning beyond stating the list operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists recent Origin bridge background tasks, which is specific and distinguishes it from sibling tools like cancel, submit, and status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., origin_bridge_task_status for a single task, origin_bridge_submit_task to create). Lacks usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_bridge_shutdownA
Ask the Origin GUI bridge to stop serving requests.
By default this releases the Origin automation connection without closing
Origin itself. Set close_origin=True to force-close Origin as part of
shutdown.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Optional Origin bridge host override. Normally omit to use configured localhost. | |
| port | No | Optional Origin bridge TCP port override. Normally omit to use the handshake value. | |
| token | No | Optional bridge authentication token override. Normally omit to use the handshake. | |
| timeout | No | Bridge request timeout in seconds; null uses the configured default. | |
| close_origin | No | Whether bridge shutdown should also force-close the Origin application. | |
| release_origin | No | Whether bridge shutdown should release its Origin automation connection. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It accurately describes that the tool releases the automation connection by default and can force-close Origin when close_origin=True. This covers the key behavioral aspects, though it omits details about error handling or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two sentences with no superfluous information. It front-loads the main action and provides additional detail in the second sentence, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters (all optional) and an output schema, the description adequately covers the essential behavior and the key parameter (close_origin). It does not explain return values, but the output schema likely handles that. The description is complete enough for an agent to understand the tool's core functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so the baseline is 3. The description adds some context beyond the schema by explaining the default behavior for close_origin and the release action, but it does not substantially enrich the parameter meanings beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to ask the Origin GUI bridge to stop serving requests. It uses specific verbs ('stop serving') and distinguishes itself from sibling tools like origin_bridge_submit_task or origin_bridge_list_tasks, which are clearly different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the default behavior and how to force-close Origin via close_origin=True, but it does not explicitly state when to use this tool instead of alternatives, nor does it provide exclusions or prerequisites. Usage guidance is implied but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_bridge_submit_taskC
Submit a supported Origin bridge method as a queued background task.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Optional Origin bridge host override. Normally omit to use configured localhost. | |
| port | No | Optional Origin bridge TCP port override. Normally omit to use the handshake value. | |
| token | No | Optional bridge authentication token override. Normally omit to use the handshake. | |
| method | Yes | Allowlisted Origin bridge method to run as a background task. | |
| params | No | Keyword arguments passed to the selected allowlisted bridge method. | |
| timeout | No | Bridge request timeout in seconds; null uses the configured default. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only hints at asynchronous execution ('queued background task') but does not disclose side effects, authentication requirements, error handling, or whether it is destructive. This is insufficient for a task submission tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It efficiently conveys the core action, though it could benefit from slightly more structure (e.g., front-loading key constraints).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite output schema existing, the description lacks important context: valid methods, task lifecycle, error handling, and how to retrieve results. Given the complexity (6 parameters, no annotations), more complete context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with adequate parameter descriptions. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('submit') and resource ('supported Origin bridge method') and indicates the result is a 'queued background task', distinguishing it from sibling tools like cancel or list tasks. However, it could be more explicit about the nature of 'Origin bridge' and the queuing behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives (e.g., submitting directly). There are no prerequisites, error conditions, or mentions of other bridge task management tools among the listed siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_bridge_task_statusB
Read status, result, or optional recent logs for an Origin bridge background task.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Optional Origin bridge host override. Normally omit to use configured localhost. | |
| port | No | Optional Origin bridge TCP port override. Normally omit to use the handshake value. | |
| token | No | Optional bridge authentication token override. Normally omit to use the handshake. | |
| task_id | Yes | Background task identifier returned by origin_bridge_submit_task. | |
| timeout | No | Bridge request timeout in seconds; null uses the configured default. | |
| log_limit | No | Maximum number of recent background-task log records to return. | |
| include_logs | No | Whether to include recent background-task log records in the response. | |
| include_result | No | Whether to include a completed background task's result payload. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states 'Read' suggesting non-destructive behavior, but does not disclose potential behaviors like error handling, blocking nature, or prerequisites. The description is too brief to convey behavioral traits beyond the basic read action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. The key information is front-loaded. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and an output schema, the description is minimal. It does not explain parameter interdependencies (e.g., log_limit effect when include_logs is false) or scenarios. However, the presence of an output schema reduces the need to describe return values, keeping the score at a mid level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description does not add new meaning beyond what the schema already provides for each parameter. It mentions 'status, result, or optional recent logs' which aligns with include_result and include_logs, but the schema covers those details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Read' and clearly identifies the resource as 'status, result, or optional recent logs for an Origin bridge background task'. It effectively distinguishes from sibling tools like origin_bridge_cancel_task and origin_bridge_list_tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., after submitting a task) or when not to use it. The description implies checking task status but lacks comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_browse_knowledgeA
List knowledge collections or browse one collection by slash-delimited path.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Slash-delimited entry path within the collection, for example analysis/workflow. Omit to list the collection's immediate children. | |
| version | No | Optional Origin documentation version filter, such as 2026b. | |
| collection | No | Knowledge collection. Omit to list collections; allowed names are in the schema. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates read-only behavior ('List' and 'browse') but does not disclose edge cases (e.g., invalid path) or failure modes. Acceptable for a listing tool but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 10-word sentence that immediately conveys the purpose without wasted words. It is front-loaded with the primary action and succinctly covers both listing and browsing modes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high schema coverage and the presence of an output schema, the description sufficiently explains the tool's core functionality. It could mention result format or pagination, but the output schema likely covers that. Minor omission but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with each parameter having a descriptive comment. The tool description adds context about slash-delimited paths, but the schema already explains the 'topic' parameter similarly. Baseline 3 is appropriate as the description adds marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists knowledge collections or browses a collection by slash-delimited path. It uses a specific verb ('List' and 'browse') and resource ('knowledge collections'), and implicitly distinguishes from sibling tools like origin_query_knowledge which queries content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: omit collection to list collections, provide collection to browse. However, it does not explicitly state when not to use the tool or mention alternatives among siblings, leaving some ambiguity for complex scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_capabilitiesB
Report runtime capabilities; set show only to change Origin visibility.
| Name | Required | Description | Default |
|---|---|---|---|
| show | No | Whether Origin should be visible after connecting or querying capabilities. | |
| refresh | No | Whether to bypass cached capability data and query Origin again. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must bear the full burden of behavioral disclosure. It discloses that setting 'show' changes Origin visibility, implying a side effect beyond reporting. However, it omits details about read-only nature, output format, or other potential impacts, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 12 words. Every word contributes meaning, with no redundancy or fluff. It efficiently conveys the primary purpose and a key behavioral note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown), return values are covered. The description covers the core purpose and one parameter effect, but lacks context about typical usage, relationship to siblings, and what 'runtime capabilities' entails. It is minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters described in schema), so baseline is 3. The description adds value for 'show' by explaining its effect on Origin visibility, but provides no extra context for 'refresh'. Overall, the addition is marginal but positive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports runtime capabilities, with a specific verb ('report') and resource ('runtime capabilities'). It also notes a secondary effect of the 'show' parameter. While it doesn't explicitly differentiate from sibling tools, the unique purpose is implied by the name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs. alternatives. There is no mention of prerequisites, typical use cases, or conditions under which this tool is preferred over sibling tools like 'origin_ping' or 'origin_query_knowledge'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_diagnose_worksheetA
Check worksheet data quality before plotting or analysis.
Reports per-column dtype, missing count/fraction, and unique count, plus structured issues: empty_worksheet and all_null_column (error), high_missing and duplicate_columns (warning), non_numeric_column and constant_column (info). high_missing_threshold is the missing fraction (0-1) that triggers a high_missing warning. "passed" is false when any error-severity issue is found.
| Name | Required | Description | Default |
|---|---|---|---|
| columns | No | Column names or zero-based column indexes selected for this operation. | |
| book_name | No | Origin workbook name. Omit to use the active workbook or the tool default. | |
| sheet_name | No | Origin worksheet name. Omit to use the active sheet or the tool default. | |
| high_missing_threshold | No | Missing-value fraction from 0 through 1 that triggers a high_missing warning. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses expected outputs: column stats, issue list with severities, and 'passed' flag. It details threshold behavior and issue triggers, though it could mention read-only nature explicitly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a front-loaded purpose statement. Every sentence adds information—no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description adequately covers behavior and expected results. It could mention that the tool is read-only, but overall it is complete for a diagnostic tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds value by explaining high_missing_threshold range and the meaning of 'passed' false, going beyond the schema's basic parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks worksheet data quality before plotting or analysis, listing specific reports (dtype, missing, unique) and issue types. This distinguishes it from sibling tools like origin_read_worksheet and origin_plot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use 'before plotting or analysis', providing clear context. However, it does not mention when not to use or list alternatives, though no sibling tool has similar purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_doctorA
Diagnose Origin bridge configuration, status file, and connectivity.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Optional Origin bridge host override. Normally omit to use configured localhost. | |
| port | No | Optional Origin bridge TCP port override. Normally omit to use the handshake value. | |
| token | No | Optional bridge authentication token override. Normally omit to use the handshake. | |
| timeout | No | Bridge request timeout in seconds; null uses the configured default. | |
| ping_origin | No | Whether diagnostics should also make a live request to Origin. | |
| status_path | No | Optional bridge status-file path override used by diagnostics. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions diagnosing connectivity but does not specify whether the tool makes live requests (though ping_origin parameter hints at this), requires authentication, or is read-only. The behavioral traits are under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence of 8 words, front-loading the purpose with no extraneous detail. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 optional parameters and an output schema, the description is quite minimal. It does not explain the output format or the optional behavior like ping_origin. While output schema reduces burden, the tool's overall diagnostic flow is not fully conveyed, leaving gaps for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a description. The tool description adds no additional meaning beyond listing the areas (configuration, status file, connectivity), which maps to parameters. Baseline 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Diagnose' and clearly identifies the resource as 'Origin bridge configuration, status file, and connectivity'. This distinguishes it from sibling tools like origin_ping (simple ping) and origin_bridge_* (task management), providing a clear scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies diagnostic use through the name 'doctor' and the listed areas, but it does not explicitly state when to use this tool versus alternatives like origin_ping or other bridge tools. No guidance on prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_execute_figure_specB
Execute a declarative FigureSpec.
The current executor supports worksheet-backed single-panel and grid multi-panel figures with common plot types. Unsupported features are reported in the plan instead of being guessed.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | Declarative FigureSpec describing data, layout, plots, style, export, and QA. | |
| dry_run | No | Validate and plan the operation without changing the Origin project. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions supported features and that unsupported ones are reported in the plan, but lacks details on side effects (e.g., project modification), blocking behavior, or error handling. For a complex tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with purpose, and avoids redundancy. It earns its place, though it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the input schema (nested objects, many options), the description is too sparse. It does not explain the tool's lifecycle, return values (though output schema exists), or how it integrates with other tools like origin_plan_figure_spec. More guidance would significantly improve usability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes both parameters adequately (spec as 'Declarative FigureSpec...', dry_run as validation without changes). The description adds minimal semantic value beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it executes a declarative FigureSpec, distinguishing it from planning tools like origin_plan_figure_spec. The verb 'execute' combined with the resource 'FigureSpec' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use cases for generating figures from specs, but does not explicitly state when to use this tool over siblings like origin_plan_figure_spec or origin_export_graph. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_export_graphB
Export the active or named Origin graph to an image/PDF file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Filesystem path consumed or produced by this tool; see the tool description. | |
| width | No | Export width in pixels; zero preserves Origin's default export width. | |
| overwrite | No | Whether an existing output file may be replaced. | |
| graph_name | No | Origin graph page name. Omit to use the active graph or create a new page. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It does not disclose behavioral details such as what happens if the file exists (handled by overwrite parameter but not described), how file format is determined, or the effect on the Origin graph. The mention of 'create a new page' for graph_name is in the schema but not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key information. Very concise, though it could incorporate more usage guidance or behavioral context without losing brevity. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values are covered. The description lacks context on the export process, file format handling, and interaction with the active graph. Adequate for a simple tool but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description. The description does not add additional meaning beyond the schema; it merely restates the overall purpose. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (Export), resource (Origin graph), and output format (image/PDF). It distinguishes from siblings like origin_view_graph (viewing) and origin_format_graph (formatting). The verb and resource are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for exporting graphs to files but provides no explicit guidance on when to use this tool vs alternatives (e.g., origin_format_graph for in-memory formatting) or when not to use it. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_format_graphB
Set graph long name, axis labels, legend visibility, and optional rescale.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Optional graph page long name. | |
| rescale | No | Whether to rescale graph axes after formatting. | |
| x_label | No | Optional X axis title. | |
| y_label | No | Optional Y axis title. | |
| graph_name | No | Optional graph page name. | |
| show_legend | No | Set legend visibility when provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose behavioral traits, but it only lists what can be set. It doesn't explain side effects (e.g., rescale behavior), whether it modifies in-place, or if the graph must be active. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Could be slightly more structured but appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complexity is moderate (6 params, output schema present), but description is minimal. No mention of return value, no guidance on when rescale is needed, and no explanation of formatting effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds a summary grouping of parameters but no new constraints or interdependencies beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sets graph long name, axis labels, legend visibility, and optional rescale. It distinguishes from sibling tools like origin_export_graph or origin_plot by focusing on formatting an existing graph.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. No mention of prerequisites (e.g., graph must exist) or context like 'use after plotting'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_get_graph_infoB
Inspect a graph page, its layers, axes, and plots.
| Name | Required | Description | Default |
|---|---|---|---|
| graph_name | No | Origin graph page name. Omit to use the active graph or create a new page. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden. It only states 'Inspect', implying read-only, but does not disclose potential creation of a new page when graph_name is omitted (as hinted in the parameter description). This omission reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, directly stating the purpose without any extraneous words. It is optimally concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, output schema present), the description is adequate but misses contextual details like default behavior (active graph vs. new page) and what the output contains. The parameter description fills some gaps, but the tool description alone is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The tool description adds no further meaning beyond what the schema already provides for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Inspect') and identifies the resource ('graph page, its layers, axes, and plots'), clearly distinguishing it from siblings like origin_view_graph (view) and origin_export_graph (export).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives (e.g., origin_view_graph for rendering, origin_browse_knowledge for knowledge queries). The description lacks context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_import_tableB
Import a CSV, TSV, TXT, DAT, XLS, or XLSX file into a new Origin worksheet.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to a CSV, TSV, TXT, DAT, XLS, or XLSX file. | |
| nrows | No | Maximum number of data rows to read. | |
| header | No | Zero-based row number to use as column names. | |
| encoding | No | Optional text file encoding. | |
| skiprows | No | Rows to skip while reading. | |
| book_name | No | Optional Origin workbook name. | |
| delimiter | No | Delimiter for text files. If omitted, CSV/TSV defaults or auto-detection are used. | |
| na_values | No | Additional missing value markers. | |
| sheet_name | No | Optional Origin worksheet name. | |
| excel_sheet | No | Excel sheet name or zero-based index. Ignored for text files. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It states the tool imports into a 'new' worksheet, yet parameters like book_name and sheet_name suggest existing workbooks/worksheets can be specified, creating ambiguity. No mention of side effects, file existence requirements, error handling, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action and object, with no extraneous words. It efficiently communicates the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no annotations, but with an output schema), the description is insufficiently complete. It omits any mention of return values, error conditions, behavior when files or sheets don't exist, or the relationship between parameters like book_name and the 'new' worksheet claim.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 10 parameters with descriptions (100% schema coverage), so the description adds no extra parameter-level meaning. Baseline 3 is appropriate; the description lists file types which partially reinforces the path parameter but does not deepen understanding of other parameters like encoding or na_values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: importing specific file formats (CSV, TSV, etc.) into a new Origin worksheet. It uses a specific verb ('Import') and resource ('Origin worksheet'), effectively distinguishing it from sibling tools like origin_read_worksheet or origin_write_worksheet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for importing external data files into a new worksheet but provides no explicit guidance on when to use this tool versus alternatives, such as origin_read_worksheet for reading existing data or origin_write_worksheet for writing data. No when-not or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_pingA
Connect to Origin/OriginPro and report basic status.
| Name | Required | Description | Default |
|---|---|---|---|
| show | No | Whether Origin should be visible after connecting or querying capabilities. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behaviors. It mentions connecting and reporting status, but does not specify what status includes or side effects (e.g., making Origin visible via 'show' parameter). Adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One efficient sentence with no wasted words, but could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool, full schema coverage, and existence of an output schema, the description is largely complete. Only missing details about the status report format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the tool description does not add extra meaning beyond the schema's parameter description. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool connects to Origin/OriginPro and reports basic status, which is a distinct purpose from sibling tools that perform specific operations like task management or plotting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, but the purpose is straightforward and implies use for connectivity checks before other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_plan_figure_specC
Validate a declarative FigureSpec and return the planned Origin operations.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | Declarative FigureSpec describing data, layout, plots, style, export, and QA. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description fails to disclose important behavioral traits: side effects (none, but not stated), resource requirements, or error handling. The word 'validate' implies read-only, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but may be too brief for a tool with a complex input schema. It earns its place but lacks structured detail like bullet points or sections.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the FigureSpec and the absence of annotations, the description is incomplete. It does not explain the return format (planned operations), validation behavior, or potential errors. An output schema exists but its content is not leveraged.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds only generic phrasing ('Declarative FigureSpec describing data, layout, plots, style, export, and QA'), which adds minimal insight beyond the schema field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates a FigureSpec and returns planned Origin operations, distinguishing it from execution-oriented siblings like origin_execute_figure_spec. The verb 'validate' and noun 'FigureSpec' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., execute vs plan), no prerequisites or conditions for use. The description provides no when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_plotA
Create a table-based plot selected by kind.
A single parameterized entry point for common table plots and the Plot Type
ID routes that each also have a dedicated origin_plot_* tool. For the
common line/scatter/line_symbol/column routes, selected_cols uses the
first column as X and the remaining columns as Y. A one-column selection is
treated as Y-only. Matrix-range plots still use origin_plot_matrix_id.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Table plot kind. The schema lists every compact-route kind supported by this tool. | |
| path | Yes | Filesystem path consumed or produced by this tool; see the tool description. | |
| title | No | Optional Origin page long name or graph title. | |
| graph_name | No | Origin graph page name. Omit to use the active graph or create a new page. | |
| style_mode | No | Graph styling policy: origin_default preserves the Origin template; nature applies the origin-mcp scientific preset. | origin_default |
| export_path | No | Optional output path for exporting the created graph. | |
| show_legend | No | Legend visibility override; null uses cross-chart rules based on series count and chart type. | |
| palette_name | No | Optional registered color palette name used by the selected style mode. | |
| selected_cols | No | Column names or zero-based indexes to include in the plot. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It adds useful detail about selected_cols interpretation (first column as X, remaining as Y, one-column as Y-only), but it does not discuss side effects such as whether a new graph page is created, whether existing pages are modified, or what the path must point to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences that front-load the tool's purpose and then immediately address routing and selected_cols behavior. No filler or redundancy; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters and a 31-value enum, the description covers the core plot creation logic and selected_cols convention but leaves the required 'path' parameter unexplained ('see the tool description', yet the description never ties path to a table file). Other parameter interactions (style_mode, palette_name, export_path) are left entirely to schema definitions, which is acceptable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds extra meaning to selected_cols, explaining the X/Y column mapping that the schema's 'include in the plot' does not. It also frames the kind enum as a compact-route selector, enriching the schema's simple 'kind' description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a table-based plot selected by kind') and clearly distinguishes this generic entry point from dedicated origin_plot_* tools and origin_plot_matrix_id. It names the exact kind-based routing, making the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says matrix-range plots should use origin_plot_matrix_id, providing a clear when-not case, and mentions that dedicated origin_plot_* tools exist as alternatives for each route. However, it does not address when to prefer this over sibling origin_plot_auto, leaving some selection ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_plot_autoA
Inspect table columns, select a suitable chart route, and create the plot.
Provide intent when the desired comparison or relationship is known.
Otherwise the router uses column types, cardinality, and selected X/Y/Z or
error columns. Use origin_recommend_chart first when no graph should be
created yet.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to a CSV, TSV, TXT, DAT, XLS, or XLSX file. | |
| nrows | No | Maximum number of data rows to read. | |
| title | No | Optional graph page long name. | |
| x_col | No | Column name or zero-based index to use as X. Defaults to the first column. | |
| z_col | No | Optional Z column for contour/XYZ plots. | |
| header | No | Zero-based row number to use as column names. | |
| intent | No | Optional natural-language chart intent used to guide automatic routing. | |
| y_cols | No | Column names or zero-based indexes to plot as Y. Defaults to all non-X columns. | |
| x_label | No | Optional X axis title. | |
| y_label | No | Optional Y axis title. | |
| encoding | No | Optional text file encoding. | |
| skiprows | No | Rows to skip while reading. | |
| book_name | No | Optional Origin workbook name. | |
| delimiter | No | Delimiter for text files. If omitted, CSV/TSV defaults or auto-detection are used. | |
| na_values | No | Additional missing value markers. | |
| graph_name | No | Optional Origin graph page name. | |
| sheet_name | No | Optional Origin worksheet name. | |
| style_mode | No | Graph styling policy. origin_default/template/theme/none preserve Origin template defaults; nature applies origin-mcp styling after plotting. | origin_default |
| excel_sheet | No | Excel sheet name or zero-based index. Ignored for text files. | |
| export_path | No | Optional graph export path. | |
| x_error_col | No | Optional X error column. | |
| y_error_col | No | Optional Y error column. | |
| palette_name | No | Optional registered built-in palette name; nature mode selects one automatically. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose the routing decision logic (intent vs. column types/cardinality/selected columns) and signals a side effect by saying it 'creates the plot.' But it does not disclose effects on Origin state — e.g., whether a workbook is imported, a graph page is created, or whether the file is modified — which matters for a plotting tool with 23 parameters and no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the primary action, followed by intent guidance and the alternative recommendation. Every sentence earns its place; there is no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (23 parameters, no annotations) and the description explains the central routing model well; an output schema covers return values so those need not be described. Gaps remain: no guidance on choosing origin_plot vs. origin_plot_auto, no mention of Origin-side side effects (graph page/workbook creation), and no note on how export_path or style_mode interact with the auto flow. Adequate but not complete given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, which sets the baseline at 3. The description adds genuine value beyond the schema by explaining when the intent parameter should be supplied and by identifying which parameters feed the auto-router (X/Y/Z and error columns). This is meaningful added semantics rather than restating the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific multi-step action — inspect table columns, select a chart route, and create the plot — naming the resource (table/file columns) and outcome (a plot). It also differentiates from the sibling origin_recommend_chart by noting that tool is used when no graph should be created yet. However, it does not contrast with the similarly named origin_plot sibling, so the 'auto-routing' distinction must be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete when-to-use guidance: provide intent when the desired comparison or relationship is known, otherwise the router falls back on column types, cardinality, and selected X/Y/Z or error columns. It explicitly names origin_recommend_chart and the condition that selects it ('when no graph should be created yet'). It does not, however, address when to prefer the explicit origin_plot tool over this automatic variant, which is the most likely source of agent confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_query_knowledgeC
Search the local Origin knowledge base by keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of matching or recent records to return. | |
| query | Yes | Keyword query matched against local knowledge titles, summaries, and bodies. | |
| version | No | Optional Origin documentation version filter, such as 2026b. | |
| collection | No | Optional knowledge collection filter; allowed names are in the schema. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden for behavioral disclosure. It does not mention that results may include recent records if no match, order, pagination, or whether the search is case-sensitive. Critical behavioral details from schema (like default limit) are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core purpose concisely. It is appropriately sized for a simple tool but could benefit from additional detail without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of 4 parameters and an output schema, the description is too minimal. It does not explain search semantics, result ordering, or filtering behavior, which are important for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Search the local Origin knowledge base by keyword,' which clearly identifies the action (search), resource (local knowledge base), and method (by keyword). However, it does not differentiate this tool from the sibling 'origin_browse_knowledge', which likely serves a similar purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like 'origin_browse_knowledge' or other search tools. The description lacks context on prerequisites, use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_read_worksheetB
Read a window of Origin worksheet data as structured rows.
| Name | Required | Description | Default |
|---|---|---|---|
| columns | No | Column names or zero-based column indexes selected for this operation. | |
| max_rows | No | Maximum number of worksheet rows to return. | |
| book_name | No | Origin workbook name. Omit to use the active workbook or the tool default. | |
| start_row | No | Zero-based worksheet row at which reading begins. | |
| sheet_name | No | Origin worksheet name. Omit to use the active sheet or the tool default. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It mentions 'read' but does not clarify idempotency, side effects, or access requirements. The description is too brief for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff, front-loaded. Could be slightly more descriptive about the return format, but efficiency is good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and an output schema, the description is too minimal. It does not explain 'structured rows', row limits, or behavior when parameters are omitted. More context needed for a data-reading tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with full parameter descriptions. The description adds no additional meaning beyond schema; baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and resource ('Origin worksheet data as structured rows'), clearly distinguishing it from siblings like origin_write_worksheet and origin_diagnose_worksheet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives; lacks context for when not to use or prerequisites. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_recommend_chartB
Recommend chart types from table shape, column semantics, and optional intent.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to a CSV, TSV, TXT, DAT, XLS, or XLSX file. | |
| nrows | No | Maximum number of data rows to read. | |
| x_col | No | Column name or zero-based index to use as X. Defaults to the first column. | |
| z_col | No | Optional Z column for contour/XYZ plots. | |
| header | No | Zero-based row number to use as column names. | |
| intent | No | Optional natural-language chart intent used to guide automatic routing. | |
| y_cols | No | Column names or zero-based indexes to plot as Y. Defaults to all non-X columns. | |
| encoding | No | Optional text file encoding. | |
| skiprows | No | Rows to skip while reading. | |
| delimiter | No | Delimiter for text files. If omitted, CSV/TSV defaults or auto-detection are used. | |
| na_values | No | Additional missing value markers. | |
| excel_sheet | No | Excel sheet name or zero-based index. Ignored for text files. | |
| x_error_col | No | Optional X error column. | |
| y_error_col | No | Optional Y error column. | |
| max_recommendations | No | Maximum number of ranked chart recommendations to return. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but does not disclose behavioral traits like what happens when data cannot be read, how recommendations are ranked, or error handling. It only gives a high-level overview.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the core action. It could be slightly more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 15 parameters, no annotations, and an output schema, the description is too minimal. It does not explain the recommendation logic, output format, or how to interpret results, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description hints at some parameters (table shape, column semantics, intent) but adds little beyond the schema's parameter names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool recommends chart types based on table shape, column semantics, and optional intent. It uses a specific verb ('recommend') and resource ('chart types'), differentiating from sibling tools like origin_plot which actually plot data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as origin_plot_auto or origin_plan_figure_spec. It does not mention prerequisites, exclusions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_run_analysisA
Run a supported Origin analysis and return structured metrics or output rows.
Use include_output=True with output_sheet for analyses that create a
worksheet. The analysis schema lists canonical names; aliases remain
accepted for backward compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
| x_col | No | Optional X column. | |
| y_col | No | Optional Y column. | |
| options | No | Analysis-specific options. Examples: polynomial_fit uses order; smooth uses method and points; peak_find uses direction, threshold, and smooth_points; t-tests use tail and alpha; fft/ifft use window and sampling_interval. Set recalculate to none/0, auto/1, or manual/2 to create a recalculating Origin operation. | |
| analysis | Yes | Canonical analysis name. Supported values are listed in the schema; common choices include linear_fit, polynomial_fit, smooth, peak_find, fft, and correlation. | |
| worksheet | No | Worksheet range or book/sheet reference. | |
| output_sheet | No | Optional output sheet/name hint. | |
| include_output | No | Read output worksheet rows back into the response when possible. | |
| output_max_rows | No | Maximum rows to read from an output worksheet. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that include_output=True is for analyses creating worksheets and mentions backward compatibility for aliases. However, it does not explain key behaviors such as synchronous vs asynchronous execution, data mutation, permissions, or error handling, which are important for agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, then a key usage note, then clarification about schema naming. Every sentence serves a purpose without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 8 parameters, an output schema, and the existence of sibling tools, the description covers the main purpose and key usage pattern. It could be more complete by explaining the return format or prerequisites, but the output schema likely fills some gaps. Overall, it is adequate for a tool with good schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with each parameter described. The description adds significant value by providing concrete examples for the options parameter (e.g., polynomial_fit uses order, smooth uses method and points) and explaining the recalculate sub-option. This extra context helps the agent understand how to set analysis-specific parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs a supported Origin analysis and returns structured metrics or output rows. It provides specific details about using include_output with output_sheet for worksheet-creating analyses, and distinguishes this tool from siblings by focusing on analysis execution versus other operations like plotting or reading worksheets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives guidance on when to use include_output=True with output_sheet, and mentions that aliases are accepted for backward compatibility. However, it does not explicitly state when not to use this tool or provide alternatives from the sibling list, leaving some ambiguity about best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_view_graphA
Render an Origin graph and return it as an image the model can see.
Unlike origin_export_graph this leaves no file behind: the graph is
rendered to a temporary PNG, returned as an image content block alongside a
small text summary, and the temp file is deleted. Use it to visually verify
a plot and iterate on it. max_width bounds the rendered pixel width to
keep the returned image (and its token cost) small. Requires a
vision-capable client to be useful.
| Name | Required | Description | Default |
|---|---|---|---|
| max_width | No | Maximum rendered image width in pixels. | |
| graph_name | No | Origin graph page name. Omit to use the active graph or create a new page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes rendering to temp PNG, returning as image content block with text summary, and deleting temp file. Mentions max_width bounds token cost. No annotations provided, so description carries the burden well. Could explicitly state read-only behavior, but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. Front-loaded with purpose. Student if additional details needed, but highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains return format (image + text summary). Covers parameters, behavior, and distinction from sibling. Minor missing details about summary content but adequate for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds meaningful context: max_width limits pixel width for token cost, graph_name usage (active graph or new page). Exceeds baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Render an Origin graph and return it as an image the model can see.' It uses a specific verb-resource pair and distinguishes itself from sibling origin_export_graph by noting no file is left behind.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use it to visually verify a plot and iterate on it.' Contrasts with export_graph to guide selection. Mentions vision-capable client requirement. Doesn't list all alternatives, but provides clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
origin_write_worksheetB
Write structured rows into a new or existing Origin worksheet.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | Rows to write, as objects keyed by column name or arrays matching columns. | |
| create | No | Whether to create the target Origin object when it does not already exist. | |
| columns | No | Column names for object rows. For array rows, these names define the array order. | |
| book_name | No | Origin workbook name. Omit to use the active workbook or the tool default. | |
| start_col | No | Column name or zero-based column index at which writing begins. | |
| sheet_name | No | Origin worksheet name. Omit to use the active sheet or the tool default. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only states the basic operation, omitting key details like whether data is appended or overwritten, error handling, required permissions, or what happens when the worksheet doesn't exist (though a 'create' parameter exists, its behavior is not explained in the description). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence with no extraneous words. It is concise and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, return values need not be explained. However, the description lacks behavioral context (e.g., overwrite vs. append) and does not mention the tool's interaction with active sheets/workbooks, leaving the agent uncertain about side effects. It is minimally adequate but incomplete for safe autonomous use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; it merely restates 'structured rows' without clarifying the interplay between 'rows', 'columns', and 'start_col' or the implications of 'create'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Write structured rows') and the resource ('into a new or existing Origin worksheet'), using a specific verb+resource pattern that distinguishes it from sibling tools like origin_read_worksheet or origin_diagnose_worksheet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. Sibling tools like origin_read_worksheet or origin_diagnose_worksheet appear in the list, but no differentiation is offered.
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.
24 tool updates
v0.1.0- First observed
origin_bridge_cancel_task - First observed
origin_bridge_list_tasks - First observed
origin_bridge_shutdown - First observed
origin_bridge_submit_task - First observed
origin_bridge_task_status - First observed
origin_browse_knowledge - First observed
origin_capabilities - First observed
origin_diagnose_worksheet - First observed
origin_doctor - First observed
origin_execute_figure_spec - First observed
origin_export_graph - First observed
origin_format_graph - First observed
origin_get_graph_info - First observed
origin_import_table - First observed
origin_ping - First observed
origin_plan_figure_spec - First observed
origin_plot - First observed
origin_plot_auto - First observed
origin_query_knowledge - First observed
origin_read_worksheet - First observed
origin_recommend_chart - First observed
origin_run_analysis - First observed
origin_view_graph - First observed
origin_write_worksheet
TDQS
Scored across 24 tools
Most tools target a distinct resource/action, and similar output tools like origin_export_graph vs origin_view_graph and origin_plot vs origin_plot_auto are separated by explicit behavior descriptions. The bridge-task cluster and plotting-related tools still require careful reading to avoid misselection, so it is not perfect.
Nearly all tools share the origin_ prefix and mostly follow a readable verb_noun pattern, with clear subclusters like origin_import_table, origin_read_worksheet, and origin_write_worksheet. A few noun-style exceptions such as origin_capabilities and origin_doctor, plus forms like origin_bridge_task_status, break the pattern slightly.
At 24 tools this is on the heavy side and spans several distinct subdomains: worksheet operations, plotting, graph formatting, knowledge, analysis, and bridge task management. The count is defensible for a full Origin automation server, but it exceeds the typical well-scoped 3-15 tool range.
The set covers core worksheet and graph workflows: import/read/write/diagnose worksheet data, create/format/view/export graphs, and run analyses. Obvious gaps like listing open worksheets/graphs and explicit delete operations are minor and can usually be worked around.
Maintenance
Related MCP Connectors
Unified gateway exposing 150+ tools across all NexGenData MCP servers via one endpoint.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
A paid remote MCP for ClawManager, built to return verdicts, receipts, usage logs, and audit-ready J
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to control Origin/OriginPro on Windows, including data import, worksheet editing, graphing, analysis, and figure export.25145 PyPI101MIT
- AlicenseBqualityDmaintenanceA local MCP server that enables AI assistants to control Origin/OriginPro on Windows via Python automation, with adaptive path detection to resolve import errors.632MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to control OriginLab Origin Pro via COM automation for data analysis, graphing, and styling, with real-time GUI updates.56101 PyPI41MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI clients to drive a running OriginLab Origin instance, allowing LabTalk scripting, worksheet read/write, and project management.-