BeeMCP-Bee MCP服务器
](https://badge.fury.io/py/beemcp) 
非官方 模型上下文协议(MCP)服务器,用于与您的 蜜蜂可穿戴 生命记录数据。更多上下文 在我的博客上.
该服务器充当桥梁,允许像Claude这样的大型语言模型(LLM)或自定义AI代理访问存储在Bee中的个人数据并与之交互,包括对话、事实、待办事项和位置历史。
免责声明: 这是一个非官方项目,与Bee无关。使用它的风险由你自己承担。确保您了解通过API密钥授予AI访问您个人数据的安全影响。
核心概念
Bee.computer可以帮助你捕捉生活中的瞬间(对话、参观的地方、笔记)。 beemcp 通过模型上下文协议将此数据提供给您的AI助手。这意味着你可以问你的AI问题,比如:
- “我上周讨论了什么重要的事情?”
- “提醒我布拉德的饮食偏好。”
- “上周二下午我在哪里?”
- “将‘预订机票’添加到我的提醒中。”
AI,使用 beemcp,可以从您的Bee.comcomputer帐户安全地获取或修改此信息。
先决条件
- python 版本3.10或更高版本。
- Bee.computer API密钥: 你需要一个 您的Bee帐户设置中的API密钥.
安装
您可以安装并运行 beemcp 使用 uv (推荐)或 pip.
使用紫外线(推荐)
紫外线 是一个快速的Python包安装程序和解析器。如果你有 uv 已安装,无需安装 beemcp 单独。您可以使用直接运行它 uvx:
# Example of running directly (requires API key configured, see below)
uvx beemcp使用PIP
或者,您可以安装 beemcp 使用 pip:
pip install beemcp安装后,您可以将其作为Python模块运行:
python -m beemcp.beemcp或者,如果在安装过程中将入口点正确添加到系统的PATH中,则可以直接运行它:
beemcp配置
1.API密钥设置(必需)
beemcp 需要您的Bee API密钥才能正常工作。 切勿公开共享此密钥或将其提交给版本控制。
从获取API密钥 Bee开发者网站在这里.
如果在Claude或其他MCP客户端中运行,您可能会提供 BEE_API_TOKEN 客户端配置中的环境变量。
如果直接从命令行运行,请提供密钥正在使用 .env 运行文件的目录中的文件 beemcp 服务器:
- 创建一个名为的文件
.env在您要运行的同一目录中beemcp从。
- 将以下行添加到
.env文件,替换your_actual_bee_api_key_here使用您的真实密钥:
BEE_API_TOKEN="your_actual_bee_api_key_here"或者,您可以设置 BEE_API_TOKEN 直接在系统或shell中的环境变量:
export BEE_API_TOKEN="your_actual_bee_api_key_here"
# Now run the server in the same shell session
uvx beemcp如果发生以下情况,服务器将退出并出错 BEE_API_TOKEN 未找到。
2.连接到LLM客户端
您需要告诉您的LLM客户(如Claude.app或Zed)如何启动并与 beemcp 服务器。
为Claude.app进行配置
将以下内容添加到您的Claude设置中(settings.json):
使用uvx(推荐):
"mcpServers": {
"beemcp": {
"command": "uvx",
"args": ["beemcp"],
"env": {"BEE_API_TOKEN": ""}
}
}Using pip installation
"mcpServers": {
"bee": {
"command": "python",
"args": ["-m", "beemcp.beemcp"],
"env": {"BEE_API_TOKEN": ""}
}
}如果你去 Settings 在Claude Desktop中打开窗口并打开 Developer 选项卡中,您应该看到如下内容:

为Zed配置
将以下内容添加到您的Zed中 settings.json:
Using uvx (Recommended)
"context_servers": [
{
"name": "beemcp",
"command": "uvx",
"args": ["beemcp"],
"env": {"BEE_API_TOKEN": ""}
}
],Using pip installation
"context_servers": [
{
"name": "beemcp",
"command": "python",
"args": ["-m", "beemcp.beemcp"],
"env": {"BEE_API_TOKEN": ""}
}
],可用工具
这些是LLM可以请求的操作 beemcp.
交谈
list-all-conversations
- 说明: 列出用户进行的所有对话,包括简短摘要。使用此功能可获取用户对话历史的概述以了解上下文。然后,您可以使用获取对话工具来获取特定对话的完整细节。
get-conversation
- 说明: 通过会话ID获取会话的完整详细信息。当用户询问特定会话时,使用此功能检索特定会话的详细信息。您可以使用列表所有对话工具来获取要查找的对话的id。 - 论据: - id (整数):对话的ID。
事实
list-all-user-facts
- 说明: 列出用户记录的所有事实。使用此功能可获取用户记录的事实的概述,以供参考。然后,您可以使用获取用户事实工具来获取特定事实的完整细节。
get-user-fact
- 说明: 通过ID获取事实的完整详细信息。当用户询问特定事实时,使用此功能检索特定事实的详细信息。您可以使用列表所有用户事实工具来获取要查找的事实的id。 - 论据: - id (整数):事实的ID。
record-user-fact
- 说明: 创造一个新的事实。使用此功能记录有关用户、他们的偏好以及可能与回答其他问题相关的其他详细信息的新信息。 - 论据: - text (string):事实的内容。
update-user-fact
- 说明: 更新现有事实。使用此功能更新有关用户、他们的偏好以及可能与回答其他问题相关的其他详细信息。如果用户明确确认了事实,则将confirmed设置为true,否则如果它只是从上下文中收集的隐含事实,则设置confirmed为false。 - 论据: - id (整数):要更新的事实的ID。 - text (string):事实的新内容。 - confirmed (boolean):用户是否确认了这一事实。
confirm-user-fact
- 说明: 将一个事实标记为已证实。使用此功能可根据用户反馈更新事实的确认状态。如果用户明确确认了事实,则将confirmed设置为true,否则如果它只是从上下文中收集的隐含事实,则设置confirmed为false。 - 论据: - id (整数):要确认/取消确认的事实的ID。 - confirmed (boolean):新的确认状态。
delete-user-fact
- 说明: 删除现有事实。使用此功能可以忘记有关用户、他们的偏好和其他详细信息。只有当用户明确地说要时才调用它。 - 论据: - id (整数):要删除的事实的ID。
所有(提醒)
list-all-todos
- 说明: 列出用户创建的所有待办事项(提醒)。使用此功能可以全面查看用户的所有任务,包括已完成和待处理的任务。
list-incomplete-todos
- 说明: 列出用户仍需完成的所有未完成的待办事项(提醒)。主动使用此功能可查看仍需要完成的未决任务。
create-todo
- 说明: 为用户创建一个新的待办事项。集 alarm_at 如果待办事项有特定的截止日期或提醒时间,则转换为ISO 8601格式的日期时间字符串。 - 论据: - text (字符串):一切的内容。 - alarm_at (字符串,可选):ISO 8601日期时间字符串(例如,“2024-12-31T23:59:00Z”)。
update-todo
- 说明: 更新现有待办事项。您可以修改文本、完成状态或闹钟时间。只包含要更改的参数。 - 论据: - id (整数):要更新的待办事项的ID。 - text (string,可选):todo的新文本。 - completed (布尔值,可选):新的完成状态。 - alarm_at (字符串,可选):新的ISO 8601报警时间。
delete-todo
- 说明: 删除现有待办事项。仅当用户明确表示要删除todo时才调用此函数。 - 论据: - id (整数):要删除的待办事项的ID。
mark-todo-completed
- 说明: 将待办事项标记为已完成。当用户明确表示他们已经完成了一项任务时,调用此函数。 - 论据: - id (整数):标记为完成的待办事项的ID。
位置
其中一些便利功能是多余的,但添加这些功能是为了使当前大型语言模型的使用更加实用
list-all-locations
- 说明: 列出用户记录的所有位置。使用此功能可以全面查看所有用户的位置历史记录。
get-locations-today
- 说明: 获取用户在过去24小时内访问过的位置。当用户询问他们今天或最后一天在哪里时,请使用此功能。
get-locations-week
- 说明: 获取用户在过去7天内访问过的位置。当用户询问他们本周或过去几天在哪里时,请使用此功能。
get-locations-month
- 说明: 获取用户在过去30天内访问过的位置。当用户询问他们本月或过去几周在哪里时,请使用此功能。
get-locations-by-time
- 说明: 获取特定时间范围内的位置。当用户询问他们在特定时期的位置时,请使用此功能。 start_time 和 end_time 应该是ISO 8601格式的日期时间字符串,格式为:2025-12-31T00:00:00Z - 论据: - start_time (字符串,可选):ISO 8601格式的开始时间。 - end_time (字符串,可选):ISO 8601格式的结束时间。
可用资源
MCP资源提供对数据的直接访问,通常用于LLM客户端的上下文或缓存。许多LLm客户端不太支持资源,因此即使上面列出的“工具”可能是多余的,也会提供它们。
bee://conversations:列出所有对话的摘要。bee://conversations/{id}:获取特定对话的完整细节。bee://facts:列出所有已确认事实的摘要。bee://facts/{id}:获取特定事实的完整细节。bee://todos:列出所有待办事项的摘要。bee://todos/incomplete:列出未完成待办事项的摘要。bee://todos/{id}:获取特定待办事项的完整细节。bee://locations:列出所有记录位置的摘要(按顺序组合)。bee://locations/today:列出过去24小时的位置。bee://locations/week:列出过去7天的地点。bee://locations/month:列出过去30天的地点。
交互示例

之后,手机上的Bee应用程序将提示以下事实:

调试
您可以使用MCP检查器工具(@modelcontextprotocol/inspector)与交互并调试 beemcp 服务器直接。
如果您使用安装 uv 并且正在与 uvx:
npx @modelcontextprotocol/inspector uvx beemcp如果您使用安装 pip:
npx @modelcontextprotocol/inspector python -m beemcp.beemcp如果您在项目目录中进行本地开发:
# Assuming you are in the root directory of the beemcp project
npx @modelcontextprotocol/inspector python -m beemcp.beemcp
# Or if using uv for development
npx @modelcontextprotocol/inspector uv run beemcp.beemcpLLM示例问题
试着问你的人工智能助手这样的问题来利用 beemcp:
- “我昨天谈了些什么?”
- “查阅与约翰关于该项目的对话。”
- “记住,我喜欢黑咖啡。”(->
record-user-fact) - “事实上,我在咖啡里放牛奶。”
update-user-fact) - “我的待办事项清单上有什么?”
- “显示我未完成的任务。”
- “在我的提醒中添加‘购买杂货’。”
- “将“发送报告”待办事项标记为已完成。”
- “上周末我去哪里了?”
- “我今天去了哪些地方?”
许可证
beemcp 根据 MIT许可证。您可以根据许可条款自由使用、修改和分发此软件。请参阅 LICENSE 文件(或标准MIT许可证文本)以获取详细信息。
