项目简介

RoastMyPost是一个AI驱动的文档评估平台,能够为书面内容提供智能分析、批判性反馈和深入见解。其核心功能之一是包含一个Model Context Protocol (MCP) 服务器。该MCP服务器专门为像Claude Code这样的LLM客户端提供标准化的上下文信息、数据访问和功能调用能力,从而实现LLM应用与RoastMyPost平台深度集成,进行高效的AI服务调用。

主要功能点

  • 资源托管与数据访问: 管理文档(Documents)、评估(Evaluations)和后台任务(Jobs)等核心资源,为LLM客户端提供对这些数据的读写访问能力。
  • AI工具与代理执行: 注册并执行多种AI代理(如拼写语法检查、事实核查、数学验证、预测分析、链接分析等),允许LLM通过工具调用进行文档内容分析。
  • Prompt模板支持: 支持定义和渲染可定制的Prompt模板,以优化LLM与AI代理的交互模式。
  • 会话管理与能力声明: 处理与LLM客户端的会话,并声明MCP服务器可提供的功能和可用工具。
  • 异步任务处理: 支持文档评估的异步任务队列,具备自动重试逻辑、指数退避机制及详细的成本追踪功能。
  • 数据库快速访问: 针对LLM客户端提供快速、无脚本的数据库操作能力,简化数据层交互。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/quantified-uncertainty/roast-my-post.git
    cd roast-my-post
  2. 安装依赖:
    pnpm install
  3. 配置环境变量: 复制示例环境变量文件:
    cp .env.example .env
    编辑 '.env' 文件,填入您的配置信息。至少需要:
    • 'DATABASE_URL': PostgreSQL数据库连接字符串。
    • 'NEXTAUTH_URL': 应用程序URL,本地开发通常是 'http://localhost:3000'。
    • 'AUTH_SECRET': 用于NextAuth.js的随机安全字符串。
    • 'ANTHROPIC_API_KEY': Anthropic Claude API密钥。
    • 'OPENROUTER_API_KEY': OpenRouter API密钥(如果使用)。
    • 'AUTH_RESEND_KEY': Resend API密钥(可选,用于邮件认证)。
  4. 设置数据库及系统代理: 运行以下命令以推送数据库Schema并同步系统内置的AI代理(例如拼写语法检查、事实核查等):
    pnpm run db:setup
  5. 启动开发服务器: 运行此命令启动Web应用程序,您可以在浏览器中访问 'http://localhost:3000'。
    pnpm run dev

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

RoastMyPost项目包含的MCP服务器设计用于通过命令行启动,并暴露其服务。为了让MCP客户端(如Claude Code)连接到此服务器,您需要配置客户端指向MCP服务器的启动命令。

以下是MCP客户端配置的JSON格式示例(请根据您的实际环境调整 'workingDirectory'):

{
  "serverName": "RoastMyPost MCP Server",
  "description": "提供文档分析、AI评估及数据访问的MCP服务器",
  "command": "pnpm",
  "args": [
    "run",
    "--filter",
    "@roast/mcp-server",
    "start"
  ],
  "workingDirectory": "/path/to/your/roast-my-post/repository",
  "transport": "stdio"
}
  • 'serverName': MCP服务器在客户端界面显示的名称。
  • 'description': 服务器功能的简要描述,帮助用户了解其用途。
  • 'command': 启动MCP服务器进程的命令,例如使用 'pnpm'。
  • 'args': 传递给 'command' 的参数列表,用于指定启动MCP服务器模块。'["run", "--filter", "@roast/mcp-server", "start"]' 表示在monorepo中运行 '@roast/mcp-server' 包的 'start' 脚本。
  • 'workingDirectory': 重要: 您的 'roast-my-post' 仓库的根目录的绝对路径。MCP客户端将在此目录执行 'command'。
  • 'transport': 客户端与MCP服务器通信的传输协议,例如 'stdio' (标准输入输出)。

注意: 请查阅您本地仓库中的 '/apps/mcp-server/README.md' 文件,以获取MCP服务器更详细的启动命令和配置信息。

基本使用方法

  1. 启动MCP服务器: 在您的 'roast-my-post' 仓库根目录,根据上述配置信息启动MCP服务器(例如运行 'pnpm --filter @roast/mcp-server run start')。
  2. 通过MCP客户端连接: 在支持MCP协议的LLM客户端(如Claude Code)中,使用您生成的JSON配置信息连接到RoastMyPost MCP服务器。
  3. LLM交互: LLM客户端现在可以通过JSON-RPC协议调用MCP服务器暴露的“资源”(如读取文档、查询评估结果)和“工具”(如触发AI代理进行文档分析、调用拼写检查工具)。LLM可以利用这些能力获取上下文信息、执行特定任务,从而增强其文档理解和交互能力。

信息

分类

AI与计算