文档搜索服务

一个用于搜索和检索Magnolia CMS官方文档的工具,提供结构化搜索结果,适用于AI助手和语言模型。

  • by danielnaranjo
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 danielnaranjo/magnolia-docs-mcp

使用说明

Magnolia CMS文档MCP服务器(非官方)

MCP(模型上下文协议)服务器,提供从官方Magnolia CMS文档中搜索和检索信息的工具。

概述

此MCP服务器允许AI助手和语言模型直接搜索Magnolia CMS文档,从而更容易获得有关Magnolia CMS功能、配置和最佳实践的准确和最新信息。

特性

  • 文档搜索:搜索Magnolia CMS官方文档
  • 结构化结果:返回带有标题、URL和片段的格式化搜索结果
  • MCP兼容:适用于任何兼容MCP的客户端或AI助手

安装

  1. 克隆或下载此存储库
  2. 安装依赖项:
npm install

用法

作为独立的MCP服务器

此服务器设计为使用stdio传输作为MCP服务器运行。您可以直接进行测试:

node src/main.js

与MCP兼容的客户端

要将此服务器与MCP兼容的客户端(如Claude Desktop、Continue或其他AI助手)一起使用,您需要配置客户端以连接到此服务器。

Claude桌面配置示例

将以下内容添加到MCP配置文件中(通常 ~/.config/claude-desktop/mcp.json 或类似):

{
  "mcpServers": {
    "magnolia-docs": {
      "command": "node",
      "args": ["/path/to/your/project/src/main.js"],
      "cwd": "/path/to/your/project"
    }
  }
}

其他MCP客户端的示例配置

该服务器可以在任何兼容的客户端中配置为基于stdio的MCP服务器。有关具体的配置说明,请参阅客户的文档。

可用工具

search_magnolia_docs

在Magnolia CMS官方文档中搜索给定的查询。

参数:

  • query (字符串,必填):搜索词或短语

退货:

  • 包含以下内容的搜索结果数组:
    • title:文件页的标题
    • url:文档页面的URL
    • snippet:该页的简短摘录

示例用法:

{
  "name": "search_magnolia_docs",
  "arguments": {
    "query": "content types configuration"
  }
}

项目结构

magnolia-docs-mcp/
├── src/main.js          # Main MCP server implementation
├── package.json      # Project dependencies and metadata
└── README.md         # This file

依赖项

  • @modelcontextprotocol/sdk:用于构建MCP服务器的MCP SDK
  • cheerio:用于提取搜索结果的HTML解析
  • node-fetch:用于向文档站点发出请求的HTTP客户端

发展

修改搜索行为

搜索功能在 search_magnolia_docs 工具处理程序 main.js。您可以修改:

  • 搜索URL构造
  • HTML解析选择器(当前使用 .search-result, .title, .snippet)
  • 返回的结果数量(目前限制为5个)
  • 结果格式化

添加新工具

要添加新工具,请执行以下操作:

  1. 将工具定义添加到 ListToolsRequestSchema 处理器
  2. 将工具实现添加到 CallToolRequestSchema 处理器
  3. 使用新的工具文档更新此README

测试

您可以通过直接运行服务器并通过stdio发送MCP请求来测试服务器:

node src/main.js

然后根据MCP规范发送JSON-RPC请求。

错误处理

服务器包括以下错误处理:

  • 访问文档站点时出现网络故障
  • HTML分析错误
  • 无效的工具请求

错误以MCP错误响应的形式返回,并带有描述性消息。

许可证

麻省理工学院

作者

丹尼尔·纳兰霍

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 测试您的更改
  5. 提交拉取请求

故障排除

常见问题

  1. “找不到模块”错误:确保你跑过了 npm install 安装依赖项
  2. 连接问题:验证Magnolia CMS文档网站是否可访问
  3. 没有搜索结果:如果文档站点结构发生变化,HTML选择器可能需要更新

调试

通过修改中的错误处理程序启用详细日志记录 main.js 以包括更详细的错误信息。

路线图

  • []添加对不同文档部分的支持
  • []实现缓存以获得更好的性能
  • []添加搜索参数的配置选项
  • []支持多个文档版本
  • []增强的结果过滤和排名

相关资源