Skip to main content
Glama

Import from External Tools

import_external

Import knowledge management exports (Notion, Obsidian, Logseq) into the journal. Normalizes wikilinks, YAML frontmatter, and block hierarchies automatically. Use dry_run: true to preview what would happen without writing.

Instructions

Import knowledge management exports (Notion, Obsidian, Logseq) into the journal. Normalizes wikilinks, YAML frontmatter, and block hierarchies automatically. Use dry_run: true to preview what would happen without writing.

Input Schema

NameRequiredDescriptionDefault
limitNoMax files to process (default: 100, max: 500)
dry_runNoParse and validate without writing to database
source_dirNoDirectory containing files to import. Anti-Hallucination Hint: Do NOT use path or filepath, use source_dir.
workspace_idNoOptional workspace isolation identifier (e.g. "alpha"). Do not use numeric project IDs or "workspace" as the key.
source_formatNoSource format (notion, obsidian, logseq). Anti-Hallucination Hint: Do NOT use source, use source_format.
project_numberNo
default_entry_typeNoFallback entry type if heuristics cannot determine one

Output Schema

NameRequiredDescriptionDefault
codeNoError code (e.g. VALIDATION_ERROR, INTERNAL_ERROR)
errorNoHuman-readable error message
errorsNo
createdNo
detailsNoAdditional error context
dry_runNo
skippedNo
successNo
updatedNo
categoryNoError category (validation, query, connection, internal)
suggestionNoSuggested fix for the error
recoverableNoWhether the error is recoverable
vectorsIndexedNo
aggregated_errorsNoDetails of individual errors in a multi-step operation
relationshipsLinkedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv9.0.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false, so safety is largely covered. The description genuinely adds that wikilinks, YAML frontmatter and block hierarchies are normalized automatically, but it never addresses what happens on re-import (relevant given idempotentHint=false implies possible duplicates) or the 500-file ceiling.

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

Conciseness4/5

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

Three sentences, front-loaded with the verb and accepted formats, then normalization behavior, then the preview escape hatch. Efficient, with only slight duplication of the dry_run description already in the schema.

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

Completeness4/5

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

Output schema covers return values and annotations cover the safety profile, so the description needn't repeat them. What remains missing is conflict/duplicate handling on repeated imports and how workspace_id interacts with the default scope — meaningful for a non-idempotent, open-world import.

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

Parameters3/5

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

Schema description coverage is 86%, so the baseline is 3. The description restates dry_run's preview semantics and names the source formats, but adds no syntax or constraint detail beyond the schema, and the undocumented project_number parameter is not covered either.

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

Purpose4/5

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

States a specific verb (import) and concrete resources (Notion, Obsidian, Logseq exports) landing in the journal, which instantly tells an agent what it produces. It never explicitly contrasts itself with the sibling import_markdown, so the boundary between the two is left to inference.

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

Usage Guidelines3/5

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

The only usage instruction is the embedded 'Use dry_run: true to preview what would happen without writing,' which is a parameter hint rather than tool selection guidance. Nothing says when to prefer this over import_markdown or team_import_external, nor what prerequisites (source directory layout, workspace scoping) matter.

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

Deploy Server

Other Tools