Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
is_runningA

Check if the DEVONthink application is currently running.

create_recordA

Create a new record in DEVONthink. Specify name and type (e.g. 'markdown', 'txt', 'rtf', 'html', 'bookmark', 'group'). Optionally provide content, url, a parent group UUID, and database name. Returns the full properties of the newly created record.

delete_recordA

Delete a record from DEVONthink. This operation is permanent — the record is moved to Trash or permanently deleted. Provide uuid (preferred), recordId + databaseName, or recordPath + databaseName. Returns the uuid and name of the deleted record for confirmation.

move_recordA

Move a record to a different group in DEVONthink. Resolve the source record by uuid (preferred), recordId + databaseName, recordName + databaseName, or recordPath + databaseName. Provide destinationGroupUuid to specify where to move the record. Returns the updated record properties after the move.

get_record_propertiesA

Get detailed properties and metadata for a DEVONthink record. Returns uuid, name, type, path, location, database, size, dates, tags, comment, url, kind, mimeType, flagged, locking, wordCount, and more. Provide uuid (preferred), recordId + databaseName, or recordPath + databaseName.

get_record_by_identifierA

Get a DEVONthink record using its UUID or ID. UUID lookup works across all open databases. Numeric ID lookup requires databaseName to be specified.

searchB

Search DEVONthink records. Examples: {"query": "invoice"} or {"query": "project review", "groupPath": "/Meetings", "databaseName": "MyDB"}. Note: groupPath requires databaseName and must be database-relative (e.g., "/Meetings" not "/MyDB/Meetings").

lookup_recordB

Look up records in DEVONthink by a specific attribute.

create_from_urlC

Create a record in DEVONthink from a web URL.

get_open_databasesA

Get a list of all currently open databases in DEVONthink.

current_databaseB

Get information about the currently selected database in DEVONthink.

selected_recordsB

Get information about currently selected records in DEVONthink.

list_group_contentA

Lists the content of a specific group in DEVONthink. Supply a group UUID to list any group directly, or omit uuid to list the root of the current (or named) database.

get_record_contentA

Gets the content of a specific record in DEVONthink. Returns plain text for text-based records, or HTML source for web/HTML records. Binary records (PDF, images) return null for content. UUID is required; databaseName is optional.

rename_recordA

Renames a specific record in DEVONthink. UUID is required. Provide the new name as newName. Returns renamed: true with uuid, oldName, and newName for confirmation.

add_tagsC

Adds tags to a DEVONthink record.

remove_tagsC

Removes tags from a specific record in DEVONthink.

classifyB

Get classification proposals for a DEVONthink record.

compareC

Compare DEVONthink records for similarities.

replicate_recordA

Replicate a record within the same database to a destination group. Replicants share the same underlying data — editing one affects all replicants. Destination group UUID is required. Resolve the source record by uuid (preferred), recordId + databaseName, or recordPath + databaseName. Returns the properties of the new replicant.

duplicate_recordA

Duplicate a record to any destination group, creating an independent copy. Unlike replicants, duplicates are completely separate records — editing one does not affect the other. The duplicate can be placed in a different database from the original. Destination group UUID is required. Returns the properties of the newly created duplicate.

convert_recordA

Convert a record to a different format, creating a new record. The original record is not modified. Supported formats: bookmark, simple, rich, note, markdown, HTML, webarchive, 'PDF document', 'single page PDF document', 'PDF without annotations', 'PDF with annotations burnt in'. Optionally place the converted record in a specific destination group. Returns the properties of the newly created converted record.

update_record_contentA

Updates the content of an existing record in DEVONthink. For text records, sets plain text. For HTML/Markdown records, sets the source. UUID is required. Returns updated: true with uuid and name on success.

set_record_propertiesA

Set properties on a DEVONthink record. Settable properties: comment, flag (flagged), locked (locking), excludeFromChat, excludeFromClassification, excludeFromSearch, excludeFromSeeAlso, excludeFromTagging, excludeFromWikiLinking. Resolve record by uuid (preferred), recordId + databaseName, or recordPath + databaseName. Only provided properties are updated; others remain unchanged.

ask_ai_about_documentsB

Ask AI questions about specific DEVONthink documents for analysis, comparison, or extraction.

check_ai_healthA

Check if DEVONthink's AI services are available and working properly.

create_summary_documentB

Create an AI-generated summary document from multiple DEVONthink documents.

get_ai_tool_documentationA

Get detailed documentation for DEVONthink AI tools including examples and use cases. Optionally specify a toolName to get docs for a single tool; omit to get docs for all four.

list_smart_groupsA

List all DEVONthink smart groups by parsing SmartGroups.plist. Returns name, UUID (from sync.UUID), sync date, and UseUUIDKey flag for each smart group. Smart groups are NOT accessible via the standard AppleScript API — this is the only way to enumerate them. Use the returned uuid with the search tool (groupUuid parameter) to query the contents of a smart group.

list_smart_rulesA

List all DEVONthink smart rules by parsing SmartRules.plist. Returns name, UUID (from sync.UUID), enabled state, indexOffset, lastExecution timestamp, and sync date for each rule. Smart rules are NOT accessible via the standard AppleScript API — this is the only way to enumerate them.

parse_eml_headersA

Extract MIME headers from an .eml file for email thread correlation. Returns message_id, in_reply_to, references (array), subject, from, to, cc, and date. Handles CRLF/LF line endings, folded headers, and RFC 2047 encoded words in Subject/From/To. Input: { "filePath": "/path/to/email.eml" }

get_column_layoutA

Read the column layout for a DEVONthink smart group or smart rule from preferences. Returns the ordered visible columns, all table view columns, and column widths. Looks up by name (or UUID). Supports partial name matching. Input: { "name": "Archivieren - Jobs" } or { "name": "Jobs", "uuid": "4A469368-..." }

copy_column_layoutA

Copy the column layout (column order, visible columns, and column widths) from one DEVONthink smart group or smart rule to another. All three layout keys are copied atomically. Supports partial name matching. Input: { "sourceName": "Archivieren - Jobs", "targetName": "Jobs - To Review" }

Prompts

Interactive templates invoked by user choice

NameDescription
devonthink-instructionsUsage guide for the DEVONthink MCP server: workflows, tool routing, search syntax, and behavioral defaults.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/mnott/Devon'

If you have feedback or need assistance with the MCP directory API, please join our Discord server