DEVONthink MCP server for Claude Code.
Devon
DEVONthink MCP server for Claude Code. Zero-config setup — one command and you're done.
33 tools for full DEVONthink integration — search, CRUD, AI, tags, smart groups, email threading, and more. All MIT-licensed, zero external dependencies beyond the MCP SDK.
Quick start
If you have Claude Code, just ask:
"Hey Claude, clone Devon from github.com/mnott/Devon and set it up for me"
Claude will clone the repo, build it, configure ~/.claude.json, and enable the server. Restart Claude Code and all 33 DEVONthink tools are available.
What it provides
With this server running, Claude Code can:
- Search and browse all open DEVONthink databases
- Read document content (PDFs, Markdown, plain text, HTML, rich text)
- Create, update, and delete records
- Move, replicate, duplicate, and convert records across groups
- Add and remove tags, classify documents, manage metadata
- Ask DEVONthink's built-in AI about documents and create summaries
- Cross-reference emails with archived documents
- List and navigate database groups
- List smart groups and smart rules (not accessible via AppleScript)
- Parse EML headers for email thread correlation
- Read and copy column layout configurations
Requirements
- macOS (DEVONthink is macOS-only)
- DEVONthink 3 or 4 installed and running
- Node.js >= 18
- Claude Code
Installation
Option 1: Ask Claude (recommended)
In Claude Code, ask Claude to set it up:
"Clone Devon from github.com/mnott/Devon into ~/dev/ai and configure it"
Claude clones, builds, configures ~/.claude.json, and enables the MCP server.
Option 2: Setup wizard
npx @tekmidian/devon setup
Interactive CLI that checks prerequisites, configures ~/.claude.json, and enables the server.
Option 3: Clone and build
git clone https://github.com/mnott/Devon ~/dev/ai/devon
cd ~/dev/ai/devon
npm install
npm run build
node dist/index.js setup
Manual configuration
If you prefer to configure Claude Code manually, add this to the mcpServers section of ~/.claude.json:
"devonthink": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@tekmidian/devon", "serve"],
"env": {}
}
Or if you have it installed locally:
"devonthink": {
"type": "stdio",
"command": "node",
"args": ["/path/to/devon/dist/index.js", "serve"],
"env": {}
}
Restart Claude Code after editing ~/.claude.json.
Tools
All 33 tools organized by category.
Application
| Tool | Description |
|---|---|
is_running |
Check if DEVONthink is running |
Database
| Tool | Description |
|---|---|
get_open_databases |
List all open databases |
current_database |
Get the frontmost database |
Records
| Tool | Description |
|---|---|
create_record |
Create a new record (markdown, text, HTML, etc.) |
delete_record |
Delete a record by UUID |
get_record_by_identifier |
Get a record by UUID |
get_record_properties |
Get metadata properties of a record |
get_record_content |
Read the content of a record |
update_record_content |
Update a record's content |
set_record_properties |
Set metadata properties on a record |
rename_record |
Rename a record |
move_record |
Move a record to a different group or database |
replicate_record |
Create a replicant of a record in another group |
duplicate_record |
Create an independent copy of a record |
convert_record |
Convert a record to a different type |
Groups
| Tool | Description |
|---|---|
list_group_content |
List contents of a group |
selected_records |
Get currently selected records in DEVONthink |
Search
| Tool | Description |
|---|---|
search |
Search across databases with DEVONthink query syntax |
lookup_record |
Look up a record by name or path |
Tags
| Tool | Description |
|---|---|
add_tags |
Add tags to a record |
remove_tags |
Remove tags from a record |
Web
| Tool | Description |
|---|---|
create_from_url |
Create a record from a URL (markdown, PDF, web archive, formatted note) |
Intelligence
| Tool | Description |
|---|---|
classify |
Classify a record using DEVONthink's AI classification |
compare |
Compare two records for similarity |
AI
| Tool | Description |
|---|---|
ask_ai_about_documents |
Ask DEVONthink's built-in AI a question about documents |
check_ai_health |
Check if DEVONthink's AI features are available |
create_summary_document |
Create an AI-generated summary of documents |
get_ai_tool_documentation |
Get documentation for DEVONthink's AI capabilities |
Custom extensions
These five tools extend the core DEVONthink scripting API with functionality not available through AppleScript.
| Tool | Description |
|---|
Tools (28)
is_runningCheck if DEVONthink is runningget_open_databasesList all open databasescurrent_databaseGet the frontmost databasecreate_recordCreate a new record (markdown, text, HTML, etc.)delete_recordDelete a record by UUIDget_record_by_identifierGet a record by UUIDget_record_propertiesGet metadata properties of a recordget_record_contentRead the content of a recordupdate_record_contentUpdate a record's contentset_record_propertiesSet metadata properties on a recordrename_recordRename a recordmove_recordMove a record to a different group or databasereplicate_recordCreate a replicant of a record in another groupduplicate_recordCreate an independent copy of a recordconvert_recordConvert a record to a different typelist_group_contentList contents of a groupselected_recordsGet currently selected records in DEVONthinksearchSearch across databases with DEVONthink query syntaxlookup_recordLook up a record by name or pathadd_tagsAdd tags to a recordremove_tagsRemove tags from a recordcreate_from_urlCreate a record from a URL (markdown, PDF, web archive, formatted note)classifyClassify a record using DEVONthink's AI classificationcompareCompare two records for similarityask_ai_about_documentsAsk DEVONthink's built-in AI a question about documentscheck_ai_healthCheck if DEVONthink's AI features are availablecreate_summary_documentCreate an AI-generated summary of documentsget_ai_tool_documentationGet documentation for DEVONthink's AI capabilitiesConfiguration
{"devonthink": {"type": "stdio", "command": "npx", "args": ["-y", "@tekmidian/devon", "serve"], "env": {}}}