项目简介

Deco MCP Server 是一个工具库,可以将使用 Deco 框架构建的网站快速转换为 MCP (Model Context Protocol) 服务器。转换后的网站能够以标准化的方式向 LLM (大型语言模型) 客户端提供上下文信息和功能,从而实现更强大的 LLM 应用集成。

主要功能点

  • 资源 (Resources) 托管和访问: Deco 网站本身可以被视为 LLM 应用的资源,MCP 服务器可以提供对网站数据的访问能力。(虽然文档没明确提及资源管理,但基于Deco网站的集成,可以推断能访问网站数据)
  • 工具 (Tools) 注册和执行: 自动将 Deco 网站的 Loaders 和 Actions 注册为 MCP 工具,允许 LLM 客户端调用这些工具来执行特定功能。
  • Prompt 模板 (Prompts) 支持: 虽然该仓库没有明确提及 Prompt 模板,但 Deco 框架本身支持组件化和数据获取,可以灵活地构建和渲染 Prompt,MCP 服务器可以作为 Prompt 模板的后端数据提供者。(推断能力)
  • 多种传输协议: 支持 WebSocket, SSE (Server-Sent Events), 和 HTTP 等多种传输协议,满足不同 LLM 客户端的连接需求。
  • 会话管理和能力声明: MCP 服务器负责管理客户端会话,并声明自身提供的工具能力。

安装步骤

  1. 确保已安装 Deno 运行时环境。 (参考 https://deno.land)

  2. 在你的 Deco 网站项目中,使用 Deno 添加 '@deco/mcp' 依赖:

    deno add @deco/mcp

服务器配置

MCP 客户端需要配置以下信息才能连接到 Deco MCP Server:

{
  "serverName": "DecoMCP",
  "command": "deno",
  "args": [
    "run",  // 运行命令
    "-A",   // 授予所有权限 (生产环境请根据需要调整权限)
    "main.ts", // 假设你的入口文件是 main.ts (根据你的项目调整)
    "--",   // 分隔 Deno 参数和应用参数
    "--port", // 应用参数:指定端口
    "8000"   // 默认端口为 8000,可通过环境变量 PORT 修改
  ]
}

配置说明:

  • '"serverName"': MCP 服务器的名称,可以自定义。
  • '"command"': 启动服务器的命令,这里使用 'deno'。
  • '"args"': 启动命令的参数列表:
    • '"run"': Deno 的运行子命令。
    • '"-A"': 重要: 为了简化配置,这里授予了 Deno 进程所有权限。在生产环境中,请务必根据实际需要配置最小权限,例如使用 '--allow-net', '--allow-read', '--allow-env' 等参数,并移除 '-A'。
    • '"main.ts"': 你的 Deco 网站项目的入口文件。如果你的入口文件不是 'main.ts',请替换为你的实际入口文件名。
    • '" -- "' : 分隔 Deno 运行时参数和你的应用程序参数。
    • '" --port "' : 传递给你的应用程序的端口参数。
    • '" 8000 "' : 指定服务器监听的端口号。默认使用 8000 端口。你可以通过设置环境变量 'PORT' 来修改端口号,例如在部署环境中设置 'PORT=3000'。

注意: 请根据你的实际项目结构和入口文件调整 '"args"' 中的参数。 特别是生产环境的权限配置,请务必谨慎设置。

基本使用方法

  1. 在你的 Deco 网站项目中集成 MCP Server 中间件。 参考 'README.md' 中提供的示例代码,根据你的项目类型 (使用模板或 Fresh 框架) 选择相应的集成方式。

  2. 启动 Deco 网站项目。 使用 'deno run -A main.ts' (或你配置的启动命令)。

  3. 配置 MCP 客户端连接到你的 Deco MCP Server。 客户端需要配置服务器地址 (例如 'http://localhost:8000/mcp/messages' 或 'ws://localhost:8000/mcp/ws') 和会话信息 (如果需要)。

  4. 使用 MCP 客户端发送请求,例如列出工具 (ListToolsRequest) 或调用工具 (CallToolRequest)。 客户端可以利用 MCP 协议定义的标准请求和响应格式与服务器进行交互。

集成了 Deco MCP Server 的网站将能够响应来自 LLM 客户端的 MCP 请求,提供网站数据和功能调用能力。

信息

分类

网页与API