使用说明

项目简介

Tlon MCP 服务器是一个实现了 Model Context Protocol (MCP) 的应用后端。它专为与 Urbit(一个去中心化个人服务器网络,Tlon 是其主要的生态系统之一)集成而设计。通过提供标准化的工具,它允许兼容 MCP 的大型语言模型 (LLM) 客户端与用户的 Urbit 船进行交互,执行发送消息、查看聊天记录等任务。

主要功能点

  • 发送私信 (send-dm tool): 允许通过 Urbit 船 ID 或联系人的昵称向其他 Urbit 用户发送直接消息。
  • 读取私信历史 (read-dm-history tool): 获取与特定 Urbit 船或联系人之间的最新私信历史记录。
  • 列出联系人 (list-contacts tool): 获取用户在 Urbit 上的联系人列表,包含船 ID 和昵称信息。
  • 自然语言支持: 支持使用联系人的昵称进行交互,提升用户体验。

安装步骤

该服务器是基于 Node.js 构建的,并且需要一个运行中的 Urbit 船才能工作。

  1. 环境准备: 确保你已安装 Node.js (v16+),并且你的 Urbit 船正在运行并可通过网络访问。
  2. 克隆仓库: 使用 Git 命令将服务器代码下载到你的本地计算机。
    git clone https://github.com/jamesacklin/tlon-mcp-server.git
  3. 进入项目目录: 进入刚刚克隆下来的仓库文件夹。
    cd tlon-mcp-server
  4. 安装依赖: 安装项目所需的所有 Node.js 依赖包。重要提示: 始终在终端中手动运行此命令,以避免安装过程的输出干扰 MCP 客户端。
    npm install

服务器配置

MCP 服务器的配置主要通过环境变量进行,这些变量在启动服务器进程之前设置。MCP 客户端(如 Claude Desktop)需要知道如何启动这个服务器进程。

MCP 客户端通常需要以下配置信息来启动一个外部 MCP 服务器:

  • 服务器名称 (server name): 给这个 MCP 服务器起一个方便识别的名字(例如: "tlon-mcp")。
  • 启动命令 (command): 指定一个可执行文件,通常是 '/bin/sh' (在 Linux/macOS 上) 或 'cmd.exe' (在 Windows 上),用来执行启动脚本。
  • 命令参数 (args): 提供给启动命令的参数。对于 '/bin/sh',通常使用 '"-c"' 选项,后跟一个包含切换到服务器目录并运行 Node.js 脚本的字符串,例如:'["-c", "cd /你的/服务器/安装路径 && node index.js"]'。你需要将 '/你的/服务器/安装路径' 替换为实际的项目目录路径。

服务器运行所需的 Urbit 连接信息和其他设置(如 MCP 传输方式和端口)则通过在启动命令前设置环境变量来提供,例如:

  • 'URBIT_SHIP': 你的 Urbit 船名 (不带 ~ 前缀)。
  • 'URBIT_CODE': 你的 Urbit +code (用于认证)。
  • 'URBIT_HOST': Urbit 船的主机地址 (例如: 'localhost' 或 IP 地址)。
  • 'URBIT_PORT': Urbit 船的端口 (例如: '8080')。
  • 'MCP_TRANSPORT': MCP 服务器使用的传输协议 ('stdio' 或 'http')。默认是 'stdio',通常适用于桌面客户端集成。
  • 'PORT': 如果 'MCP_TRANSPORT' 设置为 'http',指定服务器监听的端口。

例如,在 Linux/macOS 上通过环境变量启动(这部分不是客户端配置,是服务器端启动前的操作):

export URBIT_SHIP=your-ship-name
export URBIT_CODE=your-urbit-code
export URBIT_HOST=your-urbit-host
export URBIT_PORT=your-urbit-port
export MCP_TRANSPORT=stdio # 或 http
# 如果 MCP_TRANSPORT=http, 可能还需要 export PORT=your-port
npm start

然后在 MCP 客户端中配置对应的启动命令和参数,让客户端能够执行上述或类似的启动过程。

基本使用方法

一旦 MCP 服务器配置并启动,并且 MCP 客户端也已配置好连接到这个服务器,你就可以在 LLM 客户端中通过自然语言调用服务器提供的工具了。

例如,你可以尝试输入以下指令(具体如何与 LLM 交互取决于你的客户端):

  • 发送消息:
    给我朋友 Brian 发送一条消息,说我们明天下午三点见面。
  • 查看聊天历史:
    显示我与 ~sampel-palnet 的最近 20 条私信历史。
  • 列出联系人:
    我的联系人列表是什么?

LLM 客户端会将你的自然语言指令转化为对 MCP 服务器工具(如 'send-dm'、'read-dm-history'、'list-contacts')的结构化调用,服务器执行操作后将结果返回给客户端,再由客户端展示给你。

信息

分类

通信与社交