这是一个使用Python编写的MCP(模型上下文协议)服务器,它提供了与Reflect Notes API的无缝集成。该服务器使AI助手能够与您的Reflect笔记进行交互,允许您创建笔记、保存链接、追加到日常笔记,并通过编程方式管理知识图谱。
无需克隆仓库!只需配置并运行:
{
"mcpServers": {
"reflect": {
"command": "uvx",
"args": ["reflect-mcp"],
"env": {
"REFLECT_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
获取访问令牌的方法:
pip install reflect-mcp
或者使用uv:
uv pip install reflect-mcp
最简单的使用服务器的方式是直接使用访问令牌:
REFLECT_ACCESS_TOKEN=your_access_token_here
REFLECT_DEFAULT_GRAPH_ID=your_default_graph_id # 可选
获取访问令牌的方法:
如果您更喜欢OAuth2身份验证:
REFLECT_CLIENT_ID=your_oauth_client_id
REFLECT_CLIENT_SECRET=your_oauth_client_secret
REFLECT_REDIRECT_URI=http://localhost:8080/callback # 可选
REFLECT_DEFAULT_GRAPH_ID=your_default_graph_id # 可选
在您的Claude Desktop配置文件中添加服务器:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
使用已发布的包和访问令牌:
{
"mcpServers": {
"reflect": {
"command": "uvx",
"args": ["reflect-mcp"],
"env": {
"REFLECT_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
如果从源代码运行:
{
"mcpServers": {
"reflect": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/reflect-m_",
"run",
"reflect_server.py"
],
"env": {
"REFLECT_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
替代OAuth2配置(如果不使用访问令牌):
{
"mcpServers": {
"reflect": {
"command": "uvx",
"args": ["reflect-mcp"],
"env": {
"REFLECT_CLIENT_ID": "your_client_id",
"REFLECT_CLIENT_SECRET": "your_client_secret"
}
}
}
}
authenticate - 启动OAuth2身份验证流程(打开浏览器)set_access_token - 使用授权码完成OAuth2流程set_token_directly - 手动设置访问令牌(如果您已经有一个)list_graphs - 获取所有可访问图谱的ID、名称和时间戳get_default_graph - 从配置或用户资料中获取默认图谱IDcreate_note - 创建带有标题和Markdown内容的新笔记append_daily_note - 追加文本到日常笔记(今天或特定日期)list_books - 获取图谱中的所有书籍list_links - 获取图谱中的所有链接create_link - 保存带有可选元数据的网页链接get_current_user - 获取有关已认证用户的详细信息如果您已使用REFLECT_ACCESS_TOKEN配置了服务器,则您已经进行了身份验证,可以立即开始使用所有工具。
如果您使用的是OAuth2凭证而不是直接访问令牌:
开始身份验证过程:
authenticate
这将在您的浏览器中打开Reflect OAuth页面。
授权后,您将被重定向到一个包含授权码的URL。
提供代码以完成身份验证:
set_access_token code="your_authorization_code"
服务器将自动处理令牌交换和刷新。
create_note(
subject="会议记录",
content="## 项目审查\n\n- 讨论时间线\n- 设定Q2目标",
pinned=False
)
# 追加到今天的日常笔记
append_daily_note(
text="记得查看项目提案"
)
# 追加到昨天笔记中的特定列表
append_daily_note(
text="完成用户身份验证功能",
date="2024-01-18",
list_name="已完成"
)
create_link(
url="https://example.com/article",
title="有趣的文章",
description="关于生产力的关键见解",
highlights=["文章中的重要引用", "另一个亮点"]
)
# 获取所有可访问图谱
list_graphs()
# 获取默认图谱ID
get_default_graph()
# 列出特定图谱中的所有链接
list_links(graph_id="your_graph_id")
服务器提供以下MCP资源用于检查状态:
reflect://auth/status):检查当前身份验证状态reflect://config):查看当前配置(不包括秘密)内置的工作流提示用于常见任务:
# 克隆仓库
git clone https://github.com/yourusername/reflect-mcp
cd reflect-mcp
# 安装依赖项
uv sync
# 在开发模式下运行
uv run mcp dev reflect_mcp/server.py
# 使用MCP检查器进行测试
uv run mcp inspector reflect_mcp/server.py
# 构建包
uv build
# 发布到PyPI(需要凭据)
uv publish
服务器实现了版本v0.1.0的Reflect API,具有以下端点:
GET /graphs - 列出所有图谱GET /graphs/{id}/books - 列出图谱中的书籍GET /graphs/{id}/links - 列出图谱中的链接POST /graphs/{id}/links - 创建新链接POST /graphs/{id}/notes - 创建新笔记PUT /graphs/{id}/daily-notes - 追加到日常笔记GET /users/me - 获取当前用户信息Reflect API使用OAuth2,具有以下流程:
https://reflect.app/oauthhttps://reflect.app/api/oauth/tokenread:graph - 对受保护资源的读取访问write:graph - 对受保护资源的写入访问REFLECT_CLIENT_ID和REFLECT_CLIENT_SECRETauthlib库自动处理令牌刷新https://api.reflect.app访问Reflect API“服务器断开”错误在Claude中:通常意味着服务器无法启动。检查:
reflect_server.py文件是否存在“未认证”错误:首先运行authenticate工具以设置OAuth
图谱ID错误:使用list_graphs找到有效的图谱ID,或设置REFLECT_DEFAULT_GRAPH_ID
欢迎贡献!请随时提交Pull Request。
MIT许可证 - 详情请参阅LICENSE文件
对于问题和功能请求,请使用GitHub问题跟踪器。