remio-harness-plugin
Click on "Install 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., "@remio-harness-pluginWhat do my notes say about the API design?"
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.
remio Harness Plugin
MCP server for using a local remio knowledge base from DeepSeek Harness and any MCP-compatible agent client.
It exposes remio search, reading, RAG, web retrieval, note management, collection management, sync-folder management, public sharing, agent execution, and advanced syscalls. It invokes the local remio executable directly with argument arrays; it never opens a shell.
Requirements
Node.js 20 or later
pnpm (required by
dsh plugin)remio desktop app installed and running
remio CLI available on
PATH(or setREMIO_CLI_PATH)
Related MCP server: Obsidian Readonly MCP
Install
After the package is published, install it in a DeepSeek Harness profile:
dsh plugin --profile standard add @remio/harness-pluginDSH loads the bundle automatically and exposes the remio MCP tools under the mcp__remio__ namespace, for example mcp__remio__remio_search_notes and mcp__remio__remio_ask.
The same published package can also be used directly by any MCP-compatible client:
{
"mcpServers": {
"remio": {
"command": "npx",
"args": ["-y", "@remio/harness-plugin"]
}
}
}For local development:
npm install
npm run build
node dist/index.js{
"mcpServers": {
"remio": {
"command": "node",
"args": ["/absolute/path/to/remio-harness-plugin/dist/index.js"]
}
}
}Tools
Tool | Purpose | Confirmation |
| Local CLI usage | No |
| Search the knowledge base | No |
| Read a note or supported local file | No |
| RAG answer with citations | No |
| Commercial web search or clean web extraction | No |
| Create, update, delete, attach images, status, permissions | Required |
| Add or remove a note from a collection | Required |
| List or manage indexed folders | Required for changes |
| Publish, refresh, or revoke a public note link | Required |
| Run a remio Agent task | Required |
| Advanced remio syscall escape hatch | Required |
| Full CLI compatibility entry point | Required for changes |
The structured tools are the recommended interface. remio_cli is retained for a remio CLI capability that has not yet been promoted into a dedicated structured tool.
Safety model
The server uses MCP tool annotations so compatible clients can show appropriate risk prompts. It additionally refuses every state-changing call unless the caller sends confirm: true after obtaining explicit user approval.
The server does not bypass remio authorization. Existing remio restrictions, passwords, session-scoped write checks, and public-sharing behavior remain enforced by the local remio app.
Configuration
Variable | Meaning | Default |
| Absolute path to the remio executable |
|
| CLI invocation timeout |
|
Development and release
npm ci
npm run check
npm test
npm run pack:checkThe CI workflow verifies Node.js 20, 22, and 24. Before the first public release, add the canonical public repository URL to package.json, publish under the @remio npm organization, and submit the npm package plus repository link to the applicable Harness plugin directory. DSH detects the package as a native profile bundle through its dsh.bundle.patch manifest field.
The DSH bundle has been verified against @deepseek-ai/dsh@0.1.0-rc.6: a clean profile installed the package successfully and its composed configuration included the remio-mcp bridge row.
License
MIT
Available Tools
12 toolsremio_askAsk the remio knowledge baseBRead-only
Answers a question from the remio knowledge base and includes note citations when available.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| limit | No | ||
| question | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's mention of 'includes note citations when available' adds useful output behavior beyond the annotation, but it does not disclose other behavioral traits such as mode effects or limit semantics.
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 the verb, 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?
For a tool with three parameters and no output schema, the description is too sparse—it does not clarify the semantics of the 'mode' enum, the meaning of 'limit', or the structure of the answer, leaving significant gaps for the agent.
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 0%, and the description only implicitly references the 'question' parameter; it does not explain the meaning of 'mode' or 'limit', so the description fails to compensate for the lack of schema documentation.
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 ('Answers') and resource ('remio knowledge base'), and adds a distinctive detail (note citations), which clearly distinguishes it from siblings like remio_search_notes or remio_read.
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 about when to choose this tool over alternatives; the description only states what it does without mentioning scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_cliRun an advanced remio CLI commandADestructive
Compatibility entry point for every remio CLI command: search_notes, read_note, read_file, add_sync_folder, list_sync_folders, pause_sync_folder, resume_sync_folder, remove_sync_folder, create_note, update_note, attach_image, add_note_to_collection, remove_note_from_collection, delete_note, update_note_restrictions, share_note, unshare_note, set_note_status, create_people_note, rag, web_search, web_get, run_agent, syscall. Prefer the structured tools above. State-changing commands require confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | ||
| pretty | No | ||
| command | Yes | ||
| confirm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructive behavior, and the description adds that state-changing commands need confirm=true, which is not captured in annotations. It also identifies itself as a compatibility entry point, adding context. However, it doesn't discuss output format or error handling, leaving some 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?
A single, front-loaded paragraph that states purpose, lists commands, and ends with usage guidance. The command list is long but arguably necessary for a catch-all tool. No wasted filler, though it could have been more compact by omitting the enum duplication.
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 description covers purpose, preference, and the confirm requirement, making basic invocation possible. However, with no output schema, it should explain what the tool returns or how args/pretty behave, which it doesn't. Adequate for a compatibility wrapper 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 description coverage is 0%, so the description must compensate. It only clarifies the confirm parameter; args and pretty are left entirely unexplained. The command list duplicates the schema enum, providing no new parameter-level meaning.
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 opens with 'Compatibility entry point for every remio CLI command' and enumerates all supported commands, making the tool's role unmistakable. It also differentiates from siblings by explicitly telling users to prefer the structured tools above.
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?
Provides explicit guidance: 'Prefer the structured tools above' directly tells when not to use this tool, and 'State-changing commands require confirm: true' gives a concrete usage condition. This is strong alternative/selection advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_collectionsManage remio note collectionsA
Adds or removes a note from a collection. Adding by collection title creates that collection when it does not exist.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| confirm | No | ||
| note_id | Yes | ||
| collection_id | No | ||
| collection_title | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, signaling a non-read-only but non-destructive mutation. The description adds a valuable behavioral detail: adding by collection title auto-creates the collection if it doesn't exist. This goes beyond the annotations and describes a side effect not otherwise known.
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 two sentences, with the most important action stated first. Every word contributes meaning, and there is no redundant filler. It is concise and well-structured.
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, no output schema, and 0% schema description coverage, the description is too minimal to be complete. It doesn't explain the purpose of 'confirm', how to specify which collection when both ID and title are available, or what happens on removal when no collection is specified. The tool's full behavior is not adequately captured.
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 0%, so the description must compensate for documenting parameters. It explains that 'collection_title' can be used for adding and creates the collection if missing, but it does not explain the 'confirm' boolean, the relationship between 'collection_id' and 'collection_title', or the semantics of 'note_id' and 'action' beyond what the schema already shows. Many parameters remain underspecified.
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: 'Adds or removes a note from a collection.' This uses a specific verb and resource, and the additional detail about creating a collection by title adds precision. It is easily distinguished from sibling tools like searching or reading notes.
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: you use this tool when you need to add or remove a note from a collection. However, it does not explicitly state when to prefer this over sibling tools, nor does it mention any prerequisites or exclusions. No alternatives are named, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_helpGet remio CLI helpBRead-only
Returns the authoritative usage for a locally installed remio CLI command.
| Name | Required | Description | Default |
|---|---|---|---|
| command | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true, and the description adds that the CLI must be locally installed, which is a useful prerequisite. However, it does not disclose return format, error handling, or behavior when command is omitted, so transparency is moderate.
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 with no filler. Every word adds value, making it both concise and well-structured.
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 help tool, the description covers the core action but lacks details about output format, optional parameter behavior, and differentiation from remio_cli. Given no output schema, these gaps leave the description somewhat incomplete.
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 single 'command' parameter is an enum of CLI commands, and the description clarifies it refers to a locally installed remio CLI command. Since schema coverage is 0%, the description partially compensates but doesn't explain the effect of omitting the parameter or how to use the enum 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 returns authoritative usage for a locally installed remio CLI command, using a specific verb and resource. This distinguishes it from sibling tools like remio_cli, which presumably execute commands, by focusing on usage information rather than action.
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 explicit guidance on when to use this tool versus alternatives like remio_cli or other command-specific tools. The use case is only implied by the tool's name and description, with no mention of scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_notesCreate, update, or manage remio notesCDestructive
Changes notes, people notes, note images, permissions, or status. Requires explicit confirmation for every call.
| Name | Required | Description | Default |
|---|---|---|---|
| edits | No | ||
| No | |||
| later | No | ||
| title | No | ||
| action | Yes | ||
| append | No | ||
| passwd | No | ||
| pinned | No | ||
| confirm | No | ||
| content | No | ||
| note_id | No | ||
| favorite | No | ||
| image_name | No | ||
| image_path | No | ||
| collections | No | ||
| image_source | No | ||
| restrictions | No | ||
| collection_ids | No | ||
| type_identifier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the behavioral detail 'Requires explicit confirmation for every call,' which is not present in the annotations. While the annotations already indicate destructiveHint=true, the confirmation requirement is a meaningful addition. It does not describe what gets destroyed or other side effects, but for a mutation tool with annotations, this is a useful extra behavior.
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 communicates its core function and a key requirement. It is front-loaded with the primary action and adds the confirmation note without unnecessary verbosity.
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?
This is a highly complex tool with 19 parameters, 7 enum actions, and no output schema or parameter descriptions, yet the description is only one sentence. It does not explain the range of actions, which parameters apply to which operation, or how confirmation works. The schema alone is insufficient for an agent to select and invoke correctly.
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 has 19 parameters with 0% description coverage, and the description adds no parameter-specific meaning. It only lists broad resource categories (notes, people notes, images, permissions, status) without mapping to any of the input parameters, actions, or options. With such low coverage, the description should compensate but fails to do so.
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 identifies the tool as a mutation tool for notes and related resources ('Changes notes, people notes, note images, permissions, or status'). It distinguishes from read-only siblings like remio_search_notes and remio_read by signaling write functionality, though the verb 'Changes' is broad and doesn't enumerate specific operations like create or delete.
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 explicit when-to-use guidance or alternatives. It does not differentiate this tool from siblings like remio_share or remio_collections, nor does it state when not to use it. The only contextual hint is 'Requires explicit confirmation,' which is a usage requirement but not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_readRead a remio note or local fileARead-only
Reads a remio note by note ID, or converts a local supported file to markdown. Do not read unrelated local files.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| format | No | ||
| offset | No | ||
| source | Yes | ||
| id_or_path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description only needs to add extra context. It does so by disclosing the conversion-to-markdown behavior and a caution about scope, providing useful behavioral details beyond the annotation.
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 redundancy: the first sentence states the core actions, the second adds a necessary constraint. The description is front-loaded and 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?
For a tool with 5 parameters and no output schema, the description covers the primary use case but omits parameter details (limit, offset, format) and does not explicitly state what the output will be, though it implies markdown for file reads.
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 0%, so the description must compensate. It explains 'source' via 'note' vs 'file' and 'id_or_path' via 'by note ID' and 'local file', but leaves limit, offset, and format entirely unaddressed.
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+resource: 'Reads a remio note by note ID, or converts a local supported file to markdown.' It clearly distinguishes from siblings by adding the scope limit 'Do not read unrelated local files.'
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?
It provides clear context that this tool is for reading specific notes or local files, but does not explicitly name alternative tools like remio_search_notes for finding notes. The warning about unrelated files is a boundary constraint rather than a full alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_run_agentRun a remio Agent taskBDestructive
Runs a remio Agent with a project directory. It may invoke the requested capabilities, so explicit confirmation is required.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| prompt | Yes | ||
| confirm | No | ||
| session_id | No | ||
| timeout_ms | No | ||
| project_dir | Yes | ||
| capabilities | No | ||
| system_prompt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructive and open-world behavior. The description adds that the agent may invoke capabilities and requires explicit confirmation, which is useful. However, it does not elaborate on side effects, what capabilities mean, or what happens to the project directory, leaving gaps beyond the 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?
Two sentences, front-loaded with the core action, followed by a pertinent safety note. No irrelevant details or repetition, making it 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?
This is a complex tool with 8 parameters, no output schema, and open-world/destructive annotations. The description is too sparse to cover the likely side effects, return format, or parameter usage details. The confirmation note is helpful but insufficient for such a high-stakes operation.
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?
With 0% parameter coverage in the description, it must compensate. It provides semantics for 'project_dir', 'capabilities', and 'confirm', but leaves model, prompt, session_id, timeout_ms, and system_prompt entirely unexplained, so the compensation is only partial.
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 verb ('Runs') and resource ('a remio Agent'), with a project directory as the context. This distinguishes it from read/search/ask siblings, though it doesn't specify what the agent actually accomplishes beyond invoking capabilities.
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 offers no guidance on when to use this tool versus alternatives like remio_ask or remio_syscall. The only hint is that it may invoke capabilities and requires confirmation, which is more of a safety warning than a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_search_notesSearch the remio knowledge baseARead-only
Search notes, files, email, Slack, meetings, and other remio knowledge. Prefer this before reading a note by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | ||
| sort | No | ||
| type | No | ||
| later | No | ||
| limit | No | ||
| query | No | ||
| since | No | ||
| title | No | ||
| until | No | ||
| folder | No | ||
| people | No | ||
| pinned | No | ||
| shared | No | ||
| favorite | No | ||
| collection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description aligns with that by describing a search operation. The description adds useful context about the breadth of content searched (notes, files, email, etc.) but does not disclose return format, pagination, or other behavioral details beyond what annotations provide. Given the annotation coverage, this is adequate but not richly 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?
The description is two sentences, front-loaded with the core action and scope, and ends with a strategic usage tip. Every sentence earns its place, and there is no redundant repetition of the tool name or title.
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?
This is a high-complexity search tool with 15 parameters, no required fields, and no output schema, so the description needs to provide substantial guidance. It covers purpose and preference but omits essential context about parameter usage, result shape, pagination, or edge cases. The description is minimal and leaves the agent to infer too much from parameter names alone.
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 0%, so the description bears the burden of explaining parameters. However, it only lists content categories (notes, files, email, Slack, meetings) without mapping these to any of the 15 parameters. It does not clarify query syntax, filter semantics, sort options, or limit behavior, leaving parameter usage mostly undocumented.
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 identifies the tool as a search operation over the remio knowledge base, enumerating content types like notes, files, email, Slack, and meetings. It also distinguishes itself from the read-by-ID sibling tool by urging preference for search before direct reads.
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 states when to use this tool ('Prefer this before reading a note by ID'), providing a direct usage guideline and implicitly distinguishing it from remio_read. This is clear, actionable guidance for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_sync_foldersManage remio sync foldersB
Lists or changes folders that remio indexes. Changes require explicit confirmation; removing a folder preserves already-created notes.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| action | Yes | ||
| confirm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits beyond the minimal annotations: changes require explicit confirmation, and removing a folder preserves already-created notes. This adds meaningful safety context that the readOnlyHint and destructiveHint booleans do not convey, though it doesn't cover all actions (e.g., pause/resume 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 two sentences, front-loaded with the core purpose, and every clause adds value. It avoids repetition or filler.
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 has multiple actions and no output schema, yet the description only elaborates on 'remove' and the confirmation requirement. It does not explain what happens with 'add', 'pause', 'resume', or what the result of 'list' looks like. This is incomplete for a multi-action 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?
With 0% schema description coverage, the description must compensate, but it only indirectly explains the 'action' and 'confirm' parameters. The 'path' parameter is completely unexplained, and the enum actions like 'pause' and 'resume' are not elaborated. This falls short for a tool with few 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 'lists or changes folders that remio indexes' with a specific verb and resource. While it doesn't explicitly differentiate from sibling tools, the focus on sync folder management is distinct from other remio tools like remio_notes or remio_collections.
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 when to use the tool: to manage sync folders. It provides some contextual guidance by noting that changes require confirmation, but it does not explicitly contrast with alternative tools or state 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.
remio_syscallRun an advanced remio syscallADestructive
Advanced escape hatch for a remio syscall not represented above. It can have arbitrary side effects and always requires explicit confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| confirm | No | ||
| payload | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true. The description adds valuable context by warning about 'arbitrary side effects' and the requirement for 'explicit confirmation', which goes beyond the annotations and informs the agent of the risky and user-confirmation-dependent nature of the 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, front-loaded with the tool's purpose and followed by the critical safety caveats. Every word earns its place, with no redundancy or filler.
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 being a potentially dangerous and complex syscall runner with no output schema and undocumented parameters, the description provides minimal context beyond the escape-hatch nature and confirmation requirement. It does not explain what a syscall is, what actions/payloads are expected, or what the response looks like, making it inadequate for safe and correct invocation.
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 0%, so the description must compensate by explaining parameters, but it does not mention 'action', 'confirm', or 'payload' at all. The property names are somewhat self-explanatory, but no semantics are added, leaving the agent to guess what values are valid or how they interact.
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 identifies the tool as an escape hatch for running a remio syscall not covered by other sibling tools, which distinguishes it from the more specific tools. The title adds the verb 'Run' and resource 'remio syscall', making the purpose reasonably clear, though 'advanced' and 'not represented above' are somewhat vague.
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 indicates this tool should be used for syscalls 'not represented above', providing a clear when-to-use condition relative to sibling tools. It also states that it 'always requires explicit confirmation', which tells the agent that a confirm parameter must be provided, serving as a usage prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remio_webSearch or fetch web content with remioARead-only
Uses remio's configured high-quality web search or clean web-page extraction. Fetching never creates a remio note.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| count | No | ||
| media | No | ||
| query | No | ||
| action | Yes | ||
| region | No | ||
| freshness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals safe read-only behavior. The description adds a valuable behavioral trait: fetching never creates a remio note, which clarifies side effects beyond what the annotation provides. It does not mention other behaviors like rate limits or response format, but the added note is meaningful.
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 two short, front-loaded sentences with no redundant wording. It efficiently states the tool's function and a key behavioral note, earning a perfect score for conciseness and structure.
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 7 parameters, 1 required, and no output schema, the description is too thin to be complete. It omits parameter semantics, return-value expectations, and any discussion of when to prefer alternatives. The agent would need to guess crucial details like what 'freshness' values mean or what the response contains.
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 0%, so the description must compensate. It only vaguely references 'search' and 'extraction' (which map to the action parameter), but fails to explain query, url, count, media, region, or freshness. The agent is left to infer from parameter names, making this inadequate.
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 performs 'web search or clean web-page extraction', explicitly targeting web content. This distinguishes it from sibling tools like remio_search_notes (which searches notes) and remio_read, making the purpose 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 provides clear context that this is for web content, and the note 'Fetching never creates a remio note' gives a specific behavioral guideline. However, it does not explicitly name alternatives or state when not to use the tool, so it falls short of full exclusion guidance.
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. Dates show when Glama detected each change.
12 tool updates
v0.3.0- First observed
remio_ask - First observed
remio_cli - First observed
remio_collections - First observed
remio_help - First observed
remio_notes - First observed
remio_read - First observed
remio_run_agent - First observed
remio_search_notes - First observed
remio_share - First observed
remio_sync_folders - First observed
remio_syscall - First observed
remio_web
TDQS
Most tools have distinct purposes, but remio_search_notes, remio_ask, and remio_web all involve retrieving information, and remio_cli/remio_syscall are catch-alls that overlap with every other tool. The descriptions help clarify, but some ambiguity remains.
All tools share the remio_ prefix and most use verb-based names (help, search_notes, read, ask, share, run_agent), though a few are nouns (notes, collections, web). The overall pattern is consistent and predictable.
Twelve tools is well within the optimal range and appropriate for a knowledge-management integration. Each tool covers a distinct capability, with the CLI and syscall tools providing fallbacks.
The surface covers searching, reading, asking, web access, note creation/updating, collections, folder sync, sharing, and agent execution. The remio_cli tool exposes every CLI command, so there are no obvious dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.62MIT
- AlicenseCqualityCmaintenanceRead-only MCP server for querying a running Obsidian vault from agentic runtimes, exposing safe Obsidian CLI commands.551MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that wraps the nb CLI for LLM-friendly note-taking, enabling creation, reading, updating, deleting, and searching notes, todos, bookmarks, and folders in notebooks.1Apache 2.0
- AlicenseAqualityAmaintenanceMCP server for managing a local, domain-agnostic knowledge base using Markdown notes with frontmatter. Enables AI agents to capture, read, search, link, and maintain notes with atomic writes and privacy controls.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShakeLv/remio-harness-plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server