Evernote MCP命令行界面
一个由OpenAI Agents SDK支持的智能终端聊天机器人,连接到Docker托管的Evernote MCP服务器,使用自然语言搜索、查询和交互您的Evernotes。
特性
- 🤖 AI驱动的代理:使用OpenAI代理SDK智能解释自然语言查询
- 🔌 MCP集成:通过Docker stdio连接到Evernote MCP服务器,实现可靠通信
- 🗒️ Evernote工具:完全访问
createSearch,getSearch,getNote,以及getNoteContentMCP工具 - 💬 会话界面:自然语言交互与语境对话记忆
- 📝 会话管理:维护会话之间的对话历史记录
- 🎨 丰富的格式:支持markdown的漂亮终端输出
- 🔧 可扩展架构:易于添加用于摘要、分析等的其他代理
安装
先决条件
- Python 3.12+:确保安装了Python 3.12或更高版本
- 诗歌:安装 诗歌 用于依赖关系管理
- 码头工人:确保Docker已安装并正在运行
- Evernote MCP服务器:有 Evernote MCP服务器 在Docker容器中运行
- OpenAI API密钥:您需要AI代理的OpenAI API密钥
设置
# Clone the repository
git clone https://github.com/BittnerPierre/mcp-evernote-cli.git
cd mcp-evernote-cli
# Install dependencies
poetry install
# Set up your API keys (secrets)
cp .env.example .env
# Edit .env and add your API key (OPENAI_API_KEY or ANTHROPIC_API_KEY)
# Optional: Set up custom configuration
cp config.example.yaml config.yaml
# Edit config.yaml to choose your LLM provider and model设置Evernote MCP服务器
请遵循以下说明 evernote mcp服务器 在Docker中设置Evernote MCP服务器。
运行后,记下你的Docker容器名称(默认值: evernote-mcp-server-evernote-mcp-server-1)
用法
交互式聊天
# Start the AI-powered chatbot
poetry run evernote-chat查询示例
AI代理能够理解自然语言查询,例如:
- “查找我关于机器学习的所有笔记”
- “显示我上个月创建的关于项目规划的笔记”
- “我写了什么关于LLMs的文章?”
- “搜索标记为“季度回顾”的笔记并对其进行总结”
命令行选项
poetry run evernote-chat --help可用选项:
--container-name:Evernote MCP服务器的Docker容器名称--max-notes:每次查询检索的最大注释数--no-history:禁用对话历史记录持久化
配置
聊天机器人使用两层配置系统:
1.API密钥(.env文件)
将您的秘密存储在 .env 文件:
OPENAI_API_KEY-如果使用OpenAI提供程序,则需要ANTHROPIC_API_KEY-如果使用Anthropic/Claude提供者,则需要
2.应用程序设置(config.yaml或环境变量)
配置LLM提供程序、模型和其他设置:
通过config.yaml (推荐):
llm:
provider: openai # or "anthropic"
model: gpt-4 # optional, uses provider default if not set通过环境变量:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
LLM_PROVIDER | 要使用的LLM提供者(openai 或 anthropic) | openai |
LLM_MODEL | 要使用的特定模型(可选) | 提供程序默认值 |
CONTAINER_NAME | Evernote MCP服务器的Docker容器名称 | evernote-mcp-server-evernote-mcp-server-1 |
ALLOWED_NOTEBOOKS | 逗号分隔的允许笔记本列表 | 所有笔记本 |
MAX_NOTES_PER_QUERY | 每次查询可检索的最大注释数 | 20 |
PREFER_HTML | 是否更喜欢HTML内容而不是文本 | false |
SAVE_HISTORY | 启用对话历史记录持久化 | true |
HISTORY_FILE | 对话历史文件的路径 | .evernote_chat_history.json |
建筑
聊天机器人使用现代AI代理架构:
User Query → AI Agent (OpenAI Agents SDK) → MCP Client → Docker MCP Server → Evernote API
↓
Intelligent Query Planning
Tool Selection & Execution
Natural Language ResponseAI代理:
- 解释您的自然语言查询
- Evernote MCP工具使用计划
- 执行搜索并检索笔记
- 以对话的方式格式化和呈现结果
发展
运行测试
# Run all tests
poetry run pytest tests/ -v
# Run with coverage
poetry run pytest tests/ --cov=src --cov-report=html代码质量
# Format code
poetry run ruff format .
# Lint code
poetry run ruff check .通过其他代理进行扩展
该架构支持添加以下专用代理:
- 摘要:自动摘要
- 分析:内容分析和见解
- 组织:智能标记和分类
- 出口:自定义导出格式和报告
看 src/evernote_chatbot/agents.py 了解实施细节。
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据GNU通用公共许可证v3.0获得许可-请参阅 许可证 文件以获取详细信息。
致谢
- 内置 OpenAI代理SDK
- 用途 模型上下文协议(MCP)
- 与集成 Evernote MCP服务器
相关项目
- AI代理案例集 -代理工作流示例和模式的集合
