项目简介
Poet 不仅是一个功能强大的静态网站生成器,还内置了 Model Context Protocol (MCP) 服务器。其核心目标是高效地将网站内容转化为 LLM(大型语言模型)可以理解的标准化上下文信息和功能。它致力于为技术文档、知识库等提供智能化的 LLM 交互支持,实现内容交互、LLM SEO 优化和 RAG(检索增强生成)等高级功能。
主要功能点
- 静态网站生成: 采用基于 Rust 的 Rhai 脚本语言和自定义 JSX-like 语法,从 Markdown 文件和 Rhai 模板中快速生成现代化、高性能的静态网站。
- 内置 MCP 服务器: 提供一个符合 MCP 标准的 JSON-RPC 服务器后端,负责与 LLM 客户端通信,管理会话,并声明服务器的能力。
- 会话管理: 支持 LLM 客户端的会话生命周期管理,包括创建、恢复和终止会话,确保交互的连续性和安全性。
- 能力声明: 服务器能够向连接的 LLM 客户端声明其支持的功能,例如未来可能提供的资源访问、工具调用和 Prompt 模板等。
- 多种传输协议支持: 目前支持 JSON-RPC over HTTP(POST 请求)进行标准方法调用,并为流式数据(如 Server-Sent Events)预留了支持(GET 请求)。
- 实时重载 (Watch 模式): 在开发模式下,当源文件(如 Markdown 内容、短代码)发生更改时,Poet 会自动重新构建项目,并支持通过 WebSocket 实现客户端页面的实时重载,极大提升开发效率。
- LLM 增强功能 (未来计划): 正在开发 LLM SEO 优化、从内容中直接暴露 MCP 服务、AI 内容分析(如真理来源指示、链接重塑、代码建议)以及 RAG(检索增强生成)功能。
安装步骤
- 安装 Rust: 确保您的系统已安装 Rust 编程语言及其 'nightly' 工具链。您可以访问 Rust 官方网站 (rust-lang.org) 获取详细的安装指南。
- 安装 Poet: 打开终端,运行以下 Cargo 命令进行安装:
cargo +nightly install poet
服务器配置
Poet MCP 服务器作为 HTTP 服务的一部分运行。MCP 客户端需要配置服务器的启动命令和参数才能建立连接。以下是一个示例 JSON 配置,展示了 MCP 客户端如何连接到 Poet MCP 服务器:
{ "server_name": "Poet MCP Server", // MCP 服务器的友好名称,例如“Poet 内容服务” "command": "poet", // 启动 Poet 应用的命令行工具 "args": [ // 传递给 Poet 命令的参数列表 "watch", // 告诉 Poet 启动监控模式,同时提供 Web 和 MCP 服务 "--addr", "127.0.0.1:8050", // MCP 服务器监听的 IP 地址和端口 "/path/to/your/poet/project" // 您的 Poet 项目的根目录路径,包含内容和短代码 ], "endpoint": "http://127.0.0.1:8050/mcp/streamable", // MCP 服务器的 JSON-RPC 通信端点 "protocol": "json-rpc-http" // MCP 客户端应使用的通信协议类型,这里是 JSON-RPC over HTTP }
重要提示: 请将上述配置中的 '"/path/to/your/poet/project"' 替换为您本地 Poet 项目的实际根目录路径。
基本使用方法
- 创建 Poet 项目:
如果您还没有 Poet 项目,可以使用其提供的模板快速启动一个。例如,创建一个文档网站项目:
git clone https://github.com/intentee/poet-template-docs my-docs-project cd my-docs-project - 启动 Poet 开发服务器(包含 MCP 服务):
在您的 Poet 项目根目录下,运行 'watch' 命令。这将同时启动一个本地 Web 服务器(用于预览静态网站)和内置的 MCP 服务器。
这里的 '.' 表示当前目录作为 Poet 项目的源目录。poet watch --addr 127.0.0.1:8050 . - LLM 客户端连接 MCP 服务器: 一旦 Poet 'watch' 服务器启动,您的 LLM 客户端就可以使用上述“服务器配置”信息连接到 'http://127.0.0.1:8050/mcp/streamable' 端点。客户端可以通过标准的 JSON-RPC 协议发送请求(如 'initialize'、'ping')与 Poet MCP 服务器通信,获取或管理与项目内容相关的上下文信息。
- 访问静态网站: 在浏览器中访问 'http://127.0.0.1:8050/' 即可预览您的静态网站。在 'watch' 模式下,对项目内容的修改将触发自动重建和页面刷新。
信息
分类
AI与计算