Magnolia CMS文档MCP服务器(非官方)
MCP(模型上下文协议)服务器,提供从官方Magnolia CMS文档中搜索和检索信息的工具。
概述
此MCP服务器允许AI助手和语言模型直接搜索Magnolia CMS文档,从而更容易获得有关Magnolia CMS功能、配置和最佳实践的准确和最新信息。
特性
- 文档搜索:搜索Magnolia CMS官方文档
- 结构化结果:返回带有标题、URL和片段的格式化搜索结果
- MCP兼容:适用于任何兼容MCP的客户端或AI助手
安装
- 克隆或下载此存储库
- 安装依赖项:
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 SDKcheerio:用于提取搜索结果的HTML解析node-fetch:用于向文档站点发出请求的HTTP客户端
发展
修改搜索行为
搜索功能在 search_magnolia_docs 工具处理程序 main.js。您可以修改:
- 搜索URL构造
- HTML解析选择器(当前使用
.search-result,.title,.snippet) - 返回的结果数量(目前限制为5个)
- 结果格式化
添加新工具
要添加新工具,请执行以下操作:
- 将工具定义添加到
ListToolsRequestSchema处理器 - 将工具实现添加到
CallToolRequestSchema处理器 - 使用新的工具文档更新此README
测试
您可以通过直接运行服务器并通过stdio发送MCP请求来测试服务器:
node src/main.js然后根据MCP规范发送JSON-RPC请求。
错误处理
服务器包括以下错误处理:
- 访问文档站点时出现网络故障
- HTML分析错误
- 无效的工具请求
错误以MCP错误响应的形式返回,并带有描述性消息。
许可证
麻省理工学院
作者
丹尼尔·纳兰霍
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 测试您的更改
- 提交拉取请求
故障排除
常见问题
- “找不到模块”错误:确保你跑过了
npm install安装依赖项 - 连接问题:验证Magnolia CMS文档网站是否可访问
- 没有搜索结果:如果文档站点结构发生变化,HTML选择器可能需要更新
调试
通过修改中的错误处理程序启用详细日志记录 main.js 以包括更详细的错误信息。
路线图
- \[\]添加对不同文档部分的支持
- \[\]实现缓存以获得更好的性能
- \[\]添加搜索参数的配置选项
- \[\]支持多个文档版本
- \[\]增强的结果过滤和排名
