MCP server that provides access to DEVONthink
This is a moderately equipped DEVONthink MCP server with 28 tools. The server shows uneven quality across tools: some (add_tags, classify, compare, ask_ai_about_documents, create_summary_document) have detailed schemas and descriptions; many others (is_running, create_record, delete_record, move_record, etc.) lack visible schema definitions in the provided source. The naming is consistently verb-based and clear (create_, get_, delete_, search_), which is good. However, critical infrastructure tools lack documented input schemas, only 4-6 tools show complete schema visibility in the source code provided. Many tool files are referenced but their actual schema/parameter definitions are not shown, forcing schema scores to 0 per the rubric. Descriptions vary: some tools have rich, context-aware descriptions (100+ chars); others are minimal or inferred from names alone. Error handling is not visible in the source snippets provided. The server does support prompts and resources (optional features), which is good for MCP richness, but does not show logging, sampling, elicitation, or tool annotations.
Adds tags to a DEVONthink record. Example: { "uuid": "1234-5678-90AB-CDEF", "tags": ["important", "work"] }
Ask AI questions about specific DEVONthink documents for analysis, comparison, or extraction.
Check if DEVONthink's AI services are available and working properly.
Get classification proposals for a DEVONthink record. Example: { "recordUuid": "1234-5678-90AB-CDEF" }
Compare DEVONthink records for similarities. Example 1: Find similar records { "recordUuid": "1234-5678-90AB-CDEF" } Example 2: Compare two specific records { "recordUuid": "1234-5678-90AB-CDEF", "compareWithUuid": "FEDC-BA09-8765-4321" }
21 of 28 tools lack visible input schemas in source code. This includes critical CRUD tools: create_record, delete_record, move_record, rename_record, convert_record, update_record_content, and many read tools.
Most tools (21/28) lack any visible description in source code. Even if tool descriptions exist in the actual implementation, they are not shown in the source provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 17 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Create an AI-generated summary document from multiple DEVONthink documents.
Get detailed documentation for DEVONthink AI tools including examples and use cases.
Destructive tools (delete_record, remove_tags, convert_record) lack visible error handling, confirmation patterns, or dry-run support in provided source. No evidence of recovery guidance or categorization of errors (retryable vs fatal).
Tool composition: 'search' is generic and does not clearly distinguish itself from 'lookup_record', 'get_record_by_identifier', or other discovery tools. LLMs may struggle to choose the right tool when many similar ones exist.
Parameter naming inconsistency: 'add_tags' accepts 'uuid' but other tools use 'recordUuid' (e.g., classify, compare, ask_ai_about_documents). Inconsistent parameter names force LLMs to reason about field mappings, increasing errors.
No visible output schema documentation for any tool. LLMs need to know what fields to expect in responses for downstream chaining. This forces LLMs to guess at response structure.
AI tools reference 'databaseName' parameter but it's described as optional with no enum constraints. Unclear whether DEVONthink requires a specific format or list of valid database names.
'list_group_content' lacks clarity on pagination support. No visible limit/offset parameters or description of how many results are returned. Large group contents may exceed context windows.