jrnl MCP Server
A Model Context Protocol (MCP) server that provides read-only access to jrnl (command-line journal) entries.
Prerequisites
- Node.js 18 or higher
- jrnl installed and configured (
pip install jrnl
)
Installation
npm install
npm run build
npm link # Install globally as jrnl-mcp command
Claude Desktop Configuration
Add the following to your Claude Desktop configuration file:
macOS
Location: ~/Library/Application Support/Claude/claude_desktop_config.json
Configuration
{
"mcpServers": {
"jrnl": {
"command": "jrnl-mcp"
}
}
}
Note: If you installed via npm link
, the command will be globally available.For local development without global installation, use:
{
"mcpServers": {
"jrnl": {
"command": "node",
"args": ["<path-to-project>/dist/index.js"]
}
}
}
Available Tools
- search_entries - Search journal entries with filters
- list_tags - List all tags with usage counts
- get_statistics - Get journal statistics
- analyze_tag_cooccurrence - Analyze tag co-occurrences
- list_journals - List available journals
- set_journal - Switch to a different journal
Development
npm run format # Format code
npm run lint # Run linter
npm test # Run tests
npm run build # Build for production
Testing with Claude Desktop
- Build the project:
npm run build
- Update your Claude Desktop config with the correct path
- Restart Claude Desktop
- Test by asking Claude to search your journal entries
Example prompts:
- "Use jrnl to show me my journal entries from last week"
- "Using jrnl, what tags am I using in my journal?"
- "Can you use jrnl to show me statistics about my journal?"
- "Search my journal entries for entries tagged with @work using jrnl"