项目简介
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 工具,扩展服务器的功能。
安装步骤
- 克隆本项目的代码仓库到本地。
git clone https://github.com/Akrasia0/S-MCP.git cd S-MCP - 安装项目所需的依赖。本项目使用 Bun 作为运行时和包管理器。
bun install - 配置环境变量。复制 '.env.example' 文件并重命名为 '.env'。
cp .env.example .env - 编辑新创建的 '.env' 文件,填入您的 OpenAI API 密钥。这是 'msg_stern' 工具运行所必需的。
OPENAI_API_KEY=你的_openai_api_密钥_在这里 - 构建服务器代码。
构建成功后,可执行文件通常位于 'dist/main.js'。bun run build
服务器配置信息 (供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"': 对服务器的简要描述。
基本使用方法
- 按照安装步骤完成项目的设置、依赖安装、环境变量配置和代码构建。
- 在项目根目录下,使用以下命令启动 MCP 服务器(默认运行在stdio模式):
服务器启动后会等待 MCP 客户端通过标准输入/输出进行通信。bun run start - 使用一个兼容 MCP 协议的客户端(例如,使用 '@modelcontextprotocol/sdk' 开发的客户端)连接到此服务器。客户端需要使用上面提供的配置信息(特别是正确的 'command' 和 'args')来启动并连接到服务器进程。
- 客户端连接成功后,可以调用标准的 MCP 方法与服务器交互:
- 调用 'listTools' 方法来获取服务器提供的工具列表及其描述和输入规范。您应该会看到 'msg_stern' 工具。
- 调用 'callTool' 方法来执行某个工具。例如,调用 'msg_stern' 工具,并提供一个 JSON 对象作为参数,其中包含您的消息,如 '{"message": "我总是拖延怎么办?"}'。服务器将处理此请求,通过OpenAI生成斯腾的回复,并将结果以 MCP 响应格式返回给客户端。
信息
分类
AI与计算