Expression Engine MCP服务器
这是一个模型上下文协议(MCP)服务器,用于通过Reinos Web服务API与ExpressionEngine站点进行交互。它允许像Claude这样的人工智能助手管理ExpressionEngine内容。
特性
- 连接到单个ExpressionEngine站点 通过Reinos网络服务。
- 搜索、查看、创建和更新条目.
- 安全认证 使用快捷键。
- 优雅的错误处理 用于常见的服务器问题,如内存限制和“无结果”响应。
- 详细日志记录 对于所有操作。
需求
- Python 3.9或更高版本
- 活动的ExpressionEngine安装
- 这 雷诺斯网络服务 ExpressionEngine插件
安装
- 克隆此存储库:
git clone https://github.com/tymrtn/mcp-ee.git
cd ee-mcp- 创建虚拟环境并安装依赖项:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .- 通过复制示例环境文件来设置配置:
cp env.example .env然后,编辑 .env 文件中包含您的ExpressionEngine网站详细信息。
配置
MCP服务器使用简单的 .env 文件:
# ExpressionEngine site API URL (e.g., https://your-site.com)
API_URL=https://your-site.com
# ExpressionEngine shortkey for Reinos Webservice authentication
SHORTKEY=your-shortkey-here每个MCP服务器实例都连接到一个ExpressionEngine站点。要管理多个站点,您可以运行多个MCP服务器实例,每个实例都有自己的 .env 配置。
可用工具: manage_content
MCP服务器提供单个工具, manage_content,支持以下条目管理操作:
search_entries:使用各种过滤器搜索条目。get_entry:通过ID获取特定条目。create_entry:创建新条目。update_entry:更新现有条目。
参数
这 params argument是一个包含动作数据的字典。关键参数包括:
site_id:站点的ID(通常1).channel_name:频道的短名称(例如。,blog,news).entry_id:要获取或更新的条目的ID。title:条目的标题。status:条目的状态(例如。,open,closed,Draft).- 其他自定义字段名称(例如。,
body,summary,title2).
示例用法
以下是一些如何使用 manage_content 工具:
搜索条目
# Search for the 5 most recent entries in the 'home' channel
manage_content(
action="search_entries",
params={
"site_id": 1,
"channel_name": "home",
"title": "starting",
"limit": 5
}
)获取特定条目
manage_content(
action="get_entry",
params={
"entry_id": 655,
"site_id": 1
}
)创建新条目
manage_content(
action="create_entry",
params={
"site_id": 1,
"channel_name": "home",
"title": "New Blog Post via MCP",
"status": "open",
"summary": "This is a summary.",
"body": "This is the main body content of the post."
}
)更新现有条目
manage_content(
action="update_entry",
params={
"entry_id": 655,
"site_id": 1,
"title": "Updated Title for an Existing Entry",
"status": "Draft"
}
)错误处理
该服务器设计用于优雅地处理常见的API和服务器错误:
- 记忆力衰退:如果搜索查询过于宽泛并耗尽服务器内存,服务器将返回一条有用的错误消息,其中包含如何缩小搜索范围的建议。
- 没有结果:如果搜索没有结果,服务器会提供一条明确的消息,其中包含修改搜索条件的提示。
- 无效参数:服务器验证以下操作所需的参数
create_entry如果缺失,则返回特定的错误消息。
许可证
此项目根据MIT许可证获得许可-请参阅 LICENSE 文件以获取详细信息。
