DEVONthink MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add devonthink-mcp -- npx -y github:TomBener/devonthink-mcp
README.md

Comprehensive management of DEVONthink records and databases via MCP

Modified based on dvcrn/mcp-server-devonthink

DEVONthink MCP Server

This MCP server provides access to DEVONthink functionality via the Model Context Protocol (MCP). It enables listing, searching, creating, modifying, and managing records and databases in DEVONthink Pro on macOS. Additionally, it includes tools to resolve bibliography metadata for DEVONthink attachments based on exported bibliography data.

screenshot

Features

  • Exposes a comprehensive set of DEVONthink operations as MCP tools
  • List, search, and look up records by various attributes
  • Create, delete, move, and rename records and groups
  • Retrieve and modify record content, properties, and tags
  • Create records from URLs in multiple formats
  • List open databases and group contents
  • Resolve bibliography metadata for DEVONthink attachments via bibliography exports
  • Locate DEVONthink records directly from citation keys or attachment metadata
  • All tools are type-safe and validated with Zod schemas

Tools

Core Tools

  1. is_running

    • Checks if DEVONthink is currently running
    • No input required
    • Returns: { "success": true | false }
  2. create_record

    • Creates new records (notes, bookmarks, groups) with specified properties
    • Input: record type, name, parent group, and optional metadata
  3. delete_record

    • Deletes records by ID, name, or path
    • Input: record identifier
  4. move_record

    • Moves records between groups
    • Input: record ID and destination group
  5. get_record_properties

    • Retrieves detailed metadata and properties for records
    • Input: record identifier
  6. search

    • Performs text-based searches with various comparison options
    • Input: query string and search options
  7. lookup_record

    • Looks up records by filename, path, URL, tags, comment, or content hash (exact matches only)
    • Input: lookup type and value
  8. create_from_url

    • Creates records from web URLs in multiple formats
    • Input: URL and format options
  9. get_open_databases

    • Lists all currently open databases
    • No input required
  10. list_group_content

    • Lists the content of a specific group
    • Input: group identifier
  11. get_record_content

    • Retrieves the content of a specific record
    • Input: record identifier
  12. rename_record

    • Renames a specific record
    • Input: record ID and new name
  13. add_tags

    • Adds tags to a specific record
    • Input: record ID and tags
  14. remove_tags

    • Removes tags from a specific record
    • Input: record ID and tags
  15. classify

    • Gets classification proposals for a record using DEVONthink's AI
    • Input: record UUID, optional database name, comparison type, and tags option
    • Returns: Array of classification proposals (groups or tags) with scores
  16. compare

    • Compares records to find similarities (hybrid approach)
    • Input: primary record UUID, optional second record UUID, database name, and comparison type
    • Returns: Either similar records (single mode) or detailed comparison analysis (two-record mode)
  17. get_bib_metadata

    • Resolves bibliography metadata for a DEVONthink record or Finder path
    • Input: Finder path, record UUID, DEVONthink ID + database, or DEVONthink location path (optional bibliographyJsonPath / bibliographyBibPath override export locations)
    • Returns: The matched bibliography item with top-level citationKey, bibliographyId, attachment list, and a short summary string for LLM prompts
  18. get_records_by_citation_key

    • Resolves a citation key to its attachment metadata and matching DEVONthink records
    • Input: citationKey along with optional overrides for JSON/BibTeX export paths
    • Returns: Bibliography metadata (JSON or BibTeX) plus any DEVONthink records whose Finder paths match the attachment entries

Example: Search Tool

{
  "query": "project plan",
  "comparison": "contains",
  "database": "Inbox"
}

Returns:

{
  "results": [
    { "id": "123", "name": "Project Plan", "path": "/Inbox/Project Plan.md" }
  ]
}

Installation

Claude Code

claude mcp add --scope user devonthink --env BIBLIOGRAPHY_JSON=/path/to/bibliography.json -- npx -y github:TomBener/devonthink-mcp

The --scope user flag installs the MCP server for your user account (available in all projects). You can also use --scope local for the current workspace only.

Codex

codex mcp add devonthink --env BIBLIOGRAPHY_JSON=/path/to/bibliography.json -- npx -y github:TomBener/devonthink-mcp

Configuration

Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "devonthink": {
      "command": "npx",
      "args": ["-y", "github:TomBener/devonthink-mcp"],
      "env": {
        "BIBLIOGRAPHY_JSON": "/path

Tools (18)

is_runningChecks if DEVONthink is currently running
create_recordCreates new records with specified properties
delete_recordDeletes records by ID, name, or path
move_recordMoves records between groups
get_record_propertiesRetrieves detailed metadata and properties for records
searchPerforms text-based searches with various comparison options
lookup_recordLooks up records by filename, path, URL, tags, comment, or content hash
create_from_urlCreates records from web URLs in multiple formats
get_open_databasesLists all currently open databases
list_group_contentLists the content of a specific group
get_record_contentRetrieves the content of a specific record
rename_recordRenames a specific record
add_tagsAdds tags to a specific record
remove_tagsRemoves tags from a specific record
classifyGets classification proposals for a record using DEVONthink's AI
compareCompares records to find similarities
get_bib_metadataResolves bibliography metadata for a DEVONthink record or Finder path
get_records_by_citation_keyResolves a citation key to its attachment metadata and matching DEVONthink records

Environment Variables

BIBLIOGRAPHY_JSONPath to the exported bibliography JSON file for metadata resolution

Configuration

claude_desktop_config.json
{"mcpServers": {"devonthink": {"command": "npx", "args": ["-y", "github:TomBener/devonthink-mcp"], "env": {"BIBLIOGRAPHY_JSON": "/path/to/bibliography.json"}}}}

Try it

Search for all records in my 'Inbox' database containing the phrase 'project plan'.
List the contents of my 'Research' group in DEVONthink.
Find the DEVONthink record associated with the citation key 'smith2023ai'.
Get classification proposals for the record with UUID '12345-67890'.
Add the tag 'urgent' to the record named 'Meeting Notes'.

Frequently Asked Questions

What are the key features of DEVONthink MCP Server?

Comprehensive set of DEVONthink operations including listing, searching, and modifying records. Create records from URLs and manage groups and tags. Resolve bibliography metadata for attachments using Zotero exports. Leverage DEVONthink's built-in AI for record classification and similarity comparison. Type-safe tool execution validated with Zod schemas.

What can I use DEVONthink MCP Server for?

Automating the organization of research papers by linking Zotero citations to DEVONthink files. Quickly searching and retrieving specific notes or documents during a chat session. Programmatically classifying new documents into existing database structures using AI. Managing large document collections by moving and renaming files via natural language commands.

How do I install DEVONthink MCP Server?

Install DEVONthink MCP Server by running: claude mcp add --scope user devonthink --env BIBLIOGRAPHY_JSON=/path/to/bibliography.json -- npx -y github:TomBener/devonthink-mcp

What MCP clients work with DEVONthink MCP Server?

DEVONthink MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep DEVONthink MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare