Hangsolow。OptiMcpServer
⚠️ 仅限开发工具,不用于生产 此套餐仅适用于 本地开发 反对一个 本地数据库。它通过HTTP公开未经身份验证的内容读/写操作。在生产或共享环境中运行它是一个严重的安全风险,强烈建议不要这样做。
一 MCP(模型上下文协议) 服务器库 优化CMS 12将其安装到本地Optimizely开发项目中,以将内容操作作为AI助手(Claude、Copilot等)可调用的工具公开。
它做什么
通过HTTP公开以下MCP工具(/mcp):
| 工具 | 说明 |
|---|---|
get_content | 按ID获取单个内容项 |
get_children | 列出内容节点的子节点(分页) |
get_ancestors | 获取内容项的面包屑层次结构 |
get_content_types | 列出所有已注册的内容类型及其属性 |
create_content | 创建新内容项(草稿) |
update_content | 更新现有内容项的属性 |
publish_content | 发布内容项 |
move_to_trash | 软删除内容项 |
resolve_url | 解析指向内容引用的友好URL |
两个引导式提示帮助AI助手构建正确的工具调用:
create_page--列出可用的页面类型并生成创建工作流create_block--列出可用的块类型并生成创建工作流
需求
- 优化CMS 12
- .NET 8或。净值10
- SQL Server-- 仅限本地开发数据库
安装
仅在您的 发展 项目配置(例如由 #if DEBUG 或环境检查)。切勿将其部署到临时或生产环境。dotnet add package Hangsolow.OptiMcpServer整合
Startup.cs (传统的Optimizely引导)
using OptiMcpServer;
public class Startup
{
private readonly IConfiguration _configuration;
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddCms()
.AddOptiMcpServer(_configuration);
}
public void Configure(IApplicationBuilder app)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
endpoints.MapMcp("/mcp"); // exposes /mcp
});
}
}AddOptiMcpServer 返回a IMcpServerBuilder,因此您可以链接其他工具组件:
services.AddCms()
.AddOptiMcpServer(_configuration)
.WithToolsFromAssembly(typeof(MyCustomTool).Assembly);appsettings.json
{
"ConnectionStrings": {
"EPiServerDB": "Server=.;Database=MyDb;Integrated Security=True;TrustServerCertificate=True"
},
"OptiMcpServer": {
"PageBaseClass": "EPiServer.Core.PageData",
"BlockBaseClass": "EPiServer.Core.BlockData"
}
}集 PageBaseClass 和 BlockBaseClass 您网站的抽象基本类型(例如。 MySite.Models.Pages.SitePageData)所以 create_page 和 create_block 仅提示与项目相关的表面内容类型。
MCP端点
运行后,MCP服务器可在以下位置使用:
http:///mcp使用配置您的AI客户端以连接到此URL 流式HTTP 运输。
许可证
该项目根据 MIT许可证 --看看 许可证 文件全文。
免责声明: 此套餐按“原样”提供,不提供任何形式的保修。使用它的风险由你自己承担。作者对在任何环境中使用(包括生产Optimizely CMS安装)所造成的任何损坏、数据丢失或其他问题不承担任何责任。
