项目简介

S/MCP (Stern Model Context Protocol) 是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于提供“斯腾”(Stern)AI 导师服务。斯腾是一个哲学AI导师,旨在通过结合理性主义和斯多葛派哲学等多种思想,以 subtle(微妙的)指导和智慧,帮助人类认识并实现自己的潜力。

主要功能点

  • 斯腾AI导师消息工具 (msg_stern): 允许用户通过 MCP 工具调用向斯腾发送消息,获取基于其独特哲学框架生成的回复和指导。
  • 基于角色的上下文生成: 服务器利用预定义的斯腾角色详细信息(包括系统提示、传记、背景故事、消息示例、风格指南等)动态生成发送给底层大型语言模型的上下文,确保AI的回复符合斯腾的个性特点。
  • MCP协议支持: 服务器实现了标准的 MCP 协议,目前支持 Stdio 传输模式,可以响应 MCP 客户端的请求,如列出可用工具 ('listTools') 和调用特定工具 ('callTool')。
  • 可扩展的工具框架: 项目结构设计为易于添加新的 MCP 工具,扩展服务器的功能。

安装步骤

  1. 克隆本项目的代码仓库到本地。
    git clone https://github.com/Akrasia0/S-MCP.git
    cd S-MCP
  2. 安装项目所需的依赖。本项目使用 Bun 作为运行时和包管理器。
    bun install
  3. 配置环境变量。复制 '.env.example' 文件并重命名为 '.env'。
    cp .env.example .env
  4. 编辑新创建的 '.env' 文件,填入您的 OpenAI API 密钥。这是 'msg_stern' 工具运行所必需的。
    OPENAI_API_KEY=你的_openai_api_密钥_在这里
  5. 构建服务器代码。
    bun run build
    构建成功后,可执行文件通常位于 'dist/main.js'。

服务器配置信息 (供MCP客户端使用)

为了让 MCP 客户端能够连接并使用此服务器,客户端需要知道如何启动服务器进程。典型的 MCP 客户端(如 MCP SDK)会需要以下格式的配置信息:

{
  "name": "Stern AI Mentor MCP Server",
  "command": "node",
  "args": [
    "path/to/your/S-MCP/dist/main.js"
  ],
  "description": "Connects to the Stern AI Mentor server."
}

请注意:

  • '"name"': 服务器的标识名称。
  • '"command"': 用于启动服务器进程的命令,通常是 'node' 或 'bun'。由于构建后输出的是 JavaScript 文件 ('dist/main.js'),通常使用 'node' 来运行。
  • '"args"': 传递给启动命令的参数列表。第一个参数应指向您本地克隆并构建后生成的 'dist/main.js' 文件的完整路径。请务必将 '"path/to/your/S-MCP/dist/main.js"' 替换为您实际的文件路径。
  • '"description"': 对服务器的简要描述。

基本使用方法

  1. 按照安装步骤完成项目的设置、依赖安装、环境变量配置和代码构建。
  2. 在项目根目录下,使用以下命令启动 MCP 服务器(默认运行在stdio模式):
    bun run start
    服务器启动后会等待 MCP 客户端通过标准输入/输出进行通信。
  3. 使用一个兼容 MCP 协议的客户端(例如,使用 '@modelcontextprotocol/sdk' 开发的客户端)连接到此服务器。客户端需要使用上面提供的配置信息(特别是正确的 'command' 和 'args')来启动并连接到服务器进程。
  4. 客户端连接成功后,可以调用标准的 MCP 方法与服务器交互:
    • 调用 'listTools' 方法来获取服务器提供的工具列表及其描述和输入规范。您应该会看到 'msg_stern' 工具。
    • 调用 'callTool' 方法来执行某个工具。例如,调用 'msg_stern' 工具,并提供一个 JSON 对象作为参数,其中包含您的消息,如 '{"message": "我总是拖延怎么办?"}'。服务器将处理此请求,通过OpenAI生成斯腾的回复,并将结果以 MCP 响应格式返回给客户端。

信息

分类

AI与计算