moisescabello/moi-reflect-mcp
If you are the rightful owner of moi-reflect-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Reflect MCP Server is an unofficial server that allows interaction with Reflect from Claude Desktop using the Model Context Protocol.
Reflect MCP Server
An unofficial MCP (Model Context Protocol) server to interact with Reflect from Claude Desktop.
Note: This is an independent project and is not affiliated with or endorsed by Reflect.
🚀 Features
- ✅ Add content to daily notes (today, tomorrow, or any date)
- 📝 Create new notes
- 🔗 Save links
- 🔔 Schedule reminders for future dates
- 📋 Organize content in specific lists
📦 Version
- Current release:
0.5.0
— seeCHANGELOG.md
for details.
📋 Prerequisites
- Reflect account with API access
- Node.js version 18 or higher
- Claude Desktop installed
🛠️ Installation
1. Clone or download this project
# If you have git
git clone https://github.com/moisescabello/moi-reflect-mcp
cd moi-reflect-mcp
# Or simply copy the files to a folder
2. Install dependencies
npm install
3. Configure credentials
Get your Reflect token:
- Go to https://reflect.app/developer/oauth
- Create new OAuth credentials
- Generate an Access Token (it's like an API key)
Get your Graph ID:
After creating your token, run this helper script included in the project:
npm run setup
This will show you all your graphs and their IDs. Copy the ID of the graph you want to use.
Alternatively, you can use curl:
curl 'https://reflect.app/api/graphs' \
-H 'Authorization: Bearer YOUR_TOKEN_HERE'
Create .env file:
cp .env.example .env
Edit .env
and add your credentials:
REFLECT_TOKEN=your_actual_token_here
GRAPH_ID=your_actual_graph_id_here
# Optional: override the timezone used for daily note helpers (IANA format)
# REFLECT_TIMEZONE=Europe/Madrid
4. Configure Claude Desktop
Find the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/claude/claude_desktop_config.json
Add this configuration (adjust the path):
{
"mcpServers": {
"reflect": {
"command": "node",
"args": ["/full/path/to/reflect-mcp/server.js"],
"env": {
"REFLECT_TOKEN": "your_token_here",
"GRAPH_ID": "your_graph_id_here"
}
}
}
}
Note: You can put credentials directly in claude_desktop_config.json
(as above) or let them be read from the .env
file (don't put the env
in the JSON).
5. Restart Claude Desktop
Completely close Claude Desktop and reopen it.
🎯 Usage
Once configured, you can use commands like these in Claude:
Usage examples:
"Add to my today's note: Review the sales report"
"Create a reminder for Friday: Team meeting at 10am"
"Save this link: https://example.com with the title 'Interesting article'"
"Create a new note called 'Project ideas' with the content..."
"Show me all my saved links"
"Add to tomorrow's note in the [[Tasks]] list: Prepare presentation"
🛠️ Available tools
Tool | Description |
---|---|
add_to_daily_note | Add to any daily note |
add_to_today | Quick add to today's note |
add_to_tomorrow | Add to tomorrow's note |
create_note | Create a new note |
save_link | Save a link |
get_links | View all links |
get_books | View all books |
schedule_reminder | Schedule reminder |
🐛 Troubleshooting
Server won't connect
- Verify that paths in
claude_desktop_config.json
are absolute - Check that Node.js is installed:
node --version
- Review Claude Desktop logs
Authentication error
- Verify that your token is valid
- Ensure the Graph ID is correct
- Check for extra spaces in .env
Tools don't appear in Claude
- Completely restart Claude Desktop
- Verify the server is in the configuration
- Check for syntax errors in the JSON
📝 Important Limitations
Due to end-to-end encryption in Reflect:
- Cannot read existing note content
- Cannot modify existing content
- Can only:
- Create new notes
- Append content to daily notes
- Add links and reminders
- Backlinks are created with
[[Name]]
- Dates must be in
YYYY-MM-DD
format - Daily-note tools use your system timezone (or
REFLECT_TIMEZONE
when set). Configure the variable if the server runs in another region.
📄 License
MIT
🙋♀️ Support
If you encounter issues:
- Review the Reflect documentation: https://reflect.academy/api
- Open an issue in this repository
- Contact Reflect support for API issues
👨💻 Author
Created by - contacto@moisescabello.com