反映MCP服务器
Python MCP(模型上下文协议)服务器,提供与 反映注释API。此服务器使AI助手能够与您的Reflect笔记进行交互,允许您创建笔记、保存链接、附加到每日笔记中,并以编程方式管理您的知识图。
特性
- OAuth2身份验证:通过自动令牌管理实现安全的身份验证流
- 笔记管理:使用Markdown内容创建新笔记
- 每日笔记:在每日笔记中添加文本,并可选择列表定位
- 链接保存:保存带有标题、描述和亮点的web链接
- 图的运算:列出并管理多个知识图
- 用户管理:获取当前用户信息和默认图形设置
安装
uvx快速入门(推荐)
无需克隆存储库!只需配置并运行:
{
"mcpServers": {
"reflect": {
"command": "uvx",
"args": ["reflect-mcp"],
"env": {
"REFLECT_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}要获取您的访问令牌,请执行以下操作:
- 首选 反映开发人员OAuth
- 如果您还没有创建凭据,请创建凭据
- 生成访问令牌
- 复制令牌并将其添加到上面的配置中
手动安装
pip install reflect-mcp或者使用紫外线:
uv pip install reflect-mcp配置
使用访问令牌(推荐)
使用服务器的最简单方法是使用直接访问令牌:
REFLECT_ACCESS_TOKEN=your_access_token_here
REFLECT_DEFAULT_GRAPH_ID=your_default_graph_id # Optional要获取您的访问令牌,请执行以下操作:
- 首选 反映开发人员OAuth
- 如果您还没有创建凭据,请创建凭据
- 生成访问令牌
- 复制令牌并将其添加到您的配置中
使用OAuth2(替代方案)
如果您更喜欢OAuth2身份验证:
REFLECT_CLIENT_ID=your_oauth_client_id
REFLECT_CLIENT_SECRET=your_oauth_client_secret
REFLECT_REDIRECT_URI=http://localhost:8080/callback # Optional
REFLECT_DEFAULT_GRAPH_ID=your_default_graph_id # OptionalClaude桌面配置
将服务器添加到Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %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-mcp",
"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-从配置或用户配置文件中获取默认图形ID
注释和内容
create_note-创建一个带有标题和Markdown内容的新笔记append_daily_note-在每日笔记中添加文本(今天或特定日期)list_books-将所有书籍整理成图表list_links-获取图表中的所有链接create_link-保存带有可选元数据的web链接
用户
get_current_user-获取已验证用户的信息
认证
使用访问令牌(推荐)
如果您已将服务器配置为 REFLECT_ACCESS_TOKEN,您已经通过身份验证,可以立即开始使用所有工具。
使用OAuth2流
如果您使用OAuth2凭据而不是直接访问令牌:
- 启动身份验证过程:
authenticate这将打开您的浏览器,进入Reflect OAuth页面。
- 授权后,您将被重定向到包含授权码的URL。
- 通过提供代码完成身份验证:
set_access_token code="your_authorization_code"- 服务器将自动处理令牌交换和刷新。
使用示例
创建笔记
create_note(
subject="Meeting Notes",
content="## Project Review\n\n- Discussed timeline\n- Set Q2 goals",
pinned=false
)附于每日笔记
# Append to today's daily note
append_daily_note(
text="Remember to review the project proposal"
)
# Append to a specific list in yesterday's note
append_daily_note(
text="Completed user authentication feature",
date="2024-01-18",
list_name="Done"
)保存链接
create_link(
url="https://example.com/article",
title="Interesting Article",
description="Key insights about productivity",
highlights=["Important quote from the article", "Another highlight"]
)列出和管理图形
# Get all accessible graphs
list_graphs()
# Get the default graph ID
get_default_graph()
# List all links in a specific graph
list_links(graph_id="your_graph_id")资源
服务器提供以下MCP资源用于检查状态:
- 获取auth_status (
reflect://auth/status):检查当前身份验证状态 - get_config (
reflect://config):查看当前配置(不包括机密)
鼓励
常见任务的内置工作流提示:
- create_reading_list:用于在Reflect中创建有组织的阅读列表的模板
- 每日新闻工作流程:每日日记的结构化模板
发展
从源头运行
# Clone the repository
git clone https://github.com/yourusername/reflect-mcp
cd reflect-mcp
# Install dependencies
uv sync
# Run in development mode
uv run mcp dev reflect_mcp/server.py测试
# Run with MCP inspector for testing
uv run mcp inspector reflect_mcp/server.py建筑与出版
# Build the package
uv build
# Publish to PyPI (requires credentials)
uv publishapi参考
服务器实现 反映API v0.1.0,具有以下端点:
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:
- 授权URL:
https://reflect.app/oauth - 令牌URL:
https://reflect.app/api/oauth/token - 范围:
- read:graph -读取受保护资源的访问权限 - write:graph -对受保护资源的写访问权限
故障排除
身份验证问题
- 缺少凭据:确保
REFLECT_CLIENT_ID和REFLECT_CLIENT_SECRET已设置 - 重定向无效:检查OAuth应用程序的重定向URI是否与服务器的预期回调匹配
- 令牌刷新:服务器使用以下命令自动处理令牌刷新
authlib图书馆
连接错误
- 验证您的互联网连接
- 检查Reflect API是否可在
https://api.reflect.app - 查看服务器日志以了解详细的错误消息
- 确保您的OAuth应用程序启用了必要的作用域
常见问题
- Claude中出现“服务器断开连接”错误:通常意味着服务器无法启动。检查:
- OAuth凭据设置正确 - 配置中没有语法错误 - 这 reflect_server.py 文件存在(如果从源代码运行)
- “未通过身份验证”错误:运行
authenticate首先设置OAuth的工具
- 图形ID错误:使用
list_graphs查找有效的图形ID,或设置REFLECT_DEFAULT_GRAPH_ID
贡献
欢迎投稿!请随时提交拉取请求。
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
有关问题和功能请求,请使用 .
