BeeMCP - A Bee MCP Server

BeeMCP - A Bee MCP Server

BeeMCP:一个非官方的模型上下文协议(MCP)服务器,它将你的 Bee 可穿戴设备生活记录器通过模型上下文协议连接到人工智能。

OkGoDoIt

研究与数据
访问服务器

README

BeeMCP - 一个 Bee MCP 服务器

PyPI version License: MIT

非官方模型上下文协议 (MCP) 服务器,用于与您的 Bee 可穿戴设备 的生活记录数据进行交互。更多上下文请参考我的博客

该服务器充当桥梁,允许大型语言模型 (LLM),如 Claude 或自定义 AI 代理,访问和交互存储在 Bee 中的您的个人数据,包括对话、事实、待办事项和位置历史记录。

**免责声明:**这是一个非官方项目,与 Bee 无关。使用风险自负。请确保您了解通过 API 密钥授予 AI 访问您的个人数据的安全隐患。

核心概念

Bee.computer 帮助您捕捉生活中的瞬间(对话、访问地点、笔记)。beemcp 通过模型上下文协议使这些数据可供您的 AI 助手使用。这意味着您可以向您的 AI 提出如下问题:

  • “上周我讨论了哪些重要的事情?”
  • “提醒我 Brad 的饮食偏好。”
  • “上周二下午我在哪里?”
  • “将‘预订机票’添加到我的提醒事项中。”

AI 可以使用 beemcp 安全地从您的 Bee.computer 帐户获取或修改这些信息。

Example Claude Desktop Chat

前提条件

  1. Python: 3.10 或更高版本。
  2. Bee.computer API 密钥: 您需要从您的 Bee 帐户设置中获取 API 密钥

安装

您可以使用 uv(推荐)或 pip 安装和运行 beemcp

使用 uv (推荐)

uv 是一个快速的 Python 包安装程序和解析器。如果您已经安装了 uv,则无需单独安装 beemcp。您可以使用 uvx 直接运行它:

# 直接运行的示例(需要配置 API 密钥,请参见下文)
uvx beemcp

使用 PIP

或者,您可以使用 pip 安装 beemcp

pip install beemcp

安装后,您可以将其作为 Python 模块运行:

python -m beemcp.beemcp

或者,如果在安装过程中正确地将入口点添加到系统的 PATH 中,您也许可以直接运行它:

beemcp

配置

1. API 密钥设置(必需)

beemcp 需要您的 Bee API 密钥才能运行。切勿公开分享此密钥或将其提交到版本控制。

Bee 开发者网站 获取您的 API 密钥。

如果在 Claude 或其他 MCP 客户端中运行,您可能会在客户端的配置中提供 BEE_API_TOKEN 环境变量。

如果直接从命令行运行,请在使用 .env 文件提供密钥,该文件位于运行 beemcp 服务器的目录中:

  1. 在您打算运行 beemcp 的同一目录中创建一个名为 .env 的文件。

  2. 将以下行添加到 .env 文件中,将 your_actual_bee_api_key_here 替换为您的真实密钥:

    BEE_API_TOKEN="your_actual_bee_api_key_here"
    

或者,您可以直接在您的系统或 shell 中设置 BEE_API_TOKEN 环境变量:

export BEE_API_TOKEN="your_actual_bee_api_key_here"
# 现在在同一个 shell 会话中运行服务器
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": "<YOUR API KEY HERE>"}
  }
}

<details> <summary>使用 pip 安装</summary>

"mcpServers": {
  "bee": {
    "command": "python",
    "args": ["-m", "beemcp.beemcp"],
    "env": {"BEE_API_TOKEN": "<YOUR API KEY HERE>"}
  }
}

</details>

如果您转到 Claude Desktop 中的 Settings 窗口并打开 Developer 选项卡,您应该会看到类似以下内容:

Example Claude Desktop Configuration

为 Zed 配置

将以下内容添加到您的 Zed settings.json

<details> <summary>使用 uvx (推荐)</summary>

"context_servers": [
  {
    "name": "beemcp",
    "command": "uvx",
    "args": ["beemcp"],
    "env": {"BEE_API_TOKEN": "<YOUR API KEY HERE>"}
  }
],

</details>

<details> <summary>使用 pip 安装</summary>

"context_servers": [
  {
    "name": "beemcp",
    "command": "python",
    "args": ["-m", "beemcp.beemcp"],
    "env": {"BEE_API_TOKEN": "<YOUR API KEY HERE>"}
  }
],

</details>

可用工具

以下是 LLM 可以从 beemcp 请求的操作。

对话

  • list-all-conversations
    • 描述: 列出用户进行的所有对话,包括简短摘要。使用此工具获取用户对话历史的概览以了解上下文。然后,您可以使用 get-conversation 工具获取特定对话的完整详细信息。
  • get-conversation
    • 描述: 通过 ID 获取对话的完整详细信息。当用户询问特定对话时,使用此工具检索特定对话详细信息。您可以使用 list-all-conversations 工具获取要查找的对话的 ID。
    • 参数:
      • id (整数): 对话的 ID。

事实

  • list-all-user-facts
    • 描述: 列出用户记录的所有事实。使用此工具获取用户记录的事实的概览以了解上下文。然后,您可以使用 get-user-fact 工具获取特定事实的完整详细信息。
  • get-user-fact
    • 描述: 通过 ID 获取事实的完整详细信息。当用户询问特定事实时,使用此工具检索特定事实详细信息。您可以使用 list-all-user-facts 工具获取要查找的事实的 ID。
    • 参数:
      • id (整数): 事实的 ID。
  • record-user-fact
    • 描述: 创建一个新事实。使用此工具记录有关用户、他们的偏好以及可能与回答其他问题相关的其他详细信息的新信息。
    • 参数:
      • text (字符串): 事实的内容。
  • update-user-fact
    • 描述: 更新现有事实。使用此工具更新有关用户、他们的偏好以及可能与回答其他问题相关的其他详细信息的信息。如果用户已明确确认该事实,则将 confirmed 设置为 true,否则,如果它只是从上下文中收集到的隐含事实,则将 confirmed 设置为 false。
    • 参数:
      • id (整数): 要更新的事实的 ID。
      • text (字符串): 事实的新内容。
      • confirmed (布尔值): 用户是否已确认此事实。
  • confirm-user-fact
    • 描述: 将事实标记为已确认。使用此工具根据用户反馈更新事实的确认状态。如果用户已明确确认该事实,则将 confirmed 设置为 true,否则,如果它只是从上下文中收集到的隐含事实,则将 confirmed 设置为 false。
    • 参数:
      • id (整数): 要确认/取消确认的事实的 ID。
      • confirmed (布尔值): 新的确认状态。
  • 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 (字符串,可选): 待办事项的新文本。
      • completed (布尔值,可选): 新的完成状态。
      • alarm_at (字符串,可选): 新的 ISO 8601 提醒时间。
  • delete-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_timeend_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 天内的位置。

示例交互

Example Claude Desktop Chat

Example extended chat

之后,您手机上的 Bee 应用程序将建议以下事实:

Example Bee app suggestion

调试

您可以使用 MCP 检查器工具 (@modelcontextprotocol/inspector) 直接与 beemcp 服务器交互并对其进行调试。

如果您使用 uv 安装并使用 uvx 运行:

npx @modelcontextprotocol/inspector uvx beemcp

如果您使用 pip 安装:

npx @modelcontextprotocol/inspector python -m beemcp.beemcp

如果您在项目目录中进行本地开发:

# 假设您位于 beemcp 项目的根目录中
npx @modelcontextprotocol/inspector python -m beemcp.beemcp
# 或者如果使用 uv 进行开发
npx @modelcontextprotocol/inspector uv run beemcp.beemcp

LLM 的示例问题

尝试向您的 AI 助手提出如下问题以利用 beemcp

  • “我昨天有哪些对话?”
  • “查找与 John 关于该项目的对话。”
  • “记住我喜欢喝黑咖啡。” (-> record-user-fact)
  • “实际上,我喝咖啡时会加牛奶。” (-> update-user-fact)
  • “我的待办事项清单上有什么?”
  • “显示我未完成的任务。”
  • “将‘购买杂货’添加到我的提醒事项中。”
  • “将‘发送报告’待办事项标记为已完成。”
  • “我上周末去了哪里?”
  • “我今天访问了哪些地方?”

许可证

beemcpMIT 许可证 下获得许可。您可以根据许可证的条款自由使用、修改和分发此软件。有关详细信息,请参见 LICENSE 文件(或标准 MIT 许可证文本)。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python